{
    "name": "junipermist",
    "displayName": "Juniper Mist",
    "description": "A Pulumi package for creating and managing Juniper Mist resources.",
    "keywords": [
        "pulumi",
        "juniper",
        "mist",
        "category/cloud"
    ],
    "homepage": "https://pulumi.com",
    "license": "Apache-2.0",
    "attribution": "This Pulumi package is based on the [`mist` Terraform Provider](https://github.com/Juniper/terraform-provider-mist).",
    "repository": "https://github.com/pulumi/pulumi-junipermist",
    "logoUrl": "https://raw.githubusercontent.com/pulumi/pulumi-junipermist/main/res/juniper.png",
    "pluginDownloadURL": "github://api.github.com/pulumi/pulumi-junipermist",
    "meta": {
        "moduleFormat": "(.*)(?:/[^/]*)"
    },
    "language": {
        "csharp": {
            "packageReferences": {
                "Pulumi": "3.*"
            },
            "namespaces": {
                "junipermist": "JuniperMist"
            },
            "compatibility": "tfbridge20",
            "rootNamespace": "Pulumi",
            "respectSchemaVersion": true
        },
        "go": {
            "importBasePath": "github.com/pulumi/pulumi-junipermist/sdk/go/junipermist",
            "generateResourceContainerTypes": true,
            "generateExtraInputTypes": true,
            "respectSchemaVersion": true
        },
        "nodejs": {
            "packageName": "@pulumi/juniper-mist",
            "packageDescription": "A Pulumi package for creating and managing Juniper Mist resources.",
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/Juniper/terraform-provider-mist)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-junipermist` repo](https://github.com/pulumi/pulumi-junipermist/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-mist` repo](https://github.com/Juniper/terraform-provider-mist/issues).",
            "devDependencies": {
                "@types/mime": "^2.0.0",
                "@types/node": "^10.0.0"
            },
            "compatibility": "tfbridge20",
            "disableUnionOutputTypes": true,
            "respectSchemaVersion": true
        },
        "python": {
            "packageName": "pulumi_juniper_mist",
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/Juniper/terraform-provider-mist)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-junipermist` repo](https://github.com/pulumi/pulumi-junipermist/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-mist` repo](https://github.com/Juniper/terraform-provider-mist/issues).",
            "compatibility": "tfbridge20",
            "respectSchemaVersion": true,
            "pyproject": {
                "enabled": true
            }
        }
    },
    "config": {
        "variables": {
            "apiDebug": {
                "type": "boolean",
                "description": "Enable API request/response debugging. When enabled, request and response bodies, headers, and other sensitive data may be logged. Can also be set via the `MIST_API_DEBUG` environment variable. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
            },
            "apiTimeout": {
                "type": "number",
                "description": "Timeout in seconds for API requests. Set to 0 for infinite timeout. Can also be set via the `MIST_API_TIMEOUT` environment variable. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\" pulumi-lang-hcl=\"`10`\"\u003e`10`\u003c/span\u003e seconds."
            },
            "apitoken": {
                "type": "string",
                "description": "Mist API Token for authentication. Can also be set via the `MIST_APITOKEN` environment variable. This is the recommended authentication method.",
                "secret": true
            },
            "host": {
                "type": "string",
                "description": "URL of the Mist Cloud (e.g., `api.mist.com`). Can also be set via the `MIST_HOST` environment variable."
            },
            "password": {
                "type": "string",
                "description": "Mist Account password for basic authentication. Can also be set via the `MIST_PASSWORD` environment variable. Requires \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\" pulumi-lang-hcl=\"`username`\"\u003e`username`\u003c/span\u003e to be set.",
                "secret": true
            },
            "proxy": {
                "type": "string",
                "description": "Proxy configuration for API requests. The value may be either a complete URL or `[username:password@]host[:port]` format. Supported schemes: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\" pulumi-lang-hcl=\"`https`\"\u003e`https`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`socks5`\" pulumi-lang-dotnet=\"`Socks5`\" pulumi-lang-go=\"`socks5`\" pulumi-lang-python=\"`socks5`\" pulumi-lang-yaml=\"`socks5`\" pulumi-lang-java=\"`socks5`\" pulumi-lang-hcl=\"`socks5`\"\u003e`socks5`\u003c/span\u003e. If no scheme is provided, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e is assumed. Can also be set via the `MIST_PROXY` environment variable."
            },
            "username": {
                "type": "string",
                "description": "Mist Account username for basic authentication. Can also be set via the `MIST_USERNAME` environment variable. Requires \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e to be set and 2FA to be disabled."
            }
        }
    },
    "types": {
        "junipermist:device/ApAeroscout:ApAeroscout": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable aeroscout config\n"
                },
                "host": {
                    "type": "string",
                    "description": "Required if enabled, aeroscout server host\n"
                },
                "locateConnected": {
                    "type": "boolean",
                    "description": "Whether to enable the feature to allow wireless clients data received and sent to AES server for location calculation\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Optional if enabled, Aeroscout server port. Defaults to 1144\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "host",
                        "locateConnected",
                        "port"
                    ]
                }
            }
        },
        "junipermist:device/ApAirista:ApAirista": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable Airista config\n"
                },
                "host": {
                    "type": "string",
                    "description": "Required if enabled, Airista server host\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Optional if enabled, Airista server port. Defaults to 1144\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/ApBleConfig:ApBleConfig": {
            "properties": {
                "beaconEnabled": {
                    "type": "boolean",
                    "description": "Whether Mist beacons is enabled\n"
                },
                "beaconRate": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`beaconRateMode`\" pulumi-lang-dotnet=\"`BeaconRateMode`\" pulumi-lang-go=\"`beaconRateMode`\" pulumi-lang-python=\"`beacon_rate_mode`\" pulumi-lang-yaml=\"`beaconRateMode`\" pulumi-lang-java=\"`beaconRateMode`\" pulumi-lang-hcl=\"`beacon_rate_mode`\"\u003e`beaconRateMode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, 1-10, in number-beacons-per-second\n"
                },
                "beaconRateMode": {
                    "type": "string",
                    "description": "Beacon rate mode for Mist BLE beacons; use custom to set beacon_rate\n"
                },
                "beamDisableds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "AP BLE beam numbers disabled for location advertisements\n"
                },
                "customBlePacketEnabled": {
                    "type": "boolean",
                    "description": "Can be enabled if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to send custom packet\n"
                },
                "customBlePacketFrame": {
                    "type": "string",
                    "description": "The custom frame to be sent out in this beacon. The frame must be a hexstring\n"
                },
                "customBlePacketFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emitted by custom ble beacon\n"
                },
                "eddystoneUidAdvPower": {
                    "type": "integer",
                    "description": "Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default\n"
                },
                "eddystoneUidBeams": {
                    "type": "string",
                    "description": "BLE beams used to transmit Eddystone-UID advertisements, expressed as ranges such as `2-4,7`\n"
                },
                "eddystoneUidEnabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, Whether Eddystone-UID beacon is enabled\n"
                },
                "eddystoneUidFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emit by Eddystone-UID beacon\n"
                },
                "eddystoneUidInstance": {
                    "type": "string",
                    "description": "Eddystone-UID instance for the device\n"
                },
                "eddystoneUidNamespace": {
                    "type": "string",
                    "description": "Eddystone-UID namespace broadcast by the AP, as a 10-byte hex string\n"
                },
                "eddystoneUrlAdvPower": {
                    "type": "integer",
                    "description": "Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default\n"
                },
                "eddystoneUrlBeams": {
                    "type": "string",
                    "description": "BLE beams used to transmit Eddystone-URL advertisements, expressed as ranges such as `2-4,7`\n"
                },
                "eddystoneUrlEnabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, Whether Eddystone-URL beacon is enabled\n"
                },
                "eddystoneUrlFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emitted by Eddystone-URL beacon\n"
                },
                "eddystoneUrlUrl": {
                    "type": "string",
                    "description": "URL pointed by Eddystone-URL beacon\n"
                },
                "ibeaconAdvPower": {
                    "type": "integer",
                    "description": "Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default\n"
                },
                "ibeaconBeams": {
                    "type": "string",
                    "description": "BLE beams used to transmit iBeacon advertisements, expressed as ranges such as `2-4,7`\n"
                },
                "ibeaconEnabled": {
                    "type": "boolean",
                    "description": "Can be enabled if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to send iBeacon\n"
                },
                "ibeaconFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emit for iBeacon\n"
                },
                "ibeaconMajor": {
                    "type": "integer",
                    "description": "iBeacon major value broadcast by the AP\n"
                },
                "ibeaconMinor": {
                    "type": "integer",
                    "description": "iBeacon minor value broadcast by the AP\n"
                },
                "ibeaconUuid": {
                    "type": "string",
                    "description": "Optional, if not specified, the same UUID as the beacon will be used\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`powerMode`\" pulumi-lang-dotnet=\"`PowerMode`\" pulumi-lang-go=\"`powerMode`\" pulumi-lang-python=\"`power_mode`\" pulumi-lang-yaml=\"`powerMode`\" pulumi-lang-java=\"`powerMode`\" pulumi-lang-hcl=\"`power_mode`\"\u003e`powerMode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e; else use \u003cspan pulumi-lang-nodejs=\"`powerMode`\" pulumi-lang-dotnet=\"`PowerMode`\" pulumi-lang-go=\"`powerMode`\" pulumi-lang-python=\"`power_mode`\" pulumi-lang-yaml=\"`powerMode`\" pulumi-lang-java=\"`powerMode`\" pulumi-lang-hcl=\"`power_mode`\"\u003e`powerMode`\u003c/span\u003e as default\n"
                },
                "powerMode": {
                    "type": "string",
                    "description": "Transmit power mode for BLE beacons; use custom to set \u003cspan pulumi-lang-nodejs=\"`power`\" pulumi-lang-dotnet=\"`Power`\" pulumi-lang-go=\"`power`\" pulumi-lang-python=\"`power`\" pulumi-lang-yaml=\"`power`\" pulumi-lang-java=\"`power`\" pulumi-lang-hcl=\"`power`\"\u003e`power`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "beaconEnabled"
                    ]
                }
            }
        },
        "junipermist:device/ApCentrak:ApCentrak": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable Centrak config\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/ApClientBridge:ApClientBridge": {
            "properties": {
                "auth": {
                    "$ref": "#/types/junipermist:device/ApClientBridgeAuth:ApClientBridgeAuth",
                    "description": "Credentials and security mode used when the AP connects as a wireless client bridge\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When acted as client bridge:\n  * only 5G radio can be used\n  * will not serve as AP on any radios\n"
                },
                "ssid": {
                    "type": "string",
                    "description": "Uplink SSID used by the AP when client bridge mode is enabled\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/ApClientBridgeAuth:ApClientBridgeAuth": {
            "properties": {
                "psk": {
                    "type": "string",
                    "description": "Pre-shared key used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e for client bridge authentication\n",
                    "secret": true
                },
                "type": {
                    "type": "string",
                    "description": "Authentication mode for the client bridge connection\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type"
                    ]
                }
            }
        },
        "junipermist:device/ApEslConfig:ApEslConfig": {
            "properties": {
                "cacert": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "usb_config is ignored if\u003cspan pulumi-lang-nodejs=\" eslConfig \" pulumi-lang-dotnet=\" EslConfig \" pulumi-lang-go=\" eslConfig \" pulumi-lang-python=\" esl_config \" pulumi-lang-yaml=\" eslConfig \" pulumi-lang-java=\" eslConfig \" pulumi-lang-hcl=\" esl_config \"\u003e eslConfig \u003c/span\u003eenabled\n"
                },
                "host": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "ESL integration type to enable on the AP\n"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`solum`\" pulumi-lang-dotnet=\"`Solum`\" pulumi-lang-go=\"`solum`\" pulumi-lang-python=\"`solum`\" pulumi-lang-yaml=\"`solum`\" pulumi-lang-java=\"`solum`\" pulumi-lang-hcl=\"`solum`\"\u003e`solum`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hanshow`\" pulumi-lang-dotnet=\"`Hanshow`\" pulumi-lang-go=\"`hanshow`\" pulumi-lang-python=\"`hanshow`\" pulumi-lang-yaml=\"`hanshow`\" pulumi-lang-java=\"`hanshow`\" pulumi-lang-hcl=\"`hanshow`\"\u003e`hanshow`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "host",
                        "type",
                        "vlanId"
                    ]
                }
            }
        },
        "junipermist:device/ApIpConfig:ApIpConfig": {
            "properties": {
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. DNS server IP addresses for AP management traffic\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. DNS search suffixes applied to AP management lookups\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. IPv4 default gateway for AP management traffic\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. IPv6 default gateway for AP management traffic when static IPv6 addressing is used\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. Static IPv4 address for the AP management interface\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. Static IPv6 address for the AP management interface\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Maximum transmission unit for AP management traffic\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. IPv4 netmask for the AP management interface\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. IPv6 prefix length for the AP management interface\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for AP management traffic\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for AP management traffic\n"
                },
                "vlanId": {
                    "type": "integer",
                    "description": "Management VLAN ID, default is 1 (untagged)\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "mtu",
                        "type"
                    ]
                }
            }
        },
        "junipermist:device/ApLacpConfig:ApLacpConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable LACP on supported AP Ethernet uplinks\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/ApLed:ApLed": {
            "properties": {
                "brightness": {
                    "type": "integer",
                    "description": "Indicator LED brightness level from 0 to 255\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the AP indicator LED is enabled\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "brightness",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/ApMesh:ApMesh": {
            "properties": {
                "bands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Radio bands allowed for AP mesh links\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether mesh is enabled on this AP\n"
                },
                "group": {
                    "type": "integer",
                    "description": "Mesh group, base AP(s) will only allow remote AP(s) in the same mesh group to join, 1-9, optional\n"
                },
                "role": {
                    "type": "string",
                    "description": "Mesh role for this AP, either base or remote\n"
                },
                "useWpa3On5": {
                    "type": "boolean",
                    "description": "Whether to use WPA3 on the 5 GHz band for mesh links\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/ApMqttConfig:ApMqttConfig": {
            "properties": {
                "brokerHost": {
                    "type": "string",
                    "description": "MQTT broker hostname or IP address; required when \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\" pulumi-lang-hcl=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "brokerPort": {
                    "type": "integer",
                    "description": "MQTT broker port; defaults to \u003cspan pulumi-lang-nodejs=\"`1883`\" pulumi-lang-dotnet=\"`1883`\" pulumi-lang-go=\"`1883`\" pulumi-lang-python=\"`1883`\" pulumi-lang-yaml=\"`1883`\" pulumi-lang-java=\"`1883`\" pulumi-lang-hcl=\"`1883`\"\u003e`1883`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`8883`\" pulumi-lang-dotnet=\"`8883`\" pulumi-lang-go=\"`8883`\" pulumi-lang-python=\"`8883`\" pulumi-lang-yaml=\"`8883`\" pulumi-lang-java=\"`8883`\" pulumi-lang-hcl=\"`8883`\"\u003e`8883`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\" pulumi-lang-hcl=\"`ssl`\"\u003e`ssl`\u003c/span\u003e\n"
                },
                "brokerProto": {
                    "type": "string",
                    "description": "MQTT broker transport protocol\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable MQTT publishing\n"
                },
                "format": {
                    "type": "string",
                    "description": "Payload format for published messages\n"
                },
                "password": {
                    "type": "string",
                    "description": "Optional MQTT password; masked in GET responses\n",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "Optional MQTT username\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/ApPortConfig:ApPortConfig": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Whether this AP Ethernet port is disabled\n"
                },
                "dynamicVlan": {
                    "$ref": "#/types/junipermist:device/ApPortConfigDynamicVlan:ApPortConfigDynamicVlan",
                    "description": "RADIUS-assigned VLAN settings for AP port authentication\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Whether MAC authentication is enabled on this AP port\n"
                },
                "forwarding": {
                    "type": "string",
                    "description": "Traffic forwarding mode for this AP Ethernet port\n"
                },
                "macAuthPreferred": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, we'll do dot1x then mac_auth. enable this to prefer mac_auth\n"
                },
                "macAuthProtocol": {
                    "type": "string",
                    "description": "Protocol used for MAC authentication when \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:device/ApPortConfigMistNac:ApPortConfigMistNac",
                    "description": "Juniper Mist NAC settings used by AP port authentication\n"
                },
                "mxTunnelId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\" vlanIds \" pulumi-lang-dotnet=\" VlanIds \" pulumi-lang-go=\" vlanIds \" pulumi-lang-python=\" vlan_ids \" pulumi-lang-yaml=\" vlanIds \" pulumi-lang-java=\" vlanIds \" pulumi-lang-hcl=\" vlan_ids \"\u003e vlanIds \u003c/span\u003ecomes from mxtunnel\n"
                },
                "mxtunnelName": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\" vlanIds \" pulumi-lang-dotnet=\" VlanIds \" pulumi-lang-go=\" vlanIds \" pulumi-lang-python=\" vlan_ids \" pulumi-lang-yaml=\" vlanIds \" pulumi-lang-java=\" vlanIds \" pulumi-lang-hcl=\" vlan_ids \"\u003e vlanIds \u003c/span\u003ecomes from\u003cspan pulumi-lang-nodejs=\" siteMxedge \" pulumi-lang-dotnet=\" SiteMxedge \" pulumi-lang-go=\" siteMxedge \" pulumi-lang-python=\" site_mxedge \" pulumi-lang-yaml=\" siteMxedge \" pulumi-lang-java=\" siteMxedge \" pulumi-lang-hcl=\" site_mxedge \"\u003e siteMxedge \u003c/span\u003e(\u003cspan pulumi-lang-nodejs=\"`mxtunnels`\" pulumi-lang-dotnet=\"`Mxtunnels`\" pulumi-lang-go=\"`mxtunnels`\" pulumi-lang-python=\"`mxtunnels`\" pulumi-lang-yaml=\"`mxtunnels`\" pulumi-lang-java=\"`mxtunnels`\" pulumi-lang-hcl=\"`mxtunnels`\"\u003e`mxtunnels`\u003c/span\u003e under site setting)\n"
                },
                "portAuth": {
                    "type": "string",
                    "description": "Authentication mode for this AP Ethernet port\n"
                },
                "portVlanId": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`limited`\" pulumi-lang-dotnet=\"`Limited`\" pulumi-lang-go=\"`limited`\" pulumi-lang-python=\"`limited`\" pulumi-lang-yaml=\"`limited`\" pulumi-lang-java=\"`limited`\" pulumi-lang-hcl=\"`limited`\"\u003e`limited`\u003c/span\u003e. VLAN ID allowed on this AP Ethernet port\n"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:device/ApPortConfigRadiusConfig:ApPortConfigRadiusConfig",
                    "description": "RADIUS authentication and accounting settings for this AP port\n"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:device/ApPortConfigRadsec:ApPortConfigRadsec",
                    "description": "TLS-secured RADIUS settings for this AP port\n"
                },
                "vlanId": {
                    "type": "integer",
                    "description": "Optional to specify the VLAN ID for a tunnel if forwarding is for \u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e.\n  * if\u003cspan pulumi-lang-nodejs=\" vlanId \" pulumi-lang-dotnet=\" VlanId \" pulumi-lang-go=\" vlanId \" pulumi-lang-python=\" vlan_id \" pulumi-lang-yaml=\" vlanId \" pulumi-lang-java=\" vlanId \" pulumi-lang-hcl=\" vlan_id \"\u003e vlanId \u003c/span\u003eis not specified then it will use first one in vlan_ids[] of the mxtunnel.\n  * if forwarding == site_mxedge,\u003cspan pulumi-lang-nodejs=\" vlanIds \" pulumi-lang-dotnet=\" VlanIds \" pulumi-lang-go=\" vlanIds \" pulumi-lang-python=\" vlan_ids \" pulumi-lang-yaml=\" vlanIds \" pulumi-lang-java=\" vlanIds \" pulumi-lang-hcl=\" vlan_ids \"\u003e vlanIds \u003c/span\u003ecomes from\u003cspan pulumi-lang-nodejs=\" siteMxedge \" pulumi-lang-dotnet=\" SiteMxedge \" pulumi-lang-go=\" siteMxedge \" pulumi-lang-python=\" site_mxedge \" pulumi-lang-yaml=\" siteMxedge \" pulumi-lang-java=\" siteMxedge \" pulumi-lang-hcl=\" site_mxedge \"\u003e siteMxedge \u003c/span\u003e(\u003cspan pulumi-lang-nodejs=\"`mxtunnels`\" pulumi-lang-dotnet=\"`Mxtunnels`\" pulumi-lang-go=\"`mxtunnels`\" pulumi-lang-python=\"`mxtunnels`\" pulumi-lang-yaml=\"`mxtunnels`\" pulumi-lang-java=\"`mxtunnels`\" pulumi-lang-hcl=\"`mxtunnels`\"\u003e`mxtunnels`\u003c/span\u003e under site setting)\n"
                },
                "vlanIds": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`limited`\" pulumi-lang-dotnet=\"`Limited`\" pulumi-lang-go=\"`limited`\" pulumi-lang-python=\"`limited`\" pulumi-lang-yaml=\"`limited`\" pulumi-lang-java=\"`limited`\" pulumi-lang-hcl=\"`limited`\"\u003e`limited`\u003c/span\u003e, comma separated list of additional VLAN IDs allowed on this port\n"
                },
                "wxtunnelId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, the port is bridged to the vlan of the session\n"
                },
                "wxtunnelRemoteId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, the port is bridged to the vlan of the session\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled",
                        "enableMacAuth",
                        "forwarding",
                        "macAuthPreferred",
                        "macAuthProtocol",
                        "mxTunnelId",
                        "mxtunnelName",
                        "portAuth",
                        "wxtunnelId",
                        "wxtunnelRemoteId"
                    ]
                }
            }
        },
        "junipermist:device/ApPortConfigDynamicVlan:ApPortConfigDynamicVlan": {
            "properties": {
                "defaultVlanId": {
                    "type": "integer",
                    "description": "Fallback VLAN ID used when RADIUS does not return a dynamic VLAN match\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether dynamic VLAN assignment is enabled for this AP port\n"
                },
                "type": {
                    "type": "string",
                    "description": "Mapping mode for interpreting dynamic VLAN attributes returned by RADIUS\n"
                },
                "vlans": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Mapping entries for RADIUS-assigned VLAN values on this AP port. For \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==`airespace-interface-name`, the property key is the Airespace interface name returned by RADIUS (e.g. \"guest\"), and the value is the corresponding VLAN ID (e.g. 100). For \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e, the property key is the VLAN ID number returned by RADIUS, and the value is ignored.\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/ApPortConfigMistNac:ApPortConfigMistNac": {
            "properties": {
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled.\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"retries\" are set to value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"max-requests\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersRetries`\" pulumi-lang-dotnet=\"`AuthServersRetries`\" pulumi-lang-go=\"`authServersRetries`\" pulumi-lang-python=\"`auth_servers_retries`\" pulumi-lang-yaml=\"`authServersRetries`\" pulumi-lang-java=\"`authServersRetries`\" pulumi-lang-hcl=\"`auth_servers_retries`\"\u003e`authServersRetries`\u003c/span\u003e is set to default value to 3.\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"quite-period\" and \"transmit-period\" are set to half the value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"supplicant-timeout\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e is set to default value of 10.\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Allows a RADIUS server to dynamically modify the authorization status of a user session.\n"
                },
                "coaPort": {
                    "type": "integer",
                    "description": "the communication port used for “Change of Authorization” (CoA) messages\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled:\n  * \u003cspan pulumi-lang-nodejs=\"`authServers`\" pulumi-lang-dotnet=\"`AuthServers`\" pulumi-lang-go=\"`authServers`\" pulumi-lang-python=\"`auth_servers`\" pulumi-lang-yaml=\"`authServers`\" pulumi-lang-java=\"`authServers`\" pulumi-lang-hcl=\"`auth_servers`\"\u003e`authServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`acctServers`\" pulumi-lang-dotnet=\"`AcctServers`\" pulumi-lang-go=\"`acctServers`\" pulumi-lang-python=\"`acct_servers`\" pulumi-lang-yaml=\"`acctServers`\" pulumi-lang-java=\"`acctServers`\" pulumi-lang-hcl=\"`acct_servers`\"\u003e`acctServers`\u003c/span\u003e is ignored\n  * `auth_servers_*` are ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaServers`\" pulumi-lang-dotnet=\"`CoaServers`\" pulumi-lang-go=\"`coaServers`\" pulumi-lang-python=\"`coa_servers`\" pulumi-lang-yaml=\"`coaServers`\" pulumi-lang-java=\"`coaServers`\" pulumi-lang-hcl=\"`coa_servers`\"\u003e`coaServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`radsec`\" pulumi-lang-dotnet=\"`Radsec`\" pulumi-lang-go=\"`radsec`\" pulumi-lang-python=\"`radsec`\" pulumi-lang-yaml=\"`radsec`\" pulumi-lang-java=\"`radsec`\" pulumi-lang-hcl=\"`radsec`\"\u003e`radsec`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaEnabled`\" pulumi-lang-dotnet=\"`CoaEnabled`\" pulumi-lang-go=\"`coaEnabled`\" pulumi-lang-python=\"`coa_enabled`\" pulumi-lang-yaml=\"`coaEnabled`\" pulumi-lang-java=\"`coaEnabled`\" pulumi-lang-hcl=\"`coa_enabled`\"\u003e`coaEnabled`\u003c/span\u003e is assumed\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authServerRetries`\" pulumi-lang-dotnet=\"`AuthServerRetries`\" pulumi-lang-go=\"`authServerRetries`\" pulumi-lang-python=\"`auth_server_retries`\" pulumi-lang-yaml=\"`authServerRetries`\" pulumi-lang-java=\"`authServerRetries`\" pulumi-lang-hcl=\"`auth_server_retries`\"\u003e`authServerRetries`\u003c/span\u003e.\n"
                },
                "network": {
                    "type": "string",
                    "description": "Which network the mist nac server resides in\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "In case there is a static IP for this network, we can specify it using source ip\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/ApPortConfigRadiusConfig:ApPortConfigRadiusConfig": {
            "properties": {
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled\n"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/ApPortConfigRadiusConfigAcctServer:ApPortConfigRadiusConfigAcctServer"
                    },
                    "description": "RADIUS accounting servers used by this Junos configuration\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/ApPortConfigRadiusConfigAuthServer:ApPortConfigRadiusConfigAuthServer"
                    },
                    "description": "RADIUS authentication servers used by this Junos configuration\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "Number of RADIUS authentication request retries before failover\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS authentication server timeout, in seconds\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS Change of Authorization (CoA) is enabled\n"
                },
                "coaPort": {
                    "type": "integer",
                    "description": "UDP port used for RADIUS Change of Authorization (CoA)\n"
                },
                "network": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Network where the RADIUS server resides; if the network has a static IP, Mist uses it as the source IP\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Explicit source IP address for RADIUS traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "acctInterimInterval",
                        "authServersRetries",
                        "authServersTimeout",
                        "coaEnabled",
                        "coaPort"
                    ]
                }
            }
        },
        "junipermist:device/ApPortConfigRadiusConfigAcctServer:ApPortConfigRadiusConfigAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS accounting server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this accounting server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS accounting server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:device/ApPortConfigRadiusConfigAuthServer:ApPortConfigRadiusConfigAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS authentication server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this authentication server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS authentication server\n"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS authentication server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "host",
                        "requireMessageAuthenticator",
                        "secret"
                    ]
                }
            }
        },
        "junipermist:device/ApPortConfigRadsec:ApPortConfigRadsec": {
            "properties": {
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS Change of Authorization (CoA) is enabled for RadSec traffic\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether RadSec is enabled\n"
                },
                "idleTimeout": {
                    "type": "string",
                    "description": "Idle timeout, in seconds, for RadSec connections\n"
                },
                "mxclusterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Edge cluster IDs used as RadSec proxies when the WLAN does not use mxtunnel\n"
                },
                "proxyHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "RadSec proxy hostnames advertised to APs\n"
                },
                "serverName": {
                    "type": "string",
                    "description": "TLS server name to verify against the CA certificates in Org Setting. Only if not Mist Edge.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/ApPortConfigRadsecServer:ApPortConfigRadsecServer"
                    },
                    "description": "External RadSec servers. Only if not Mist Edge.\n"
                },
                "useMxedge": {
                    "type": "boolean",
                    "description": "Whether to use organization Mist Edge instances as RadSec proxies\n"
                },
                "useSiteMxedge": {
                    "type": "boolean",
                    "description": "Whether to use site Mist Edge instances when this WLAN does not use mxtunnel\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "coaEnabled",
                        "useSiteMxedge"
                    ]
                }
            }
        },
        "junipermist:device/ApPortConfigRadsecServer:ApPortConfigRadsecServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RadSec server\n"
                },
                "port": {
                    "type": "integer",
                    "description": "TCP port used by the RadSec server\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/ApPwrConfig:ApPwrConfig": {
            "properties": {
                "base": {
                    "type": "integer",
                    "description": "Additional power to request during negotiating with PSE over PoE, in mW\n"
                },
                "preferUsbOverWifi": {
                    "type": "boolean",
                    "description": "Whether to enable power out to peripheral, meanwhile will reduce power to Wi-Fi (only for AP45 at power mode)\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "base",
                        "preferUsbOverWifi"
                    ]
                }
            }
        },
        "junipermist:device/ApRadioConfig:ApRadioConfig": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM can be disabled for individual radio-band settings\n"
                },
                "antGain24": {
                    "type": "integer",
                    "description": "Antenna gain for 2.4G - for models with external antenna only\n"
                },
                "antGain5": {
                    "type": "integer",
                    "description": "Antenna gain for 5G - for models with external antenna only\n"
                },
                "antGain6": {
                    "type": "integer",
                    "description": "Antenna gain for 6G - for models with external antenna only\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Selected radio chain mode for AP models that support antenna mode control\n"
                },
                "antennaSelect": {
                    "type": "string",
                    "description": "Internal or external antenna selection for AP models with selectable antennas\n"
                },
                "band24": {
                    "$ref": "#/types/junipermist:device/ApRadioConfigBand24:ApRadioConfigBand24",
                    "description": "2.4 GHz radio settings for this access point\n"
                },
                "band24Usage": {
                    "type": "string",
                    "description": "Radio usage mode for the 2.4 GHz-capable radio\n"
                },
                "band5": {
                    "$ref": "#/types/junipermist:device/ApRadioConfigBand5:ApRadioConfigBand5",
                    "description": "5 GHz radio settings for this access point\n"
                },
                "band5On24Radio": {
                    "$ref": "#/types/junipermist:device/ApRadioConfigBand5On24Radio:ApRadioConfigBand5On24Radio",
                    "description": "5 GHz settings used when the 2.4 GHz radio operates in 5 GHz mode\n"
                },
                "band6": {
                    "$ref": "#/types/junipermist:device/ApRadioConfigBand6:ApRadioConfigBand6",
                    "description": "6 GHz radio settings for this access point\n"
                },
                "fullAutomaticRrm": {
                    "type": "boolean",
                    "description": "Let RRM control everything, only the \u003cspan pulumi-lang-nodejs=\"`channels`\" pulumi-lang-dotnet=\"`Channels`\" pulumi-lang-go=\"`channels`\" pulumi-lang-python=\"`channels`\" pulumi-lang-yaml=\"`channels`\" pulumi-lang-java=\"`channels`\" pulumi-lang-hcl=\"`channels`\"\u003e`channels`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`antGain`\" pulumi-lang-dotnet=\"`AntGain`\" pulumi-lang-go=\"`antGain`\" pulumi-lang-python=\"`ant_gain`\" pulumi-lang-yaml=\"`antGain`\" pulumi-lang-java=\"`antGain`\" pulumi-lang-hcl=\"`ant_gain`\"\u003e`antGain`\u003c/span\u003e will be honored (i.e. disabled/bandwidth/power/band_24_usage are all controlled by RRM)\n"
                },
                "indoorUse": {
                    "type": "boolean",
                    "description": "To make an outdoor operate indoor. For an outdoor-ap, some channels are disallowed by default, this allows the user to use it as an indoor-ap\n"
                },
                "rrmManaged": {
                    "type": "boolean",
                    "description": "Enable RRM to manage all radio settings (ignores all\u003cspan pulumi-lang-nodejs=\" bandXxx \" pulumi-lang-dotnet=\" BandXxx \" pulumi-lang-go=\" bandXxx \" pulumi-lang-python=\" band_xxx \" pulumi-lang-yaml=\" bandXxx \" pulumi-lang-java=\" bandXxx \" pulumi-lang-hcl=\" band_xxx \"\u003e bandXxx \u003c/span\u003econfigs)\n"
                },
                "scanningEnabled": {
                    "type": "boolean",
                    "description": "Whether scanning radio is enabled\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "fullAutomaticRrm"
                    ]
                }
            }
        },
        "junipermist:device/ApRadioConfigBand24:ApRadioConfigBand24": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 2.4 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 2.4 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 2.4 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 2.4 GHz radio\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "For Device. (primary) channel for the band, 0 means using the Site Setting\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 2.4 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 2.4 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "channel",
                        "disabled",
                        "preamble"
                    ]
                }
            }
        },
        "junipermist:device/ApRadioConfigBand5:ApRadioConfigBand5": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 5 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antennaBeamPattern": {
                    "type": "string",
                    "description": "Beam pattern used by the 5 GHz radio antenna\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 5 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 5 GHz radio\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "For Device. (primary) channel for the band, 0 means using the Site Setting\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 5 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "channel",
                        "disabled",
                        "preamble"
                    ]
                }
            }
        },
        "junipermist:device/ApRadioConfigBand5On24Radio:ApRadioConfigBand5On24Radio": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 5 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antennaBeamPattern": {
                    "type": "string",
                    "description": "Beam pattern used by the 5 GHz radio antenna\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 5 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 5 GHz radio\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "For Device. (primary) channel for the band, 0 means using the Site Setting\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 5 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "channel",
                        "disabled",
                        "preamble"
                    ]
                }
            }
        },
        "junipermist:device/ApRadioConfigBand6:ApRadioConfigBand6": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 6 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 6 GHz radio\n"
                },
                "antennaBeamPattern": {
                    "type": "string",
                    "description": "Beam pattern used by the 6 GHz radio antenna\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 6 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 6 GHz radio\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "For Device. (primary) channel for the band, 0 means using the Site Setting\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 6 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 6 GHz radio\n"
                },
                "standardPower": {
                    "type": "boolean",
                    "description": "For 6GHz Only, standard-power operation, AFC (Automatic Frequency Coordination) will be performed, and we'll fall back to Low Power Indoor if AFC failed\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "channel",
                        "disabled",
                        "preamble",
                        "standardPower"
                    ]
                }
            }
        },
        "junipermist:device/ApUplinkPortConfig:ApUplinkPortConfig": {
            "properties": {
                "dot1x": {
                    "type": "boolean",
                    "description": "Whether to do 802.1x against uplink switch. When enabled, AP cert will be used to do EAP-TLS and the Org's CA Cert has to be provisioned at the switch\n"
                },
                "keepWlansUpIfDown": {
                    "type": "boolean",
                    "description": "By default, WLANs are disabled when uplink is down. In some scenario, like SiteSurvey, one would want the AP to keep sending beacons.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "dot1x"
                    ]
                }
            }
        },
        "junipermist:device/ApUsbConfig:ApUsbConfig": {
            "properties": {
                "cacert": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e. CA certificate used to validate the Imagotag service certificate\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e, channel selection, not needed by default, required for manual channel override only\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable any usb config\n"
                },
                "host": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e. Imagotag service host or IP address contacted by the AP\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e. TCP port used to reach the Imagotag service\n"
                },
                "type": {
                    "type": "string",
                    "description": "USB integration type for this legacy AP USB configuration\n"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e, whether to turn on SSL verification\n"
                },
                "vlanId": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`solum`\" pulumi-lang-dotnet=\"`Solum`\" pulumi-lang-go=\"`solum`\" pulumi-lang-python=\"`solum`\" pulumi-lang-yaml=\"`solum`\" pulumi-lang-java=\"`solum`\" pulumi-lang-hcl=\"`solum`\"\u003e`solum`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hanshow`\" pulumi-lang-dotnet=\"`Hanshow`\" pulumi-lang-go=\"`hanshow`\" pulumi-lang-python=\"`hanshow`\" pulumi-lang-yaml=\"`hanshow`\" pulumi-lang-java=\"`hanshow`\" pulumi-lang-hcl=\"`hanshow`\"\u003e`hanshow`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "cacert",
                        "host"
                    ]
                }
            }
        },
        "junipermist:device/ApZigbeeConfig:ApZigbeeConfig": {
            "properties": {
                "allowJoin": {
                    "type": "string",
                    "description": "Join policy for new Zigbee devices on this AP\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "Zigbee channel (2.4 GHz). \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means auto; valid fixed values are 11–26\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable Zigbee on this AP\n"
                },
                "extendedPanId": {
                    "type": "string",
                    "description": "Extended PAN ID in hex string format; only applicable when \u003cspan pulumi-lang-nodejs=\"`panId`\" pulumi-lang-dotnet=\"`PanId`\" pulumi-lang-go=\"`panId`\" pulumi-lang-python=\"`pan_id`\" pulumi-lang-yaml=\"`panId`\" pulumi-lang-java=\"`panId`\" pulumi-lang-hcl=\"`pan_id`\"\u003e`panId`\u003c/span\u003e is also specified\n"
                },
                "panId": {
                    "type": "string",
                    "description": "PAN ID in hex string format; if not specified, assigned automatically\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowJoin",
                        "channel",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/GatewayBgpConfig:GatewayBgpConfig": {
            "properties": {
                "authKey": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e\n"
                },
                "bfdMinimumInterval": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, when\u003cspan pulumi-lang-nodejs=\" bfdMultiplier \" pulumi-lang-dotnet=\" BfdMultiplier \" pulumi-lang-go=\" bfdMultiplier \" pulumi-lang-python=\" bfd_multiplier \" pulumi-lang-yaml=\" bfdMultiplier \" pulumi-lang-java=\" bfdMultiplier \" pulumi-lang-hcl=\" bfd_multiplier \"\u003e bfdMultiplier \u003c/span\u003eis configured alone. Default:\n  * 1000 if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e\n  * 350 \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\" pulumi-lang-hcl=\"`internal`\"\u003e`internal`\u003c/span\u003e\n"
                },
                "bfdMultiplier": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, when\u003cspan pulumi-lang-nodejs=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-dotnet=\" BfdMinimumIntervalIsConfigured \" pulumi-lang-go=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-python=\" bfd_minimum_interval_is_configured \" pulumi-lang-yaml=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-java=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-hcl=\" bfd_minimum_interval_is_configured \"\u003e bfdMinimumIntervalIsConfigured \u003c/span\u003ealone\n"
                },
                "disableBfd": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. BFD provides faster path failure detection and is enabled by default\n"
                },
                "export": {
                    "type": "string",
                    "description": "Routing policy applied to routes exported by this BGP session\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Default export policies if no per-neighbor policies defined\n"
                },
                "extendedV4Nexthop": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. By default, either inet/net6 unicast depending on neighbor IP family (v4 or v6). For v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this\n"
                },
                "gracefulRestartTime": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means disable\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Default is 90.\n"
                },
                "import": {
                    "type": "string",
                    "description": "Routing policy applied to routes imported by this BGP session\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Default import policies if no per-neighbor policies defined\n"
                },
                "localAs": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. BGPLocal AS. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`)\n"
                },
                "neighborAs": {
                    "type": "string",
                    "description": "Neighbor AS. If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\" pulumi-lang-hcl=\"`internal`\"\u003e`internal`\u003c/span\u003e, must be equal to \u003cspan pulumi-lang-nodejs=\"`localAs`\" pulumi-lang-dotnet=\"`LocalAs`\" pulumi-lang-go=\"`localAs`\" pulumi-lang-python=\"`local_as`\" pulumi-lang-yaml=\"`localAs`\" pulumi-lang-java=\"`localAs`\" pulumi-lang-hcl=\"`local_as`\"\u003e`localAs`\u003c/span\u003e. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`)\n"
                },
                "neighbors": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayBgpConfigNeighbors:GatewayBgpConfigNeighbors"
                    },
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. If per-neighbor as is desired. Property key is the neighbor address\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e; networks where BGP neighbors can connect to or from\n"
                },
                "noPrivateAs": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. If true, we will not advertise private ASNs (AS 64512-65534) to this neighbor\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. By default, we'll re-advertise all learned BGP routers toward overlay\n"
                },
                "tunnelName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e; tunnel name used for this BGP session\n"
                },
                "type": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e; BGP session type, internal or external\n"
                },
                "via": {
                    "type": "string",
                    "description": "Transport used for this BGP session, such as LAN, tunnel, VPN, or WAN\n"
                },
                "vpnName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e; VPN name used for this BGP session\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e; WAN interface name used for this BGP session\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:device/GatewayBgpConfigNeighbors:GatewayBgpConfigNeighbors": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "If true, the BGP session to this neighbor will be administratively disabled/shutdown\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Export policy applied only to this BGP neighbor\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "BGP hold time for this neighbor, in seconds\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Import policy applied only to this BGP neighbor\n"
                },
                "multihopTtl": {
                    "type": "integer",
                    "description": "Assuming BGP neighbor is directly connected\n"
                },
                "neighborAs": {
                    "type": "string",
                    "description": "Neighbor AS. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`)\n"
                },
                "tunnelVia": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e, primary or secondary tunnel associated with this BGP neighbor\n"
                }
            },
            "type": "object",
            "required": [
                "neighborAs"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled",
                        "neighborAs",
                        "tunnelVia"
                    ]
                }
            }
        },
        "junipermist:device/GatewayClusterNode:GatewayClusterNode": {
            "properties": {
                "mac": {
                    "type": "string",
                    "description": "Gateway device MAC address. Format is `[0-9a-f]{12}` (e.g. \"5684dae9ac8b\")\n"
                }
            },
            "type": "object",
            "required": [
                "mac"
            ]
        },
        "junipermist:device/GatewayDhcpdConfig:GatewayDhcpdConfig": {
            "properties": {
                "config": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayDhcpdConfigConfig:GatewayDhcpdConfigConfig"
                    },
                    "description": "Property key is the network name\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, disable the DHCP server\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayDhcpdConfigConfig:GatewayDhcpdConfigConfig": {
            "properties": {
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, DNS servers advertised to DHCP clients\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, DNS search suffixes advertised to DHCP clients\n",
                    "deprecationMessage": "Configuring \u003cspan pulumi-lang-nodejs=\"`dnsSuffix`\" pulumi-lang-dotnet=\"`DnsSuffix`\" pulumi-lang-go=\"`dnsSuffix`\" pulumi-lang-python=\"`dns_suffix`\" pulumi-lang-yaml=\"`dnsSuffix`\" pulumi-lang-java=\"`dnsSuffix`\" pulumi-lang-hcl=\"`dns_suffix`\"\u003e`dnsSuffix`\u003c/span\u003e is deprecated and will not be supported in the future, please configure Code 15 or Code 119 in Server \u003cspan pulumi-lang-nodejs=\"`options`\" pulumi-lang-dotnet=\"`Options`\" pulumi-lang-go=\"`options`\" pulumi-lang-python=\"`options`\" pulumi-lang-yaml=\"`options`\" pulumi-lang-java=\"`options`\" pulumi-lang-hcl=\"`options`\"\u003e`options`\u003c/span\u003e instead"
                },
                "fixedBindings": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayDhcpdConfigConfigFixedBindings:GatewayDhcpdConfigConfigFixedBindings"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, fixed client bindings for local DHCP service\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e - optional, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\" pulumi-lang-hcl=\"`ip`\"\u003e`ip`\u003c/span\u003e will be used if not provided\n"
                },
                "ip6End": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, ending IPv6 address for the DHCP lease pool\n"
                },
                "ip6Start": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, starting IPv6 address for the DHCP lease pool\n"
                },
                "ipEnd": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, ending IPv4 address for the DHCP lease pool\n"
                },
                "ipStart": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, starting IPv4 address for the DHCP lease pool\n"
                },
                "leaseTime": {
                    "type": "integer",
                    "description": "In seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]\n"
                },
                "options": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayDhcpdConfigConfigOptions:GatewayDhcpdConfigConfigOptions"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, custom DHCP options advertised to clients\n"
                },
                "serverIdOverride": {
                    "type": "boolean",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`serverIdOverride`\" pulumi-lang-dotnet=\"`ServerIdOverride`\" pulumi-lang-go=\"`serverIdOverride`\" pulumi-lang-python=\"`server_id_override`\" pulumi-lang-yaml=\"`serverIdOverride`\" pulumi-lang-java=\"`serverIdOverride`\" pulumi-lang-hcl=\"`server_id_override`\"\u003e`serverIdOverride`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, \nshould overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv4 DHCP servers\n"
                },
                "serversv6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv6 DHCP servers\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 DHCP mode for this network\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 DHCP mode for this network\n"
                },
                "vendorEncapsulated": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayDhcpdConfigConfigVendorEncapsulated:GatewayDhcpdConfigConfigVendorEncapsulated"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, vendor-encapsulated DHCP options advertised to clients\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayDhcpdConfigConfigFixedBindings:GatewayDhcpdConfigConfigFixedBindings": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Reserved IPv4 address for this fixed DHCP binding\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Reserved IPv6 address for this fixed DHCP binding\n"
                },
                "name": {
                    "type": "string",
                    "description": "Friendly name for this fixed DHCP binding\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayDhcpdConfigConfigOptions:GatewayDhcpdConfigConfigOptions": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this DHCP option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this DHCP option\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayDhcpdConfigConfigVendorEncapsulated:GatewayDhcpdConfigConfigVendorEncapsulated": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this vendor option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this vendor option\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayExtraRoutes6:GatewayExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv6 address for the gateway extra route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:device/GatewayExtraRoutes:GatewayExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv4 address for the gateway extra route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:device/GatewayGatewayMgmt:GatewayGatewayMgmt": {
            "properties": {
                "adminSshkeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSR-only SSH public keys for administrative access\n"
                },
                "appProbing": {
                    "$ref": "#/types/junipermist:device/GatewayGatewayMgmtAppProbing:GatewayGatewayMgmtAppProbing",
                    "description": "Application probing configuration for gateway monitoring\n"
                },
                "appUsage": {
                    "type": "boolean",
                    "description": "Consumes uplink bandwidth, requires WA license\n"
                },
                "autoSignatureUpdate": {
                    "$ref": "#/types/junipermist:device/GatewayGatewayMgmtAutoSignatureUpdate:GatewayGatewayMgmtAutoSignatureUpdate",
                    "description": "Schedule for automatic security signature updates\n"
                },
                "configRevertTimer": {
                    "type": "integer",
                    "description": "Rollback timer for commit confirmed\n"
                },
                "disableConsole": {
                    "type": "boolean",
                    "description": "For SSR and SRX, disable console port\n"
                },
                "disableOob": {
                    "type": "boolean",
                    "description": "For SSR and SRX, disable management interface\n"
                },
                "disableUsb": {
                    "type": "boolean",
                    "description": "For SSR and SRX, disable usb interface\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the gateway\n"
                },
                "probeHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IPv4 probe targets used for gateway connectivity checks\n"
                },
                "probeHostsv6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IPv6 probe targets used for gateway connectivity checks\n"
                },
                "protectRe": {
                    "$ref": "#/types/junipermist:device/GatewayGatewayMgmtProtectRe:GatewayGatewayMgmtProtectRe",
                    "description": "Control-plane protection settings for the gateway\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "SRX only. Root password for local gateway access\n",
                    "secret": true
                },
                "securityLogSourceAddress": {
                    "type": "string",
                    "description": "IPv4 source address used for gateway security log traffic\n"
                },
                "securityLogSourceInterface": {
                    "type": "string",
                    "description": "Source interface used for gateway security log traffic\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayGatewayMgmtAppProbing:GatewayGatewayMgmtAppProbing": {
            "properties": {
                "apps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Predefined application keys to probe\n"
                },
                "customApps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayGatewayMgmtAppProbingCustomApp:GatewayGatewayMgmtAppProbingCustomApp"
                    },
                    "description": "User-defined application probe definitions\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether gateway application probing is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayGatewayMgmtAppProbingCustomApp:GatewayGatewayMgmtAppProbingCustomApp": {
            "properties": {
                "address": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e. IP address probed by the ICMP custom app\n"
                },
                "appType": {
                    "type": "string",
                    "description": "Category label used for this custom application probe\n"
                },
                "hostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e. Hostnames or URLs probed by this custom app\n"
                },
                "key": {
                    "type": "string",
                    "description": "Stable key used to identify this custom application probe\n",
                    "secret": true
                },
                "name": {
                    "type": "string",
                    "description": "Display name for this custom application probe\n"
                },
                "network": {
                    "type": "string",
                    "description": "Gateway network used as the source context for this probe\n"
                },
                "packetSize": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e. ICMP packet size used by this custom app probe\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Probe protocol used by this custom application definition\n"
                },
                "url": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e. HTTP URL or hostname probed by this custom app\n"
                },
                "vrf": {
                    "type": "string",
                    "description": "Gateway VRF used as the source context for this probe\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:device/GatewayGatewayMgmtAutoSignatureUpdate:GatewayGatewayMgmtAutoSignatureUpdate": {
            "properties": {
                "dayOfWeek": {
                    "type": "string",
                    "description": "Scheduled weekday for automatic signature updates\n"
                },
                "enable": {
                    "type": "boolean",
                    "description": "Whether automatic security signature updates are enabled\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "Optional, Mist will decide the timing\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayGatewayMgmtProtectRe:GatewayGatewayMgmtProtectRe": {
            "properties": {
                "allowedServices": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Built-in services explicitly allowed by the Protect RE policy\n"
                },
                "customs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayGatewayMgmtProtectReCustom:GatewayGatewayMgmtProtectReCustom"
                    },
                    "description": "Additional ACL entries allowed by the Protect RE policy\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled, all traffic that is not essential to our operation will be dropped\ne.g. ntp / dns / traffic to mist will be allowed by default\n     if dhcpd is enabled, we'll make sure it works\n"
                },
                "hitCount": {
                    "type": "boolean",
                    "description": "Whether to enable hit count for Protect_RE policy\n"
                },
                "trustedHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trusted host or subnet entries allowed by the Protect RE policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayGatewayMgmtProtectReCustom:GatewayGatewayMgmtProtectReCustom": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Matched dst port, \"0\" means any\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Transport protocol matched by this custom Protect RE ACL\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source subnets matched by this custom Protect RE ACL\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:device/GatewayIdpProfiles:GatewayIdpProfiles": {
            "properties": {
                "baseProfile": {
                    "type": "string",
                    "description": "Built-in IDP baseline profile inherited before applying overwrites\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of the IDP profile\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the IDP profile\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization for the IDP profile\n"
                },
                "overwrites": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayIdpProfilesOverwrite:GatewayIdpProfilesOverwrite"
                    },
                    "description": "IDP signature override rules applied on top of the base profile\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayIdpProfilesOverwrite:GatewayIdpProfilesOverwrite": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Enforcement action applied when this overwrite rule matches\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:device/GatewayIdpProfilesOverwriteMatching:GatewayIdpProfilesOverwriteMatching",
                    "description": "Criteria that select signatures for this overwrite rule\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for this IDP profile overwrite rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayIdpProfilesOverwriteMatching:GatewayIdpProfilesOverwriteMatching": {
            "properties": {
                "attackNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Signature names matched by the IDP profile overwrite\n"
                },
                "dstSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination subnets matched by the IDP profile overwrite\n"
                },
                "severities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Threat levels matched by the IDP profile overwrite\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayIpConfigs:GatewayIpConfigs": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Static IPv6 address for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "IPv4 netmask or prefix length for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "IPv6 netmask or prefix length for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "secondaryIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional IPv4 addresses in CIDR notation for this gateway network interface\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for this gateway network interface\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for this gateway network interface\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "secondaryIps",
                        "type"
                    ]
                }
            }
        },
        "junipermist:device/GatewayNetwork:GatewayNetwork": {
            "properties": {
                "disallowMistServices": {
                    "type": "boolean",
                    "description": "Whether to disallow Mist Devices in the network\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "IPv4 gateway address for this network\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "IPv6 gateway address for this network\n"
                },
                "internalAccess": {
                    "$ref": "#/types/junipermist:device/GatewayNetworkInternalAccess:GatewayNetworkInternalAccess",
                    "description": "Internal access settings for this network\n"
                },
                "internetAccess": {
                    "$ref": "#/types/junipermist:device/GatewayNetworkInternetAccess:GatewayNetworkInternetAccess",
                    "description": "Direct internet access and NAT settings for this network\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to allow clients in the network to talk to each other\n"
                },
                "multicast": {
                    "$ref": "#/types/junipermist:device/GatewayNetworkMulticast:GatewayNetworkMulticast",
                    "description": "Settings for multicast routing on this network\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the organization network\n"
                },
                "routedForNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Other network names this network can route to, for example through BGP, OSPF or static routes\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "IPv4 subnet CIDR for this network\n"
                },
                "subnet6": {
                    "type": "string",
                    "description": "IPv6 subnet CIDR for this network\n"
                },
                "tenants": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayNetworkTenants:GatewayNetworkTenants"
                    },
                    "description": "Tenant address mappings associated with this network\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID or variable associated with this network\n"
                },
                "vpnAccess": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayNetworkVpnAccess:GatewayNetworkVpnAccess"
                    },
                    "description": "VPN access settings keyed by VPN name for this network\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "subnet"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disallowMistServices",
                        "name",
                        "subnet"
                    ]
                }
            }
        },
        "junipermist:device/GatewayNetworkInternalAccess:GatewayNetworkInternalAccess": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether internal access is enabled for this network\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayNetworkInternetAccess:GatewayNetworkInternetAccess": {
            "properties": {
                "createSimpleServicePolicy": {
                    "type": "boolean",
                    "description": "Whether Mist should create simple service policies for restricted internet access\n"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayNetworkInternetAccessDestinationNat:GatewayNetworkInternetAccessDestinationNat"
                    },
                    "description": "Destination NAT rules for direct internet access\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether direct internet access is enabled for this network\n"
                },
                "restricted": {
                    "type": "boolean",
                    "description": "By default, all access is allowed, to only allow certain traffic, make \u003cspan pulumi-lang-nodejs=\"`restricted`\" pulumi-lang-dotnet=\"`Restricted`\" pulumi-lang-go=\"`restricted`\" pulumi-lang-python=\"`restricted`\" pulumi-lang-yaml=\"`restricted`\" pulumi-lang-java=\"`restricted`\" pulumi-lang-hcl=\"`restricted`\"\u003e`restricted`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and define service_policies\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayNetworkInternetAccessStaticNat:GatewayNetworkInternetAccessStaticNat"
                    },
                    "description": "Static NAT rules for direct internet access\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "createSimpleServicePolicy",
                        "restricted"
                    ]
                }
            }
        },
        "junipermist:device/GatewayNetworkInternetAccessDestinationNat:GatewayNetworkInternetAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this direct internet destination NAT rule\n"
                },
                "port": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be a Port (i.e. \"443\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayNetworkInternetAccessStaticNat:GatewayNetworkInternetAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP address. Must be an IP address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this direct internet static NAT rule\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity. Can be a Variable (i.e. \"{{myvar}}\")\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name"
            ]
        },
        "junipermist:device/GatewayNetworkMulticast:GatewayNetworkMulticast": {
            "properties": {
                "disableIgmp": {
                    "type": "boolean",
                    "description": "If the network will only be the source of the multicast traffic, IGMP can be disabled\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether multicast support is enabled for this network\n"
                },
                "groups": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayNetworkMulticastGroups:GatewayNetworkMulticastGroups"
                    },
                    "description": "Multicast group-to-RP mappings for this network\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableIgmp",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/GatewayNetworkMulticastGroups:GatewayNetworkMulticastGroups": {
            "properties": {
                "rpIp": {
                    "type": "string",
                    "description": "RP (rendezvous point) IP address\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayNetworkTenants:GatewayNetworkTenants": {
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP addresses or subnets assigned to this tenant in the network\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayNetworkVpnAccess:GatewayNetworkVpnAccess": {
            "properties": {
                "advertisedSubnet": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to advertise an aggregated subnet toward HUB this is useful when there are multiple networks on SPOKE's side\n"
                },
                "allowPing": {
                    "type": "boolean",
                    "description": "Whether to allow ping from vpn into this routed network\n"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayNetworkVpnAccessDestinationNat:GatewayNetworkVpnAccessDestinationNat"
                    },
                    "description": "Destination NAT rules applied for VPN access to this network\n"
                },
                "natPool": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (usually at Spoke), but some hosts needs to be reachable from Hub, a subnet is required to create and advertise the route to Hub\n"
                },
                "noReadvertiseToLanBgp": {
                    "type": "boolean",
                    "description": "toward LAN-side BGP peers\n"
                },
                "noReadvertiseToLanOspf": {
                    "type": "boolean",
                    "description": "toward LAN-side OSPF peers\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "otherVrfs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Other VRFs that can receive leaked routes from this spoke network\n"
                },
                "routed": {
                    "type": "boolean",
                    "description": "Whether this network is routable\n"
                },
                "sourceNat": {
                    "$ref": "#/types/junipermist:device/GatewayNetworkVpnAccessSourceNat:GatewayNetworkVpnAccessSourceNat",
                    "description": "Source NAT settings used when non-routed spoke hosts must be reachable from the hub\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayNetworkVpnAccessStaticNat:GatewayNetworkVpnAccessStaticNat"
                    },
                    "description": "Static NAT rules applied for VPN access to this network\n"
                },
                "summarizedSubnet": {
                    "type": "string",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "summarizedSubnetToLanBgp": {
                    "type": "string",
                    "description": "toward LAN-side BGP peers\n"
                },
                "summarizedSubnetToLanOspf": {
                    "type": "string",
                    "description": "toward LAN-side OSPF peers\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "noReadvertiseToLanBgp",
                        "noReadvertiseToLanOspf",
                        "otherVrfs",
                        "sourceNat",
                        "staticNat"
                    ]
                }
            }
        },
        "junipermist:device/GatewayNetworkVpnAccessDestinationNat:GatewayNetworkVpnAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this VPN destination NAT rule\n"
                },
                "port": {
                    "type": "string",
                    "description": "Destination port or variable for this VPN destination NAT rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayNetworkVpnAccessSourceNat:GatewayNetworkVpnAccessSourceNat": {
            "properties": {
                "externalIp": {
                    "type": "string",
                    "description": "External source NAT IP or subnet used when spoke hosts must be reachable from the hub\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayNetworkVpnAccessStaticNat:GatewayNetworkVpnAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP address. Must be an IP address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this VPN static NAT rule\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name"
            ]
        },
        "junipermist:device/GatewayOobIpConfig:GatewayOobIpConfig": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Default gateway for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "IPv4 netmask or prefix length for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "node1": {
                    "$ref": "#/types/junipermist:device/GatewayOobIpConfigNode1:GatewayOobIpConfigNode1",
                    "description": "Out-of-band management IP configuration override for node1 in an HA cluster\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for the out-of-band management interface\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "For host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID used for out-of-band management traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "node1"
                    ]
                }
            }
        },
        "junipermist:device/GatewayOobIpConfigNode1:GatewayOobIpConfigNode1": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Default gateway for the node1 out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the node1 out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "IPv4 netmask or prefix length for the node1 out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e; used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for the node1 out-of-band management interface\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "Whether to use \u003cspan pulumi-lang-nodejs=\"`mgmtJunos`\" pulumi-lang-dotnet=\"`MgmtJunos`\" pulumi-lang-go=\"`mgmtJunos`\" pulumi-lang-python=\"`mgmt_junos`\" pulumi-lang-yaml=\"`mgmtJunos`\" pulumi-lang-java=\"`mgmtJunos`\" pulumi-lang-hcl=\"`mgmt_junos`\"\u003e`mgmtJunos`\u003c/span\u003e for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID used for node1 out-of-band management traffic\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPathPreferences:GatewayPathPreferences": {
            "properties": {
                "paths": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayPathPreferencesPath:GatewayPathPreferencesPath"
                    },
                    "description": "Candidate paths evaluated for this gateway path preference\n"
                },
                "strategy": {
                    "type": "string",
                    "description": "Selection strategy used to evaluate the candidate paths\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "strategy"
                    ]
                }
            }
        },
        "junipermist:device/GatewayPathPreferencesPath:GatewayPathPreferencesPath": {
            "properties": {
                "cost": {
                    "type": "integer",
                    "description": "Relative cost assigned to this path for gateway path selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "For SSR Only. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, if this specific path is undesired\n"
                },
                "gatewayIp": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, if a different gateway is desired\n"
                },
                "internetAccess": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e, if this vpn path can be used for internet\n"
                },
                "name": {
                    "type": "string",
                    "description": "Required when \n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e: the name of the VPN Path to use \n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e: the name of the WAN interface to use\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e\n"
                },
                "targetIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of destination IP addresses to replace when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "Gateway path source type, such as local network, WAN interface, VPN path, or tunnel\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e; WAN interface name associated with the VPN path\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "junipermist:device/GatewayPortConfig:GatewayPortConfig": {
            "properties": {
                "aeDisableLacp": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. To disable LCP support for the AE interface\n"
                },
                "aeIdx": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Users could force to use the designated AE name (must be an integer between 0 and 127)\n"
                },
                "aeLacpForceUp": {
                    "type": "boolean",
                    "description": "For SRX only, if \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.Sets the state of the interface as UP when the peer has limited LACP capability. Use case: When a device connected to this AE port is ZTPing for the first time, it will not have LACP configured on the other end. **Note:** Turning this on will enable force-up on one of the interfaces in the bundle only\n"
                },
                "aggregated": {
                    "type": "boolean",
                    "description": "Whether the port participates in an aggregated Ethernet interface\n"
                },
                "critical": {
                    "type": "boolean",
                    "description": "To generate port up/down alarm, set it to true\n"
                },
                "description": {
                    "type": "string",
                    "description": "Interface Description. Can be a variable (i.e. \"{{myvar}}\")\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "Whether Ethernet autonegotiation is disabled on the port\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Port admin up (true) / down (false)\n"
                },
                "dslType": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dsl`\" pulumi-lang-dotnet=\"`Dsl`\" pulumi-lang-go=\"`dsl`\" pulumi-lang-python=\"`dsl`\" pulumi-lang-yaml=\"`dsl`\" pulumi-lang-java=\"`dsl`\" pulumi-lang-hcl=\"`dsl`\"\u003e`dsl`\u003c/span\u003e. DSL technology used by the WAN port\n"
                },
                "dslVci": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dsl`\" pulumi-lang-dotnet=\"`Dsl`\" pulumi-lang-go=\"`dsl`\" pulumi-lang-python=\"`dsl`\" pulumi-lang-yaml=\"`dsl`\" pulumi-lang-java=\"`dsl`\" pulumi-lang-hcl=\"`dsl`\"\u003e`dsl`\u003c/span\u003e, 16 bit int\n"
                },
                "dslVpi": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dsl`\" pulumi-lang-dotnet=\"`Dsl`\" pulumi-lang-go=\"`dsl`\" pulumi-lang-python=\"`dsl`\" pulumi-lang-yaml=\"`dsl`\" pulumi-lang-java=\"`dsl`\" pulumi-lang-hcl=\"`dsl`\"\u003e`dsl`\u003c/span\u003e, 8 bit int\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Ethernet duplex mode configured on the port\n"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:device/GatewayPortConfigIpConfig:GatewayPortConfigIpConfig",
                    "description": "Layer 3 IP configuration for the port\n"
                },
                "lteApn": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. APN used by the LTE uplink\n"
                },
                "lteAuth": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. Authentication method used by the LTE uplink\n"
                },
                "lteBackup": {
                    "type": "boolean",
                    "description": "Whether the LTE uplink is used as a backup WAN connection\n"
                },
                "ltePassword": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. Password used for LTE uplink authentication\n",
                    "secret": true
                },
                "lteUsername": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. Username used for LTE uplink authentication\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Layer 3 MTU configured on the port\n"
                },
                "name": {
                    "type": "string",
                    "description": "Interface name used to derive device configuration\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, name of the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Network`\" pulumi-lang-dotnet=\"`junipermist.org.Network`\" pulumi-lang-go=\"`org.Network`\" pulumi-lang-python=\"`org.Network`\" pulumi-lang-yaml=\"`junipermist.org.Network`\" pulumi-lang-java=\"`junipermist.org.Network`\" pulumi-lang-hcl=\"`mist_org_network`\"\u003e`junipermist.org.Network`\u003c/span\u003e resource\n"
                },
                "outerVlanId": {
                    "type": "integer",
                    "description": "For Q-in-Q. Outer VLAN ID used for QinQ encapsulation\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Whether PoE output is disabled on the port\n"
                },
                "poeKeepStateWhenReboot": {
                    "type": "boolean",
                    "description": "Whether Perpetual PoE capabilities are enabled for a port\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Only for SRX and if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, the name of the Network to be used as the Untagged VLAN\n"
                },
                "preserveDscp": {
                    "type": "boolean",
                    "description": "Whether to preserve dscp when sending traffic over VPN (SSR-only)\n"
                },
                "redundant": {
                    "type": "boolean",
                    "description": "If HA mode. Whether the port participates in the redundant Ethernet configuration\n"
                },
                "redundantGroup": {
                    "type": "integer",
                    "description": "If HA mode, SRX Only - support redundancy-group. 1-128 for physical SRX, 1-64 for virtual SRX\n"
                },
                "rethIdx": {
                    "type": "string",
                    "description": "For SRX only and if HA Mode\n"
                },
                "rethNode": {
                    "type": "string",
                    "description": "If HA mode. Node associated with the redundant Ethernet interface\n"
                },
                "rethNodes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If HA mode and for SSR only. Per-network node assignment used for VLAN-based redundancy\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Link speed configured on the port\n"
                },
                "ssrNoVirtualMac": {
                    "type": "boolean",
                    "description": "When SSR is running as VM, this is required on certain hosting platforms\n"
                },
                "svrPortRange": {
                    "type": "string",
                    "description": "For SSR only. Port range configured on the interface\n"
                },
                "trafficShaping": {
                    "$ref": "#/types/junipermist:device/GatewayPortConfigTrafficShaping:GatewayPortConfigTrafficShaping",
                    "description": "Traffic shaping settings applied to the port\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Logical usage assigned to the port\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID or variable used when the WAN interface is carried on a VLAN\n"
                },
                "vpnPaths": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayPortConfigVpnPaths:GatewayPortConfigVpnPaths"
                    },
                    "description": "Per-VPN path settings for traffic that uses this port\n"
                },
                "wanArpPolicer": {
                    "type": "string",
                    "description": "Only when \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadband`\" pulumi-lang-dotnet=\"`Broadband`\" pulumi-lang-go=\"`broadband`\" pulumi-lang-python=\"`broadband`\" pulumi-lang-yaml=\"`broadband`\" pulumi-lang-java=\"`broadband`\" pulumi-lang-hcl=\"`broadband`\"\u003e`broadband`\u003c/span\u003e. ARP policer profile applied to the WAN port\n"
                },
                "wanExtIp": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, optional. If spoke should reach this port by a different IP\n"
                },
                "wanExtIp6": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, optional. If spoke should reach this port by a different IPv6\n"
                },
                "wanExtraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayPortConfigWanExtraRoutes:GatewayPortConfigWanExtraRoutes"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Property Key is the destination CIDR (e.g. \"100.100.100.0/24\")\n"
                },
                "wanExtraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayPortConfigWanExtraRoutes6:GatewayPortConfigWanExtraRoutes6"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Property Key is the destination CIDR (e.g. \"2a02:1234:420a:10c9::/64\")\n"
                },
                "wanNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Networks reachable through this WAN port for policy definition\n"
                },
                "wanProbeOverride": {
                    "$ref": "#/types/junipermist:device/GatewayPortConfigWanProbeOverride:GatewayPortConfigWanProbeOverride",
                    "description": "Optional WAN health probe override settings for this port\n"
                },
                "wanSourceNat": {
                    "$ref": "#/types/junipermist:device/GatewayPortConfigWanSourceNat:GatewayPortConfigWanSourceNat",
                    "description": "Source NAT settings applied to traffic leaving this WAN port\n"
                },
                "wanSpeedtestMode": {
                    "type": "string",
                    "description": "Controls whether Marvis or the scheduler can run speed tests on this WAN port\n"
                },
                "wanType": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. WAN uplink type configured on the port\n"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled",
                        "poeKeepStateWhenReboot",
                        "usage",
                        "wanSpeedtestMode"
                    ]
                }
            }
        },
        "junipermist:device/GatewayPortConfigIpConfig:GatewayPortConfigIpConfig": {
            "properties": {
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Resolver server IP addresses used by this interface, except on out-of-band interfaces such as vme, em0, or fxp0\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes used by this interface, except on out-of-band interfaces such as vme, em0, or fxp0\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "Except for out-of_band interface (vme/em0/fxp0). Interface Default Gateway IP address (i.e. \"192.168.1.1\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "Except for out-of_band interface (vme/em0/fxp0). Interface Default Gateway IPv6 Address (i.e. \"2001:db8::1\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Interface IP address (i.e. \"192.168.1.8\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Interface IPv6 Address (i.e. \"2001:db8::123\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e. Interface Netmask (i.e. \"/24\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e. Interface IPv6 Netmask (i.e. \"/64\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "network": {
                    "type": "string",
                    "description": "Optional, the network to be used for mgmt\n"
                },
                "poserPassword": {
                    "type": "string",
                    "description": "Password used for PPPoE when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pppoe`\" pulumi-lang-dotnet=\"`Pppoe`\" pulumi-lang-go=\"`pppoe`\" pulumi-lang-python=\"`pppoe`\" pulumi-lang-yaml=\"`pppoe`\" pulumi-lang-java=\"`pppoe`\" pulumi-lang-hcl=\"`pppoe`\"\u003e`pppoe`\u003c/span\u003e\n",
                    "secret": true
                },
                "pppoeAuth": {
                    "type": "string",
                    "description": "Authentication protocol used for PPPoE when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pppoe`\" pulumi-lang-dotnet=\"`Pppoe`\" pulumi-lang-go=\"`pppoe`\" pulumi-lang-python=\"`pppoe`\" pulumi-lang-yaml=\"`pppoe`\" pulumi-lang-java=\"`pppoe`\" pulumi-lang-hcl=\"`pppoe`\"\u003e`pppoe`\u003c/span\u003e\n"
                },
                "pppoeUsername": {
                    "type": "string",
                    "description": "Username used for PPPoE when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pppoe`\" pulumi-lang-dotnet=\"`Pppoe`\" pulumi-lang-go=\"`pppoe`\" pulumi-lang-python=\"`pppoe`\" pulumi-lang-yaml=\"`pppoe`\" pulumi-lang-java=\"`pppoe`\" pulumi-lang-hcl=\"`pppoe`\"\u003e`pppoe`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 assignment mode for this gateway port interface\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 assignment mode for this gateway port interface\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPortConfigTrafficShaping:GatewayPortConfigTrafficShaping": {
            "properties": {
                "classPercentages": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Traffic class bandwidth percentages for high, medium, low, and best-effort queues\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether traffic shaping is enabled\n"
                },
                "maxTxKbps": {
                    "type": "integer",
                    "description": "Maximum transmit bandwidth for the interface, in Kbps\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPortConfigVpnPaths:GatewayPortConfigVpnPaths": {
            "properties": {
                "bfdProfile": {
                    "type": "string",
                    "description": "BFD profile used for this VPN path when the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e\n"
                },
                "bfdUseTunnelMode": {
                    "type": "boolean",
                    "description": "Only if the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e. Whether to use tunnel mode. SSR only\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Only if the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e. For a given VPN, when `path_selection.strategy`==\u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e, the preference for a path (lower is preferred)\n"
                },
                "role": {
                    "type": "string",
                    "description": "Gateway role for this VPN path; valid values depend on the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e\n"
                },
                "trafficShaping": {
                    "$ref": "#/types/junipermist:device/GatewayPortConfigVpnPathsTrafficShaping:GatewayPortConfigVpnPathsTrafficShaping",
                    "description": "Traffic shaping settings applied to this VPN path\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPortConfigVpnPathsTrafficShaping:GatewayPortConfigVpnPathsTrafficShaping": {
            "properties": {
                "classPercentages": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Traffic class bandwidth percentages for high, medium, low, and best-effort queues\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether traffic shaping is enabled\n"
                },
                "maxTxKbps": {
                    "type": "integer",
                    "description": "Maximum transmit bandwidth for the interface, in Kbps\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPortConfigWanExtraRoutes6:GatewayPortConfigWanExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv6 next-hop address for this WAN extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPortConfigWanExtraRoutes:GatewayPortConfigWanExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv4 next-hop address for this WAN extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPortConfigWanProbeOverride:GatewayPortConfigWanProbeOverride": {
            "properties": {
                "ip6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of IPv6 probe host addresses used by this WAN override\n"
                },
                "ips": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of IPv4 probe host addresses used by this WAN override\n"
                },
                "probeProfile": {
                    "type": "string",
                    "description": "WAN probe profile used for health checks on this port\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPortConfigWanSourceNat:GatewayPortConfigWanSourceNat": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Or to disable the source-nat\n"
                },
                "nat6Pool": {
                    "type": "string",
                    "description": "If alternative\u003cspan pulumi-lang-nodejs=\" natPool \" pulumi-lang-dotnet=\" NatPool \" pulumi-lang-go=\" natPool \" pulumi-lang-python=\" nat_pool \" pulumi-lang-yaml=\" natPool \" pulumi-lang-java=\" natPool \" pulumi-lang-hcl=\" nat_pool \"\u003e natPool \u003c/span\u003eis desired\n"
                },
                "natPool": {
                    "type": "string",
                    "description": "If alternative\u003cspan pulumi-lang-nodejs=\" natPool \" pulumi-lang-dotnet=\" NatPool \" pulumi-lang-go=\" natPool \" pulumi-lang-python=\" nat_pool \" pulumi-lang-yaml=\" natPool \" pulumi-lang-java=\" natPool \" pulumi-lang-hcl=\" nat_pool \"\u003e natPool \u003c/span\u003eis desired\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPortMirroring:GatewayPortMirroring": {
            "properties": {
                "portMirror": {
                    "$ref": "#/types/junipermist:device/GatewayPortMirroringPortMirror:GatewayPortMirroringPortMirror",
                    "description": "Mirroring rule that copies ingress traffic from source ports to an output port\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayPortMirroringPortMirror:GatewayPortMirroringPortMirror": {
            "properties": {
                "familyType": {
                    "type": "string",
                    "description": "Packet family used for this port mirroring rule\n"
                },
                "ingressPortIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source gateway port IDs whose ingress traffic is mirrored\n"
                },
                "outputPortId": {
                    "type": "string",
                    "description": "Destination gateway port ID that receives mirrored traffic\n"
                },
                "rate": {
                    "type": "integer",
                    "description": "Sampling rate applied to mirrored traffic\n"
                },
                "runLength": {
                    "type": "integer",
                    "description": "Number of bytes copied from each mirrored packet\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayRoutingPolicies:GatewayRoutingPolicies": {
            "properties": {
                "terms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayRoutingPoliciesTerm:GatewayRoutingPoliciesTerm"
                    },
                    "description": "Ordered terms evaluated by this gateway routing policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayRoutingPoliciesTerm:GatewayRoutingPoliciesTerm": {
            "properties": {
                "actions": {
                    "$ref": "#/types/junipermist:device/GatewayRoutingPoliciesTermActions:GatewayRoutingPoliciesTermActions",
                    "description": "Policy actions applied when this routing policy term matches\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:device/GatewayRoutingPoliciesTermMatching:GatewayRoutingPoliciesTermMatching",
                    "description": "Route match criteria that must be satisfied before actions are applied\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayRoutingPoliciesTermActions:GatewayRoutingPoliciesTermActions": {
            "properties": {
                "accept": {
                    "type": "boolean",
                    "description": "Whether to accept routes that match this term\n"
                },
                "addCommunities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to add to routes that match this term\n"
                },
                "addTargetVrfs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSR target VRFs to add when leaking routes from hub to spoke\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to set when this term is used as an export policy\n"
                },
                "excludeAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AS path values to exclude when this term is used as an export policy\n"
                },
                "excludeCommunities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to exclude from routes that match this term\n"
                },
                "exportCommunities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities allowed for export when this term is used as an export policy\n"
                },
                "localPreference": {
                    "type": "string",
                    "description": "Preference value to set when this term is used as an import policy\n"
                },
                "prependAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AS path values to prepend when this term is used as an export policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayRoutingPoliciesTermMatching:GatewayRoutingPoliciesTermMatching": {
            "properties": {
                "asPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities that routes must match\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Configured network names that routes must match\n"
                },
                "prefixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Route prefixes that routes must match\n"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`aggregate`\" pulumi-lang-dotnet=\"`Aggregate`\" pulumi-lang-go=\"`aggregate`\" pulumi-lang-python=\"`aggregate`\" pulumi-lang-yaml=\"`aggregate`\" pulumi-lang-java=\"`aggregate`\" pulumi-lang-hcl=\"`aggregate`\"\u003e`aggregate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\" pulumi-lang-hcl=\"`bgp`\"\u003e`bgp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`direct`\" pulumi-lang-dotnet=\"`Direct`\" pulumi-lang-go=\"`direct`\" pulumi-lang-python=\"`direct`\" pulumi-lang-yaml=\"`direct`\" pulumi-lang-java=\"`direct`\" pulumi-lang-hcl=\"`direct`\"\u003e`direct`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ospf`\" pulumi-lang-dotnet=\"`Ospf`\" pulumi-lang-go=\"`ospf`\" pulumi-lang-python=\"`ospf`\" pulumi-lang-yaml=\"`ospf`\" pulumi-lang-java=\"`ospf`\" pulumi-lang-hcl=\"`ospf`\"\u003e`ospf`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e (SRX Only)\n"
                },
                "routeExists": {
                    "$ref": "#/types/junipermist:device/GatewayRoutingPoliciesTermMatchingRouteExists:GatewayRoutingPoliciesTermMatchingRouteExists",
                    "description": "Existing route condition that must be satisfied before this term matches\n"
                },
                "vpnNeighborMacs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Overlay neighbor MAC addresses used as match criteria for BGP sessions with \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e\n"
                },
                "vpnPathSla": {
                    "$ref": "#/types/junipermist:device/GatewayRoutingPoliciesTermMatchingVpnPathSla:GatewayRoutingPoliciesTermMatchingVpnPathSla",
                    "description": "SLA thresholds used when matching a VPN path\n"
                },
                "vpnPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Overlay path names used as match criteria for BGP sessions with \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayRoutingPoliciesTermMatchingRouteExists:GatewayRoutingPoliciesTermMatchingRouteExists": {
            "properties": {
                "route": {
                    "type": "string",
                    "description": "Prefix that must exist for this condition to match\n"
                },
                "vrfName": {
                    "type": "string",
                    "description": "Name of the VRF instance where the route is checked; can also be a VPN or WAN name when applicable\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "vrfName"
                    ]
                }
            }
        },
        "junipermist:device/GatewayRoutingPoliciesTermMatchingVpnPathSla:GatewayRoutingPoliciesTermMatchingVpnPathSla": {
            "properties": {
                "maxJitter": {
                    "type": "integer",
                    "description": "Maximum jitter threshold allowed for the VPN path\n"
                },
                "maxLatency": {
                    "type": "integer",
                    "description": "Maximum latency threshold allowed for the VPN path\n"
                },
                "maxLoss": {
                    "type": "integer",
                    "description": "Maximum packet-loss threshold allowed for the VPN path\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicy:GatewayServicePolicy": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined, optional otherwise (override the servicepolicy action). enum: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\" pulumi-lang-hcl=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\" pulumi-lang-hcl=\"`deny`\"\u003e`deny`\u003c/span\u003e\n"
                },
                "antivirus": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicyAntivirus:GatewayServicePolicyAntivirus",
                    "description": "Malware and virus inspection settings applied by this service policy\n"
                },
                "appqoe": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicyAppqoe:GatewayServicePolicyAppqoe",
                    "description": "Application QoE settings applied by this service policy\n"
                },
                "ewfs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayServicePolicyEwf:GatewayServicePolicyEwf"
                    },
                    "description": "Enhanced web filtering rules applied by this service policy\n"
                },
                "idp": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicyIdp:GatewayServicePolicyIdp",
                    "description": "Intrusion detection and prevention settings applied by this service policy\n"
                },
                "localRouting": {
                    "type": "boolean",
                    "description": "Whether the policy permits access within the same VRF\n"
                },
                "name": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined, optional otherwise (override the servicepolicy name)\n"
                },
                "pathPreference": {
                    "type": "string",
                    "description": "By default, we derive all paths available and use them. Optionally, you can customize by using \u003cspan pulumi-lang-nodejs=\"`pathPreference`\" pulumi-lang-dotnet=\"`PathPreference`\" pulumi-lang-go=\"`pathPreference`\" pulumi-lang-python=\"`path_preference`\" pulumi-lang-yaml=\"`pathPreference`\" pulumi-lang-java=\"`pathPreference`\" pulumi-lang-hcl=\"`path_preference`\"\u003e`pathPreference`\u003c/span\u003e\n"
                },
                "servicepolicyId": {
                    "type": "string",
                    "description": "Organization-level service policy identifier used to link and override selected attributes\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined. List of Applications / Destinations\n"
                },
                "skyatp": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicySkyatp:GatewayServicePolicySkyatp",
                    "description": "Threat inspection settings provided by Sky ATP for this service policy\n"
                },
                "sslProxy": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicySslProxy:GatewayServicePolicySslProxy",
                    "description": "TLS inspection settings applied by this service policy\n"
                },
                "syslog": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicySyslog:GatewayServicePolicySyslog",
                    "description": "Remote logging settings applied by this service policy\n"
                },
                "tenants": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined. List of Networks / Users\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicyAntivirus:GatewayServicePolicyAntivirus": {
            "properties": {
                "avprofileId": {
                    "type": "string",
                    "description": "Organization-level antivirus profile ID; takes precedence over inline \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e settings\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether antivirus inspection is enabled for the service policy\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Antivirus profile name to apply, such as \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noftp`\" pulumi-lang-dotnet=\"`Noftp`\" pulumi-lang-go=\"`noftp`\" pulumi-lang-python=\"`noftp`\" pulumi-lang-yaml=\"`noftp`\" pulumi-lang-java=\"`noftp`\" pulumi-lang-hcl=\"`noftp`\"\u003e`noftp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`httponly`\" pulumi-lang-dotnet=\"`Httponly`\" pulumi-lang-go=\"`httponly`\" pulumi-lang-python=\"`httponly`\" pulumi-lang-yaml=\"`httponly`\" pulumi-lang-java=\"`httponly`\" pulumi-lang-hcl=\"`httponly`\"\u003e`httponly`\u003c/span\u003e, or an AV profile key\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicyAppqoe:GatewayServicePolicyAppqoe": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether application QoE is enabled for the service policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicyEwf:GatewayServicePolicyEwf": {
            "properties": {
                "alertOnly": {
                    "type": "boolean",
                    "description": "Whether matching enhanced web filtering traffic is logged without being blocked\n"
                },
                "blockMessage": {
                    "type": "string",
                    "description": "Message returned when enhanced web filtering blocks a request\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this enhanced web filtering rule is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Enhanced web filtering profile applied by this rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicyIdp:GatewayServicePolicyIdp": {
            "properties": {
                "alertOnly": {
                    "type": "boolean",
                    "description": "Whether to alert without enforcing IDP prevention actions\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether IDP inspection is enabled for the policy\n"
                },
                "idpprofileId": {
                    "type": "string",
                    "description": "org_level IDP Profile can be used, this takes precedence over \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e\n"
                },
                "profile": {
                    "type": "string",
                    "description": "enum: `Custom`, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e (default), \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e or keys from idp_profiles\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicySkyatp:GatewayServicePolicySkyatp": {
            "properties": {
                "dnsDgaDetection": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicySkyatpDnsDgaDetection:GatewayServicePolicySkyatpDnsDgaDetection",
                    "description": "Detection settings for DNS DGA threats provided by Sky ATP\n"
                },
                "dnsTunnelDetection": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicySkyatpDnsTunnelDetection:GatewayServicePolicySkyatpDnsTunnelDetection",
                    "description": "Detection settings for DNS tunneling threats provided by Sky ATP\n"
                },
                "httpInspection": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicySkyatpHttpInspection:GatewayServicePolicySkyatpHttpInspection",
                    "description": "Web traffic inspection settings provided by Sky ATP\n"
                },
                "iotDevicePolicy": {
                    "$ref": "#/types/junipermist:device/GatewayServicePolicySkyatpIotDevicePolicy:GatewayServicePolicySkyatpIotDevicePolicy",
                    "description": "Device threat policy settings provided by Sky ATP for IoT clients\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicySkyatpDnsDgaDetection:GatewayServicePolicySkyatpDnsDgaDetection": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP DNS DGA detection is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Sky ATP DNS DGA detection profile to apply\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicySkyatpDnsTunnelDetection:GatewayServicePolicySkyatpDnsTunnelDetection": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP DNS tunneling detection is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Sky ATP DNS tunneling detection profile to apply\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicySkyatpHttpInspection:GatewayServicePolicySkyatpHttpInspection": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP HTTP inspection is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Sky ATP HTTP inspection profile to apply\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicySkyatpIotDevicePolicy:GatewayServicePolicySkyatpIotDevicePolicy": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP IoT device policy inspection is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicySslProxy:GatewayServicePolicySslProxy": {
            "properties": {
                "ciphersCategory": {
                    "type": "string",
                    "description": "Allowed cipher strength category for SSL proxy inspection\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SSL proxy inspection is enabled for the service policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayServicePolicySyslog:GatewayServicePolicySyslog": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether syslog logging is enabled for the service policy\n"
                },
                "serverNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Names of syslog servers that receive logs for this service policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/GatewayTunnelConfigs:GatewayTunnelConfigs": {
            "properties": {
                "autoProvision": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelConfigsAutoProvision:GatewayTunnelConfigsAutoProvision",
                    "description": "Provider auto-provisioning settings for tunnel endpoints\n"
                },
                "ikeLifetime": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Must be between 180 and 86400\n"
                },
                "ikeMode": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. IKE negotiation mode for the tunnel\n"
                },
                "ikeProposals": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayTunnelConfigsIkeProposal:GatewayTunnelConfigsIkeProposal"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`, IKE proposals used for custom IPsec negotiation\n"
                },
                "ipsecLifetime": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Must be between 180 and 86400\n"
                },
                "ipsecProposals": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayTunnelConfigsIpsecProposal:GatewayTunnelConfigsIpsecProposal"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. IPsec proposals used for custom IPsec negotiation\n"
                },
                "localId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`zscaler-ipsec`, \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`jse-ipsec` or \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`\n"
                },
                "localSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Local protected subnets advertised by this tunnel\n"
                },
                "mode": {
                    "type": "string",
                    "description": "Tunnel failover mode used for primary and secondary endpoints\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination networks reachable through this tunnel\n"
                },
                "primary": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelConfigsPrimary:GatewayTunnelConfigsPrimary",
                    "description": "Main remote tunnel endpoint settings\n"
                },
                "probe": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelConfigsProbe:GatewayTunnelConfigsProbe",
                    "description": "Tunnel health probe settings\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Tunnel protocol for custom tunnel negotiation\n"
                },
                "provider": {
                    "type": "string",
                    "description": "Tunnel provider used when auto provisioning is disabled\n"
                },
                "psk": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`zscaler-ipsec`, \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`jse-ipsec` or \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`\n",
                    "secret": true
                },
                "remoteSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Remote protected subnets reached through policy-based IPsec\n"
                },
                "secondary": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelConfigsSecondary:GatewayTunnelConfigsSecondary",
                    "description": "Backup remote tunnel endpoint settings\n"
                },
                "version": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-gre` or \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Tunnel version value for custom tunnel configuration\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayTunnelConfigsAutoProvision:GatewayTunnelConfigsAutoProvision": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Enable auto provisioning for the tunnel. If enabled, the \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\" pulumi-lang-hcl=\"`primary`\"\u003e`primary`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`secondary`\" pulumi-lang-dotnet=\"`Secondary`\" pulumi-lang-go=\"`secondary`\" pulumi-lang-python=\"`secondary`\" pulumi-lang-yaml=\"`secondary`\" pulumi-lang-java=\"`secondary`\" pulumi-lang-hcl=\"`secondary`\"\u003e`secondary`\u003c/span\u003e nodes will be ignored.\n"
                },
                "latlng": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelConfigsAutoProvisionLatlng:GatewayTunnelConfigsAutoProvisionLatlng",
                    "description": "Geographic coordinate override used for tunnel POP selection\n"
                },
                "primary": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelConfigsAutoProvisionPrimary:GatewayTunnelConfigsAutoProvisionPrimary",
                    "description": "Main auto-provisioned tunnel endpoint settings\n"
                },
                "provider": {
                    "type": "string",
                    "description": "Tunnel provider used for automatic endpoint provisioning\n"
                },
                "region": {
                    "type": "string",
                    "description": "API override for POP selection in the case user wants to override the auto discovery of remote network location and force the tunnel to use the specified peer location.\n"
                },
                "secondary": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelConfigsAutoProvisionSecondary:GatewayTunnelConfigsAutoProvisionSecondary",
                    "description": "Backup auto-provisioned tunnel endpoint settings\n"
                },
                "serviceConnection": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`prisma-ipsec`. By default, we'll use the location of the site to determine the optimal Remote Network location, optionally,\u003cspan pulumi-lang-nodejs=\" serviceConnection \" pulumi-lang-dotnet=\" ServiceConnection \" pulumi-lang-go=\" serviceConnection \" pulumi-lang-python=\" service_connection \" pulumi-lang-yaml=\" serviceConnection \" pulumi-lang-java=\" serviceConnection \" pulumi-lang-hcl=\" service_connection \"\u003e serviceConnection \u003c/span\u003ecan be considered, then we'll also consider this along with the site location. Define\u003cspan pulumi-lang-nodejs=\" serviceConnection \" pulumi-lang-dotnet=\" ServiceConnection \" pulumi-lang-go=\" serviceConnection \" pulumi-lang-python=\" service_connection \" pulumi-lang-yaml=\" serviceConnection \" pulumi-lang-java=\" serviceConnection \" pulumi-lang-hcl=\" service_connection \"\u003e serviceConnection \u003c/span\u003eif the traffic is to be routed to a specific service connection. This field takes a service connection name that is configured in the Prisma cloud, Prisma Access Setup \u003e Service Connections.\n"
                }
            },
            "type": "object",
            "required": [
                "provider"
            ]
        },
        "junipermist:device/GatewayTunnelConfigsAutoProvisionLatlng:GatewayTunnelConfigsAutoProvisionLatlng": {
            "properties": {
                "lat": {
                    "type": "number",
                    "description": "Geographic latitude used for POP selection override\n"
                },
                "lng": {
                    "type": "number",
                    "description": "Geographic longitude used for POP selection override\n"
                }
            },
            "type": "object",
            "required": [
                "lat",
                "lng"
            ]
        },
        "junipermist:device/GatewayTunnelConfigsAutoProvisionPrimary:GatewayTunnelConfigsAutoProvisionPrimary": {
            "properties": {
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Probe IP addresses used to monitor auto-provisioned tunnel reachability\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WAN interface names used by the auto-provisioned tunnel endpoint\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayTunnelConfigsAutoProvisionSecondary:GatewayTunnelConfigsAutoProvisionSecondary": {
            "properties": {
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Probe IP addresses used to monitor auto-provisioned tunnel reachability\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WAN interface names used by the auto-provisioned tunnel endpoint\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayTunnelConfigsIkeProposal:GatewayTunnelConfigsIkeProposal": {
            "properties": {
                "authAlgo": {
                    "type": "string",
                    "description": "Integrity algorithm used by this IKE proposal\n"
                },
                "dhGroup": {
                    "type": "string",
                    "description": "Diffie-Hellman group used by this IKE proposal\n"
                },
                "encAlgo": {
                    "type": "string",
                    "description": "Cipher algorithm used by this IKE proposal\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayTunnelConfigsIpsecProposal:GatewayTunnelConfigsIpsecProposal": {
            "properties": {
                "authAlgo": {
                    "type": "string",
                    "description": "Integrity algorithm used by this IPsec proposal\n"
                },
                "dhGroup": {
                    "type": "string",
                    "description": "Diffie-Hellman group used by this IPsec proposal\n"
                },
                "encAlgo": {
                    "type": "string",
                    "description": "Cipher algorithm used by this IPsec proposal\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayTunnelConfigsPrimary:GatewayTunnelConfigsPrimary": {
            "properties": {
                "hosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Remote gateway host addresses for this tunnel node\n"
                },
                "internalIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Internal IP addresses configured on this tunnel node\n"
                },
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Health-check IP addresses used to monitor this tunnel node\n"
                },
                "remoteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IKE identities expected from this tunnel node\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Interface names that source tunnel traffic for this node\n"
                }
            },
            "type": "object",
            "required": [
                "hosts",
                "wanNames"
            ]
        },
        "junipermist:device/GatewayTunnelConfigsProbe:GatewayTunnelConfigsProbe": {
            "properties": {
                "interval": {
                    "type": "integer",
                    "description": "How often to trigger the probe\n"
                },
                "threshold": {
                    "type": "integer",
                    "description": "Number of consecutive misses before declaring the tunnel down\n"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Time within which to complete the connectivity check\n"
                },
                "type": {
                    "type": "string",
                    "description": "Protocol used by the custom IPsec tunnel health probe\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type"
                    ]
                }
            }
        },
        "junipermist:device/GatewayTunnelConfigsSecondary:GatewayTunnelConfigsSecondary": {
            "properties": {
                "hosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Remote gateway host addresses for this tunnel node\n"
                },
                "internalIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Internal IP addresses configured on this tunnel node\n"
                },
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Health-check IP addresses used to monitor this tunnel node\n"
                },
                "remoteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IKE identities expected from this tunnel node\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Interface names that source tunnel traffic for this node\n"
                }
            },
            "type": "object",
            "required": [
                "hosts",
                "wanNames"
            ]
        },
        "junipermist:device/GatewayTunnelProviderOptions:GatewayTunnelProviderOptions": {
            "properties": {
                "jse": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelProviderOptionsJse:GatewayTunnelProviderOptionsJse",
                    "description": "Juniper Secure Edge provisioning options for tunnel endpoints\n"
                },
                "prisma": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelProviderOptionsPrisma:GatewayTunnelProviderOptionsPrisma",
                    "description": "Palo Alto Prisma Access provisioning options for tunnel endpoints\n"
                },
                "zscaler": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelProviderOptionsZscaler:GatewayTunnelProviderOptionsZscaler",
                    "description": "Provider settings for Zscaler tunnel endpoints\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayTunnelProviderOptionsJse:GatewayTunnelProviderOptionsJse": {
            "properties": {
                "numUsers": {
                    "type": "integer",
                    "description": "User capacity to provision on Juniper Secure Edge\n"
                },
                "orgName": {
                    "type": "string",
                    "description": "JSE Organization name\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayTunnelProviderOptionsPrisma:GatewayTunnelProviderOptionsPrisma": {
            "properties": {
                "serviceAccountName": {
                    "type": "string",
                    "description": "For prisma-ipsec, service account name to used for tunnel auto provisioning\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayTunnelProviderOptionsZscaler:GatewayTunnelProviderOptionsZscaler": {
            "properties": {
                "aupBlockInternetUntilAccepted": {
                    "type": "boolean",
                    "description": "Whether Zscaler blocks internet access until the Acceptable Use Policy is accepted\n"
                },
                "aupEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display Acceptable Use Policy (AUP)\n"
                },
                "aupForceSslInspection": {
                    "type": "boolean",
                    "description": "Proxy HTTPs traffic, requiring Zscaler cert to be installed in browser\n"
                },
                "aupTimeoutInDays": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`aupEnabled`\" pulumi-lang-dotnet=\"`AupEnabled`\" pulumi-lang-go=\"`aupEnabled`\" pulumi-lang-python=\"`aup_enabled`\" pulumi-lang-yaml=\"`aupEnabled`\" pulumi-lang-java=\"`aupEnabled`\" pulumi-lang-hcl=\"`aup_enabled`\"\u003e`aupEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Days before AUP is requested again\n"
                },
                "authRequired": {
                    "type": "boolean",
                    "description": "Enable this option to enforce user authentication\n"
                },
                "cautionEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display caution notification for non-authenticated users\n"
                },
                "dnBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                },
                "idleTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, idle Time to Disassociation\n"
                },
                "ofwEnabled": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enable the firewall control option\n"
                },
                "subLocations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayTunnelProviderOptionsZscalerSubLocation:GatewayTunnelProviderOptionsZscalerSubLocation"
                    },
                    "description": "Per-network Zscaler sub-location settings\n"
                },
                "surrogateIp": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Map a user to a private IP address so it applies the user's policies, instead of the location's policies\n"
                },
                "surrogateIpEnforcedForKnownBrowsers": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enforce surrogate IP for known browsers\n"
                },
                "surrogateRefreshTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP_enforced_for_known_browsers`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, must be lower or equal than \u003cspan pulumi-lang-nodejs=\"`idleTimeInMinutes`\" pulumi-lang-dotnet=\"`IdleTimeInMinutes`\" pulumi-lang-go=\"`idleTimeInMinutes`\" pulumi-lang-python=\"`idle_time_in_minutes`\" pulumi-lang-yaml=\"`idleTimeInMinutes`\" pulumi-lang-java=\"`idleTimeInMinutes`\" pulumi-lang-hcl=\"`idle_time_in_minutes`\"\u003e`idleTimeInMinutes`\u003c/span\u003e, refresh Time for re-validation of Surrogacy\n"
                },
                "upBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                },
                "xffForwardEnabled": {
                    "type": "boolean",
                    "description": "Location uses proxy chaining to forward traffic\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayTunnelProviderOptionsZscalerSubLocation:GatewayTunnelProviderOptionsZscalerSubLocation": {
            "properties": {
                "aupBlockInternetUntilAccepted": {
                    "type": "boolean",
                    "description": "Whether this sub-location blocks internet access until the Acceptable Use Policy is accepted\n"
                },
                "aupEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display Acceptable Use Policy (AUP)\n"
                },
                "aupForceSslInspection": {
                    "type": "boolean",
                    "description": "Proxy HTTPs traffic, requiring Zscaler cert to be installed in browser\n"
                },
                "aupTimeoutInDays": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`aupEnabled`\" pulumi-lang-dotnet=\"`AupEnabled`\" pulumi-lang-go=\"`aupEnabled`\" pulumi-lang-python=\"`aup_enabled`\" pulumi-lang-yaml=\"`aupEnabled`\" pulumi-lang-java=\"`aupEnabled`\" pulumi-lang-hcl=\"`aup_enabled`\"\u003e`aupEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Days before AUP is requested again\n"
                },
                "authRequired": {
                    "type": "boolean",
                    "description": "Enable this option to authenticate users\n"
                },
                "cautionEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display caution notification for non-authenticated users\n"
                },
                "dnBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                },
                "idleTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, idle Time to Disassociation\n"
                },
                "name": {
                    "type": "string",
                    "description": "Network name\n"
                },
                "ofwEnabled": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enable the firewall control option\n"
                },
                "surrogateIp": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Map a user to a private IP address so it applies the user's policies, instead of the location's policies\n"
                },
                "surrogateIpEnforcedForKnownBrowsers": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enforce surrogate IP for known browsers\n"
                },
                "surrogateRefreshTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP_enforced_for_known_browsers`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, must be lower or equal than \u003cspan pulumi-lang-nodejs=\"`idleTimeInMinutes`\" pulumi-lang-dotnet=\"`IdleTimeInMinutes`\" pulumi-lang-go=\"`idleTimeInMinutes`\" pulumi-lang-python=\"`idle_time_in_minutes`\" pulumi-lang-yaml=\"`idleTimeInMinutes`\" pulumi-lang-java=\"`idleTimeInMinutes`\" pulumi-lang-hcl=\"`idle_time_in_minutes`\"\u003e`idleTimeInMinutes`\u003c/span\u003e, refresh Time for re-validation of Surrogacy\n"
                },
                "upBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayVrfConfig:GatewayVrfConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable VRF (when supported on the device)\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/GatewayVrfInstances:GatewayVrfInstances": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network names included in this gateway VRF instance\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchAclPolicy:SwitchAclPolicy": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchAclPolicyAction:SwitchAclPolicyAction"
                    },
                    "description": "Destination tag actions evaluated for sources matching this ACL policy\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the ACL policy\n"
                },
                "srcTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source ACL tags that select traffic for this ACL policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchAclPolicyAction:SwitchAclPolicyAction": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Allow or deny decision applied to traffic matching the destination tag\n"
                },
                "dstTag": {
                    "type": "string",
                    "description": "Destination ACL tag matched by this policy action\n"
                }
            },
            "type": "object",
            "required": [
                "dstTag"
            ]
        },
        "junipermist:device/SwitchAclTags:SwitchAclTags": {
            "properties": {
                "etherTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Layer 2 EtherTypes matched by this ACL tag; defaults to \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e\n"
                },
                "gbpTag": {
                    "type": "integer",
                    "description": "Required if\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamicGbp`\" pulumi-lang-dotnet=\"`DynamicGbp`\" pulumi-lang-go=\"`dynamicGbp`\" pulumi-lang-python=\"`dynamic_gbp`\" pulumi-lang-yaml=\"`dynamicGbp`\" pulumi-lang-java=\"`dynamicGbp`\" pulumi-lang-hcl=\"`dynamic_gbp`\"\u003e`dynamicGbp`\u003c/span\u003e (gbp_tag received from RADIUS)\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gbpResource`\" pulumi-lang-dotnet=\"`GbpResource`\" pulumi-lang-go=\"`gbpResource`\" pulumi-lang-python=\"`gbp_resource`\" pulumi-lang-yaml=\"`gbpResource`\" pulumi-lang-java=\"`gbpResource`\" pulumi-lang-hcl=\"`gbp_resource`\"\u003e`gbpResource`\u003c/span\u003e\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e (applying gbp tag against matching conditions)\n"
                },
                "macs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client or resource MAC addresses matched by this ACL tag\n"
                },
                "network": {
                    "type": "string",
                    "description": "If:\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\" pulumi-lang-hcl=\"`mac`\"\u003e`mac`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\" pulumi-lang-hcl=\"`resource`\"\u003e`resource`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e if from matching network (vlan)\n"
                },
                "portUsage": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`portUsage`\" pulumi-lang-dotnet=\"`PortUsage`\" pulumi-lang-go=\"`portUsage`\" pulumi-lang-python=\"`port_usage`\" pulumi-lang-yaml=\"`portUsage`\" pulumi-lang-java=\"`portUsage`\" pulumi-lang-hcl=\"`port_usage`\"\u003e`portUsage`\u003c/span\u003e. Switch port usage name matched by this ACL tag\n"
                },
                "radiusGroup": {
                    "type": "string",
                    "description": "Required if:\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e\nif from matching radius_group\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchAclTagsSpec:SwitchAclTagsSpec"
                    },
                    "description": "Layer 4 protocol and destination-port constraints for this ACL tag\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP subnets matched by this ACL tag\n"
                },
                "type": {
                    "type": "string",
                    "description": "Classifier type that determines which ACL tag fields are evaluated\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "junipermist:device/SwitchAclTagsSpec:SwitchAclTagsSpec": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Matched dst port, \"0\" means any\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\" pulumi-lang-hcl=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`gre`\" pulumi-lang-dotnet=\"`Gre`\" pulumi-lang-go=\"`gre`\" pulumi-lang-python=\"`gre`\" pulumi-lang-yaml=\"`gre`\" pulumi-lang-java=\"`gre`\" pulumi-lang-hcl=\"`gre`\"\u003e`gre`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e / `:protocol_number`, \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254, default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:device/SwitchBgpConfig:SwitchBgpConfig": {
            "properties": {
                "authKey": {
                    "type": "string",
                    "description": "Authentication key used for BGP neighbor sessions, when configured\n"
                },
                "bfdMinimumInterval": {
                    "type": "integer",
                    "description": "Minimum interval in milliseconds for BFD hello packets. A neighbor is considered failed when the device stops receiving replies after the specified interval. Value must be between 1 and 255000.\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Export policy must match one of the policy names defined in the \u003cspan pulumi-lang-nodejs=\"`routingPolicies`\" pulumi-lang-dotnet=\"`RoutingPolicies`\" pulumi-lang-go=\"`routingPolicies`\" pulumi-lang-python=\"`routing_policies`\" pulumi-lang-yaml=\"`routingPolicies`\" pulumi-lang-java=\"`routingPolicies`\" pulumi-lang-hcl=\"`routing_policies`\"\u003e`routingPolicies`\u003c/span\u003e property.\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "Default BGP hold time for switch BGP sessions\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Import policy must match one of the policy names defined in the \u003cspan pulumi-lang-nodejs=\"`routingPolicies`\" pulumi-lang-dotnet=\"`RoutingPolicies`\" pulumi-lang-go=\"`routingPolicies`\" pulumi-lang-python=\"`routing_policies`\" pulumi-lang-yaml=\"`routingPolicies`\" pulumi-lang-java=\"`routingPolicies`\" pulumi-lang-hcl=\"`routing_policies`\"\u003e`routingPolicies`\u003c/span\u003e property.\n"
                },
                "localAs": {
                    "type": "string",
                    "description": "Local BGP Autonomous System (AS) number for the switch\n"
                },
                "neighbors": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchBgpConfigNeighbors:SwitchBgpConfigNeighbors"
                    },
                    "description": "BGP neighbor settings keyed by neighbor IP address\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network names used to add BGP groups to the corresponding VRFs\n"
                },
                "type": {
                    "type": "string",
                    "description": "BGP session type for this switch BGP configuration\n"
                }
            },
            "type": "object",
            "required": [
                "localAs",
                "type"
            ]
        },
        "junipermist:device/SwitchBgpConfigNeighbors:SwitchBgpConfigNeighbors": {
            "properties": {
                "exportPolicy": {
                    "type": "string",
                    "description": "Export policy must match one of the policy names defined in the \u003cspan pulumi-lang-nodejs=\"`routingPolicies`\" pulumi-lang-dotnet=\"`RoutingPolicies`\" pulumi-lang-go=\"`routingPolicies`\" pulumi-lang-python=\"`routing_policies`\" pulumi-lang-yaml=\"`routingPolicies`\" pulumi-lang-java=\"`routingPolicies`\" pulumi-lang-hcl=\"`routing_policies`\"\u003e`routingPolicies`\u003c/span\u003e property.\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "BGP hold time for this neighbor\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Import policy must match one of the policy names defined in the \u003cspan pulumi-lang-nodejs=\"`routingPolicies`\" pulumi-lang-dotnet=\"`RoutingPolicies`\" pulumi-lang-go=\"`routingPolicies`\" pulumi-lang-python=\"`routing_policies`\" pulumi-lang-yaml=\"`routingPolicies`\" pulumi-lang-java=\"`routingPolicies`\" pulumi-lang-hcl=\"`routing_policies`\"\u003e`routingPolicies`\u003c/span\u003e property.\n"
                },
                "multihopTtl": {
                    "type": "integer",
                    "description": "Time-to-live value for multihop BGP sessions to this neighbor\n"
                },
                "neighborAs": {
                    "type": "string",
                    "description": "Autonomous System (AS) number of the BGP neighbor. For internal BGP, this must match \u003cspan pulumi-lang-nodejs=\"`localAs`\" pulumi-lang-dotnet=\"`LocalAs`\" pulumi-lang-go=\"`localAs`\" pulumi-lang-python=\"`local_as`\" pulumi-lang-yaml=\"`localAs`\" pulumi-lang-java=\"`localAs`\" pulumi-lang-hcl=\"`local_as`\"\u003e`localAs`\u003c/span\u003e. For external BGP, this must differ from \u003cspan pulumi-lang-nodejs=\"`localAs`\" pulumi-lang-dotnet=\"`LocalAs`\" pulumi-lang-go=\"`localAs`\" pulumi-lang-python=\"`local_as`\" pulumi-lang-yaml=\"`localAs`\" pulumi-lang-java=\"`localAs`\" pulumi-lang-hcl=\"`local_as`\"\u003e`localAs`\u003c/span\u003e.\n"
                }
            },
            "type": "object",
            "required": [
                "neighborAs"
            ]
        },
        "junipermist:device/SwitchDhcpSnooping:SwitchDhcpSnooping": {
            "properties": {
                "allNetworks": {
                    "type": "boolean",
                    "description": "Whether DHCP snooping applies to all configured networks\n"
                },
                "enableArpSpoofCheck": {
                    "type": "boolean",
                    "description": "Enable for dynamic ARP inspection check\n"
                },
                "enableIpSourceGuard": {
                    "type": "boolean",
                    "description": "Enable for check for forging source IP address\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether DHCP snooping is enabled\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network names with DHCP snooping enabled when \u003cspan pulumi-lang-nodejs=\"`allNetworks`\" pulumi-lang-dotnet=\"`AllNetworks`\" pulumi-lang-go=\"`allNetworks`\" pulumi-lang-python=\"`all_networks`\" pulumi-lang-yaml=\"`allNetworks`\" pulumi-lang-java=\"`allNetworks`\" pulumi-lang-hcl=\"`all_networks`\"\u003e`allNetworks`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchDhcpdConfig:SwitchDhcpdConfig": {
            "properties": {
                "config": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchDhcpdConfigConfig:SwitchDhcpdConfigConfig"
                    },
                    "description": "Property key is the network name\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether switch DHCP server or relay configuration is enabled\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/SwitchDhcpdConfigConfig:SwitchDhcpdConfigConfig": {
            "properties": {
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, DNS servers advertised to DHCP clients\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, DNS search suffixes advertised to DHCP clients\n"
                },
                "fixedBindings": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchDhcpdConfigConfigFixedBindings:SwitchDhcpdConfigConfigFixedBindings"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, fixed client bindings for DHCP service\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e - optional, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\" pulumi-lang-hcl=\"`ip`\"\u003e`ip`\u003c/span\u003e will be used if not provided\n"
                },
                "ipEnd": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, ending IPv4 address for the DHCP lease pool\n"
                },
                "ipEnd6": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, ending IPv6 address for the DHCP lease pool\n"
                },
                "ipStart": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, starting IPv4 address for the DHCP lease pool\n"
                },
                "ipStart6": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, starting IPv6 address for the DHCP lease pool\n"
                },
                "leaseTime": {
                    "type": "integer",
                    "description": "In seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]\n"
                },
                "options": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchDhcpdConfigConfigOptions:SwitchDhcpdConfigConfigOptions"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, custom DHCP options advertised to clients\n"
                },
                "serverIdOverride": {
                    "type": "boolean",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`serverIdOverride`\" pulumi-lang-dotnet=\"`ServerIdOverride`\" pulumi-lang-go=\"`serverIdOverride`\" pulumi-lang-python=\"`server_id_override`\" pulumi-lang-yaml=\"`serverIdOverride`\" pulumi-lang-java=\"`serverIdOverride`\" pulumi-lang-hcl=\"`server_id_override`\"\u003e`serverIdOverride`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, \nshould overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv4 DHCP servers\n"
                },
                "servers6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv6 DHCP servers\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 DHCP mode for this switch network\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 DHCP mode for this switch network\n"
                },
                "vendorEncapsulated": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchDhcpdConfigConfigVendorEncapsulated:SwitchDhcpdConfigConfigVendorEncapsulated"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, vendor-encapsulated DHCP options advertised to clients\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "dnsServers",
                        "dnsSuffixes",
                        "leaseTime",
                        "serverIdOverride",
                        "servers",
                        "servers6s",
                        "type6"
                    ]
                }
            }
        },
        "junipermist:device/SwitchDhcpdConfigConfigFixedBindings:SwitchDhcpdConfigConfigFixedBindings": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Reserved IPv4 address for this fixed DHCP binding\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Reserved IPv6 address for this fixed DHCP binding\n"
                },
                "name": {
                    "type": "string",
                    "description": "Friendly name for this fixed DHCP binding\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchDhcpdConfigConfigOptions:SwitchDhcpdConfigConfigOptions": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this DHCP option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this DHCP option\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchDhcpdConfigConfigVendorEncapsulated:SwitchDhcpdConfigConfigVendorEncapsulated": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this vendor option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this vendor option\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchExtraRoutes6:SwitchExtraRoutes6": {
            "properties": {
                "discard": {
                    "type": "boolean",
                    "description": "Whether to install a discard route; this takes precedence over next-hop settings\n"
                },
                "metric": {
                    "type": "integer",
                    "description": "Route metric for the IPv6 static route\n"
                },
                "nextQualified": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchExtraRoutes6NextQualified:SwitchExtraRoutes6NextQualified"
                    },
                    "description": "Qualified next-hop settings keyed by IPv6 next-hop address\n"
                },
                "noResolve": {
                    "type": "boolean",
                    "description": "Whether to prevent recursive next-hop resolution for the IPv6 static route\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for the IPv6 static route\n"
                },
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv6 address or ECMP next-hop IPv6 addresses for the route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:device/SwitchExtraRoutes6NextQualified:SwitchExtraRoutes6NextQualified": {
            "properties": {
                "metric": {
                    "type": "integer",
                    "description": "Route metric for this qualified IPv6 next hop\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for this qualified IPv6 next hop\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchExtraRoutes:SwitchExtraRoutes": {
            "properties": {
                "discard": {
                    "type": "boolean",
                    "description": "Whether to install a discard route; this takes precedence over next-hop settings\n"
                },
                "metric": {
                    "type": "integer",
                    "description": "Route metric for the IPv4 static route\n"
                },
                "nextQualified": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchExtraRoutesNextQualified:SwitchExtraRoutesNextQualified"
                    },
                    "description": "Qualified next-hop settings keyed by IPv4 next-hop address\n"
                },
                "noResolve": {
                    "type": "boolean",
                    "description": "Whether to prevent recursive next-hop resolution for the IPv4 static route\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for the IPv4 static route\n"
                },
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv4 address or ECMP next-hop IPv4 addresses for the route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:device/SwitchExtraRoutesNextQualified:SwitchExtraRoutesNextQualified": {
            "properties": {
                "metric": {
                    "type": "integer",
                    "description": "Route metric for this qualified IPv4 next hop\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for this qualified IPv4 next hop\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchIpConfig:SwitchIpConfig": {
            "properties": {
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes configured for Junos management traffic\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "Default gateway IPv4 address for this Junos IP configuration\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Configured IPv4 address for this Junos IP configuration\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e\n"
                },
                "network": {
                    "type": "string",
                    "description": "Management network for this IP configuration; used as the default source network for outbound SSH, DNS, NTP, TACACS+, RADIUS, syslog, and SNMP\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for this Junos IP configuration\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "dns",
                        "dnsSuffixes",
                        "type"
                    ]
                }
            }
        },
        "junipermist:device/SwitchLocalPortConfig:SwitchLocalPortConfig": {
            "properties": {
                "allNetworks": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e whether to trunk all network/vlans\n"
                },
                "allowDhcpd": {
                    "type": "boolean",
                    "description": "Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: ports become trusted ports allowing DHCP server traffic, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).\n"
                },
                "allowMultipleSupplicants": {
                    "type": "boolean",
                    "description": "Whether multiple supplicants may authenticate on the port\n"
                },
                "bypassAuthWhenServerDown": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e bypass auth for known clients if set to true when RADIUS server is down\n"
                },
                "bypassAuthWhenServerDownForUnknownClient": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e bypass auth for all (including unknown clients) if set to true when RADIUS server is down\n"
                },
                "description": {
                    "type": "string",
                    "description": "Human-readable description for this local port configuration\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e if speed and duplex are specified, whether to disable autonegotiation\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether the port is disabled\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Link duplex mode for this local port configuration\n"
                },
                "dynamicVlanNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e, networks or VLANs that RADIUS can return for dynamic VLAN assignment\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e whether to enable MAC Auth\n"
                },
                "enableQos": {
                    "type": "boolean",
                    "description": "Whether QoS is enabled on ports using this local configuration\n"
                },
                "guestNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)\n"
                },
                "interSwitchLink": {
                    "type": "boolean",
                    "description": "Used together with \"isolation\" under networks for links between Juniper devices; must be applied to both connected ports\n"
                },
                "macAuthOnly": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to use MAC authentication without 802.1X\n"
                },
                "macAuthPreferred": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`macAuthOnly`\" pulumi-lang-dotnet=\"`MacAuthOnly`\" pulumi-lang-go=\"`macAuthOnly`\" pulumi-lang-python=\"`mac_auth_only`\" pulumi-lang-yaml=\"`macAuthOnly`\" pulumi-lang-java=\"`macAuthOnly`\" pulumi-lang-hcl=\"`mac_auth_only`\"\u003e`macAuthOnly`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, dot1x will be given priority then mac_auth. Enable this to prefer\u003cspan pulumi-lang-nodejs=\" macAuth \" pulumi-lang-dotnet=\" MacAuth \" pulumi-lang-go=\" macAuth \" pulumi-lang-python=\" mac_auth \" pulumi-lang-yaml=\" macAuth \" pulumi-lang-java=\" macAuth \" pulumi-lang-hcl=\" mac_auth \"\u003e macAuth \u003c/span\u003eover dot1x.\n"
                },
                "macAuthProtocol": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, MAC authentication protocol to use\n"
                },
                "macLimit": {
                    "type": "integer",
                    "description": "Max number of MAC addresses, default is 0 for unlimited, otherwise range is 1 or higher, with upper bound constrained by platform\n"
                },
                "mode": {
                    "type": "string",
                    "description": "Switching mode for this local port configuration\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e, network or VLAN names to trunk\n"
                },
                "note": {
                    "type": "string",
                    "description": "Additional note for the port config override\n"
                },
                "persistMac": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\" pulumi-lang-hcl=\"`access`\"\u003e`access`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e whether the port should retain dynamically learned MAC addresses\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Whether PoE capabilities are disabled for a port\n"
                },
                "portAuth": {
                    "type": "string",
                    "description": "802.1X authentication mode for this local port configuration\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Native network/vlan for untagged traffic\n"
                },
                "reauthInterval": {
                    "type": "string",
                    "description": "Only \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e, reauthentication interval range between 10 and 65535 (default: 3600)\n"
                },
                "serverFailNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e sets server fail fallback vlan\n"
                },
                "serverRejectNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e when RADIUS server reject / fails\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Link speed for this local port configuration\n"
                },
                "stormControl": {
                    "$ref": "#/types/junipermist:device/SwitchLocalPortConfigStormControl:SwitchLocalPortConfigStormControl",
                    "description": "Storm-control settings for this local port configuration\n"
                },
                "stpEdge": {
                    "type": "boolean",
                    "description": "When enabled, the port is not expected to receive BPDU frames\n"
                },
                "stpNoRootPort": {
                    "type": "boolean",
                    "description": "Whether STP should prevent this port from becoming a root port\n"
                },
                "stpP2p": {
                    "type": "boolean",
                    "description": "Whether STP treats this port as a point-to-point link\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Port usage profile name for this local port configuration\n"
                },
                "useVstp": {
                    "type": "boolean",
                    "description": "If this is connected to a vstp network\n"
                },
                "voipNetwork": {
                    "type": "string",
                    "description": "Network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth\n"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableAutoneg",
                        "duplex",
                        "poeDisabled",
                        "speed",
                        "usage"
                    ]
                }
            }
        },
        "junipermist:device/SwitchLocalPortConfigStormControl:SwitchLocalPortConfigStormControl": {
            "properties": {
                "disablePort": {
                    "type": "boolean",
                    "description": "Whether to disable the port when storm control is triggered\n"
                },
                "noBroadcast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on broadcast traffic\n"
                },
                "noMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on multicast traffic\n"
                },
                "noRegisteredMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on registered multicast traffic\n"
                },
                "noUnknownUnicast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on unknown unicast traffic\n"
                },
                "percentage": {
                    "type": "integer",
                    "description": "Bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchMistNac:SwitchMistNac": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Mist NAC RadSec is enabled for the switch\n"
                },
                "network": {
                    "type": "string",
                    "description": "Switch network used for Mist NAC RadSec connectivity\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchNetworks:SwitchNetworks": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Only required for EVPN-VXLAN networks, IPv4 Virtual Gateway\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "Only required for EVPN-VXLAN networks, IPv6 Virtual Gateway\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "whether to stop clients to talk to each other, default is false (when enabled, a unique\u003cspan pulumi-lang-nodejs=\" isolationVlanId \" pulumi-lang-dotnet=\" IsolationVlanId \" pulumi-lang-go=\" isolationVlanId \" pulumi-lang-python=\" isolation_vlan_id \" pulumi-lang-yaml=\" isolationVlanId \" pulumi-lang-java=\" isolationVlanId \" pulumi-lang-hcl=\" isolation_vlan_id \"\u003e isolationVlanId \u003c/span\u003eis required). NOTE: this features requires uplink device to also a be Juniper device and \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e to be set. See also \u003cspan pulumi-lang-nodejs=\"`interIsolationNetworkLink`\" pulumi-lang-dotnet=\"`InterIsolationNetworkLink`\" pulumi-lang-go=\"`interIsolationNetworkLink`\" pulumi-lang-python=\"`inter_isolation_network_link`\" pulumi-lang-yaml=\"`interIsolationNetworkLink`\" pulumi-lang-java=\"`interIsolationNetworkLink`\" pulumi-lang-hcl=\"`inter_isolation_network_link`\"\u003e`interIsolationNetworkLink`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`communityVlanId`\" pulumi-lang-dotnet=\"`CommunityVlanId`\" pulumi-lang-go=\"`communityVlanId`\" pulumi-lang-python=\"`community_vlan_id`\" pulumi-lang-yaml=\"`communityVlanId`\" pulumi-lang-java=\"`communityVlanId`\" pulumi-lang-hcl=\"`community_vlan_id`\"\u003e`communityVlanId`\u003c/span\u003e in port_usage\n"
                },
                "isolationVlanId": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Unique VLAN ID used for client isolation\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "Optional for pure switching, required when L3 / routing features are used\n"
                },
                "subnet6": {
                    "type": "string",
                    "description": "Optional for pure switching, required when L3 / routing features are used\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN identifier for this switch network\n"
                }
            },
            "type": "object",
            "required": [
                "vlanId"
            ]
        },
        "junipermist:device/SwitchOobIpConfig:SwitchOobIpConfig": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Default gateway for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e\n"
                },
                "network": {
                    "type": "string",
                    "description": "Optional, the network to be used for mgmt\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for the out-of-band management interface\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "For host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type",
                        "useMgmtVrf"
                    ]
                }
            }
        },
        "junipermist:device/SwitchOspfAreas:SwitchOspfAreas": {
            "properties": {
                "includeLoopback": {
                    "type": "boolean",
                    "description": "Whether loopback interfaces are included in this OSPF area\n"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchOspfAreasNetworks:SwitchOspfAreasNetworks"
                    },
                    "description": "OSPF network settings keyed by network name\n"
                },
                "type": {
                    "type": "string",
                    "description": "Area type for this OSPF area\n"
                }
            },
            "type": "object",
            "required": [
                "networks"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "includeLoopback",
                        "networks",
                        "type"
                    ]
                }
            }
        },
        "junipermist:device/SwitchOspfAreasNetworks:SwitchOspfAreasNetworks": {
            "properties": {
                "authKeys": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\" pulumi-lang-hcl=\"`md5`\"\u003e`md5`\u003c/span\u003e. Property key is the key number\n"
                },
                "authPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e, the password, max length is 8\n"
                },
                "authType": {
                    "type": "string",
                    "description": "Authentication method used by this OSPF network\n"
                },
                "bfdMinimumInterval": {
                    "type": "integer",
                    "description": "Minimum BFD interval for this OSPF network, in milliseconds\n"
                },
                "deadInterval": {
                    "type": "integer",
                    "description": "OSPF dead interval for this network, in seconds\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Routing policy used to export routes from this OSPF network\n"
                },
                "helloInterval": {
                    "type": "integer",
                    "description": "OSPF hello interval for this network, in seconds\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Routing policy used to import routes for this OSPF network\n"
                },
                "interfaceType": {
                    "type": "string",
                    "description": "OSPF interface type used for this network\n"
                },
                "metric": {
                    "type": "integer",
                    "description": "OSPF metric assigned to this network\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "By default, we'll re-advertise all learned OSPF routes toward overlay\n"
                },
                "passive": {
                    "type": "boolean",
                    "description": "Whether to send OSPF-Hello\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "interfaceType",
                        "passive"
                    ]
                }
            }
        },
        "junipermist:device/SwitchOspfConfig:SwitchOspfConfig": {
            "properties": {
                "areas": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchOspfConfigAreas:SwitchOspfConfigAreas"
                    },
                    "description": "OSPF areas configured on the switch\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Enable OSPF on the switch\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "optional, for basic scenario, \u003cspan pulumi-lang-nodejs=\"`importPolicy`\" pulumi-lang-dotnet=\"`ImportPolicy`\" pulumi-lang-go=\"`importPolicy`\" pulumi-lang-python=\"`import_policy`\" pulumi-lang-yaml=\"`importPolicy`\" pulumi-lang-java=\"`importPolicy`\" pulumi-lang-hcl=\"`import_policy`\"\u003e`importPolicy`\u003c/span\u003e can be specified and can be applied to all networks in all areas if not explicitly specified\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "optional, for basic scenario, \u003cspan pulumi-lang-nodejs=\"`importPolicy`\" pulumi-lang-dotnet=\"`ImportPolicy`\" pulumi-lang-go=\"`importPolicy`\" pulumi-lang-python=\"`import_policy`\" pulumi-lang-yaml=\"`importPolicy`\" pulumi-lang-java=\"`importPolicy`\" pulumi-lang-hcl=\"`import_policy`\"\u003e`importPolicy`\u003c/span\u003e can be specified and can be applied to all networks in all areas if not explicitly specified\n"
                },
                "referenceBandwidth": {
                    "type": "string",
                    "description": "Reference bandwidth used for OSPF cost calculation\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchOspfConfigAreas:SwitchOspfConfigAreas": {
            "properties": {
                "noSummary": {
                    "type": "boolean",
                    "description": "Disable OSPF summary routes for this area\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchOtherIpConfigs:SwitchOtherIpConfigs": {
            "properties": {
                "evpnAnycast": {
                    "type": "boolean",
                    "description": "For EVPN, whether anycast is desired\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e; IPv4 address for the additional Junos L3 presence\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e; IPv6 address for the additional Junos L3 presence\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Optional IPv4 netmask; \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e definition will be used if defined\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "Optional IPv6 prefix length; \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e definition will be used if defined\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 assignment mode for the additional Junos L3 presence\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 assignment mode for the additional Junos L3 presence\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "evpnAnycast",
                        "type",
                        "type6"
                    ]
                }
            }
        },
        "junipermist:device/SwitchPortConfig:SwitchPortConfig": {
            "properties": {
                "aeDisableLacp": {
                    "type": "boolean",
                    "description": "To disable LACP support for the AE interface\n"
                },
                "aeIdx": {
                    "type": "integer",
                    "description": "Users could force to use the designated AE name\n"
                },
                "aeLacpForceUp": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, sets the state of the interface as UP when the peer has limited LACP capability. Use case: When a device connected to this AE port is ZTPing for the first time, it will not have LACP configured on the other end. **Note:** Turning this on will enable force-up on one of the interfaces in the bundle only\n"
                },
                "aeLacpPassive": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, sets LACP to passive mode on this AE interface; by default, active (fast) mode is used\n"
                },
                "aeLacpSlow": {
                    "type": "boolean",
                    "description": "To use slow timeout\n"
                },
                "aggregated": {
                    "type": "boolean",
                    "description": "Whether this port is configured as an aggregated Ethernet member\n"
                },
                "critical": {
                    "type": "boolean",
                    "description": "To generate port up/down alarm\n"
                },
                "description": {
                    "type": "string",
                    "description": "Human-readable description for this Junos port\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`speed`\" pulumi-lang-dotnet=\"`Speed`\" pulumi-lang-go=\"`speed`\" pulumi-lang-python=\"`speed`\" pulumi-lang-yaml=\"`speed`\" pulumi-lang-java=\"`speed`\" pulumi-lang-hcl=\"`speed`\"\u003e`speed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`duplex`\" pulumi-lang-dotnet=\"`Duplex`\" pulumi-lang-go=\"`duplex`\" pulumi-lang-python=\"`duplex`\" pulumi-lang-yaml=\"`duplex`\" pulumi-lang-java=\"`duplex`\" pulumi-lang-hcl=\"`duplex`\"\u003e`duplex`\u003c/span\u003e are specified, whether to disable autonegotiation\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Link duplex mode for this Junos port\n"
                },
                "dynamicUsage": {
                    "type": "string",
                    "description": "Enable dynamic usage for this port. Set to \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e to enable.\n"
                },
                "esilag": {
                    "type": "boolean",
                    "description": "Whether this Junos port participates in an ESI-LAG\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names. Required if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`inet`\" pulumi-lang-dotnet=\"`Inet`\" pulumi-lang-go=\"`inet`\" pulumi-lang-python=\"`inet`\" pulumi-lang-yaml=\"`inet`\" pulumi-lang-java=\"`inet`\" pulumi-lang-hcl=\"`inet`\"\u003e`inet`\u003c/span\u003e\n"
                },
                "noLocalOverwrite": {
                    "type": "boolean",
                    "description": "Prevent helpdesk to override the port config\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Whether PoE capabilities are disabled for this Junos port\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlanTunnel`\" pulumi-lang-dotnet=\"`VlanTunnel`\" pulumi-lang-go=\"`vlanTunnel`\" pulumi-lang-python=\"`vlan_tunnel`\" pulumi-lang-yaml=\"`vlanTunnel`\" pulumi-lang-java=\"`vlanTunnel`\" pulumi-lang-hcl=\"`vlan_tunnel`\"\u003e`vlanTunnel`\u003c/span\u003e. Q-in-Q tunneling using All-in-one bundling. This also enables standard L2PT for interfaces that are not encapsulation tunnel interfaces and uses MAC rewrite operation. [View more information](https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/topic-map/q-in-q.html#id-understanding-qinq-tunneling-and-vlan-translation)\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Link speed for this Junos port\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Port usage name. For Q-in-Q, use \u003cspan pulumi-lang-nodejs=\"`vlanTunnel`\" pulumi-lang-dotnet=\"`VlanTunnel`\" pulumi-lang-go=\"`vlanTunnel`\" pulumi-lang-python=\"`vlan_tunnel`\" pulumi-lang-yaml=\"`vlanTunnel`\" pulumi-lang-java=\"`vlanTunnel`\" pulumi-lang-hcl=\"`vlan_tunnel`\"\u003e`vlanTunnel`\u003c/span\u003e. If EVPN is used, use \u003cspan pulumi-lang-nodejs=\"`evpnUplink`\" pulumi-lang-dotnet=\"`EvpnUplink`\" pulumi-lang-go=\"`evpnUplink`\" pulumi-lang-python=\"`evpn_uplink`\" pulumi-lang-yaml=\"`evpnUplink`\" pulumi-lang-java=\"`evpnUplink`\" pulumi-lang-hcl=\"`evpn_uplink`\"\u003e`evpnUplink`\u003c/span\u003eor \u003cspan pulumi-lang-nodejs=\"`evpnDownlink`\" pulumi-lang-dotnet=\"`EvpnDownlink`\" pulumi-lang-go=\"`evpnDownlink`\" pulumi-lang-python=\"`evpn_downlink`\" pulumi-lang-yaml=\"`evpnDownlink`\" pulumi-lang-java=\"`evpnDownlink`\" pulumi-lang-hcl=\"`evpn_downlink`\"\u003e`evpnDownlink`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "critical",
                        "noLocalOverwrite",
                        "usage"
                    ]
                }
            }
        },
        "junipermist:device/SwitchPortConfigOverwrite:SwitchPortConfigOverwrite": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Administrative description applied to the switch port override\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether the port is disabled\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Link duplex mode override for the switch port\n"
                },
                "macLimit": {
                    "type": "string",
                    "description": "MAC address learning limit override for the switch port\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Whether PoE capabilities are disabled for a port\n"
                },
                "poeKeepStateWhenReboot": {
                    "type": "boolean",
                    "description": "Whether Perpetual PoE is enabled; keeps PoE state across reboots\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Native network/vlan for untagged traffic\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Link speed override for the switch port\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled",
                        "duplex",
                        "poeDisabled",
                        "poeKeepStateWhenReboot",
                        "speed"
                    ]
                }
            }
        },
        "junipermist:device/SwitchPortMirroring:SwitchPortMirroring": {
            "properties": {
                "inputNetworksIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Networks whose ingress traffic is mirrored\n"
                },
                "inputPortIdsEgresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Switch ports whose egress traffic is mirrored\n"
                },
                "inputPortIdsIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Switch ports whose ingress traffic is mirrored\n"
                },
                "outputIpAddress": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputNetwork": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputPortId": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "inputNetworksIngresses",
                        "inputPortIdsEgresses",
                        "inputPortIdsIngresses"
                    ]
                }
            }
        },
        "junipermist:device/SwitchPortUsages:SwitchPortUsages": {
            "properties": {
                "allNetworks": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e. Whether to trunk all network/vlans\n"
                },
                "allowDhcpd": {
                    "type": "boolean",
                    "description": "Only applies when \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: ports become trusted ports allowing DHCP server traffic, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).\n"
                },
                "allowMultipleSupplicants": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "bypassAuthWhenServerDown": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for known clients if set to true when RADIUS server is down\n"
                },
                "bypassAuthWhenServerDownForUnknownClient": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for all (including unknown clients) if set to true when RADIUS server is down\n"
                },
                "bypassAuthWhenServerDownForVoip": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for VOIP if set to true when RADIUS server is down\n"
                },
                "communityVlanId": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. To be used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks. Signaling that this port connects to the networks isolated but wired clients belong to the same community can talk to each other\n"
                },
                "description": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. If speed and duplex are specified, whether to disable autonegotiation\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether the port is disabled\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Link duplex mode for this port usage\n"
                },
                "dynamicVlanNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Networks or VLANs that RADIUS can return for dynamic VLAN assignment\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Whether to enable MAC Auth\n"
                },
                "enableQos": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "guestNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)\n"
                },
                "interIsolationNetworkLink": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`interIsolationNetworkLink`\" pulumi-lang-dotnet=\"`InterIsolationNetworkLink`\" pulumi-lang-go=\"`interIsolationNetworkLink`\" pulumi-lang-python=\"`inter_isolation_network_link`\" pulumi-lang-yaml=\"`interIsolationNetworkLink`\" pulumi-lang-java=\"`interIsolationNetworkLink`\" pulumi-lang-hcl=\"`inter_isolation_network_link`\"\u003e`interIsolationNetworkLink`\u003c/span\u003e is used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks, signaling that this port connects to isolated networks\n"
                },
                "interSwitchLink": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e is used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks. NOTE: \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e works only between Juniper devices. This has to be applied to both ports connected together\n"
                },
                "macAuthOnly": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "macAuthPreferred": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`macAuthOnly`\" pulumi-lang-dotnet=\"`MacAuthOnly`\" pulumi-lang-go=\"`macAuthOnly`\" pulumi-lang-python=\"`mac_auth_only`\" pulumi-lang-yaml=\"`macAuthOnly`\" pulumi-lang-java=\"`macAuthOnly`\" pulumi-lang-hcl=\"`mac_auth_only`\"\u003e`macAuthOnly`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, dot1x will be given priority then mac_auth. Enable this to prefer\u003cspan pulumi-lang-nodejs=\" macAuth \" pulumi-lang-dotnet=\" MacAuth \" pulumi-lang-go=\" macAuth \" pulumi-lang-python=\" mac_auth \" pulumi-lang-yaml=\" macAuth \" pulumi-lang-java=\" macAuth \" pulumi-lang-hcl=\" mac_auth \"\u003e macAuth \u003c/span\u003eover dot1x.\n"
                },
                "macAuthProtocol": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. MAC authentication protocol to use; ignored if Mist NAC is enabled\n"
                },
                "macLimit": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e max number of mac addresses, default is 0 for unlimited, otherwise range is 1 to 16383 (upper bound constrained by platform)\n"
                },
                "mode": {
                    "type": "string",
                    "description": "Switching mode for this port usage\n"
                },
                "mtu": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. Value between 256 and 9216, default value is 1514.\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e. Network or VLAN names to trunk\n"
                },
                "persistMac": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\" pulumi-lang-hcl=\"`access`\"\u003e`access`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Whether the port should retain dynamically learned MAC addresses\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether PoE capabilities are disabled for a port\n"
                },
                "poeKeepStateWhenReboot": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether Perpetual PoE is enabled; keeps PoE state across reboots\n"
                },
                "poePriority": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. PoE priority for ports using this port usage\n"
                },
                "portAuth": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. 802.1X authentication mode for this port usage\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Native network/vlan for untagged traffic\n"
                },
                "reauthInterval": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e reauthentication interval range between 10 and 65535 (default: 3600)\n"
                },
                "resetDefaultWhen": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Condition that resets a dynamic port to the default port usage\n"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchPortUsagesRule:SwitchPortUsagesRule"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Dynamic matching rules that select the port usage to apply\n"
                },
                "serverFailNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Sets server fail fallback vlan\n"
                },
                "serverFailRetryInterval": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Interval, in seconds. Sets the wait time before retrying authentication after RADIUS failure to reduce client flapping. Range 120-65535\n"
                },
                "serverRejectNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. When RADIUS server reject / fails\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Link speed for this port usage\n"
                },
                "stormControl": {
                    "$ref": "#/types/junipermist:device/SwitchPortUsagesStormControl:SwitchPortUsagesStormControl",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Storm-control settings for this port usage\n"
                },
                "stpDisable": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`stpRequired`\" pulumi-lang-dotnet=\"`StpRequired`\" pulumi-lang-go=\"`stpRequired`\" pulumi-lang-python=\"`stp_required`\" pulumi-lang-yaml=\"`stpRequired`\" pulumi-lang-java=\"`stpRequired`\" pulumi-lang-hcl=\"`stp_required`\"\u003e`stpRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. Drop bridge protocol data units (BPDUs ) that enter any interface or a specified interface\n"
                },
                "stpEdge": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. When enabled, the port is not expected to receive BPDU frames\n"
                },
                "stpNoRootPort": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "stpP2p": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "stpRequired": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether to remain in block state if no BPDU is received\n"
                },
                "useVstp": {
                    "type": "boolean",
                    "description": "If this is connected to a vstp network\n"
                },
                "voipNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "bypassAuthWhenServerDownForVoip",
                        "description",
                        "networks"
                    ]
                }
            }
        },
        "junipermist:device/SwitchPortUsagesRule:SwitchPortUsagesRule": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Optional description of the rule\n"
                },
                "equals": {
                    "type": "string",
                    "description": "Exact value that the selected source attribute must match\n"
                },
                "equalsAnies": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of values where any match satisfies this dynamic rule\n"
                },
                "expression": {
                    "type": "string",
                    "description": "\"[0:3]\":\"abcdef\" \u003e \"abc\"\n\"split(.)[1]\": \"a.b.c\" \u003e \"b\"\n\"split(-)[1][0:3]: \"a1234-b5678-c90\" \u003e \"b56\"\n"
                },
                "src": {
                    "type": "string",
                    "description": "Source attribute evaluated by this dynamic rule\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Port usage name to apply when this dynamic rule matches\n"
                }
            },
            "type": "object",
            "required": [
                "src"
            ]
        },
        "junipermist:device/SwitchPortUsagesStormControl:SwitchPortUsagesStormControl": {
            "properties": {
                "disablePort": {
                    "type": "boolean",
                    "description": "Whether to disable the port when storm control is triggered\n"
                },
                "noBroadcast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on broadcast traffic\n"
                },
                "noMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on multicast traffic\n"
                },
                "noRegisteredMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on registered multicast traffic\n"
                },
                "noUnknownUnicast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on unknown unicast traffic\n"
                },
                "percentage": {
                    "type": "integer",
                    "description": "Bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchRadiusConfig:SwitchRadiusConfig": {
            "properties": {
                "acctImmediateUpdate": {
                    "type": "boolean",
                    "description": "Whether immediate RADIUS accounting updates are sent\n"
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled\n"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRadiusConfigAcctServer:SwitchRadiusConfigAcctServer"
                    },
                    "description": "RADIUS accounting servers used by this switch configuration\n"
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "Selection strategy for RADIUS authentication servers\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRadiusConfigAuthServer:SwitchRadiusConfigAuthServer"
                    },
                    "description": "RADIUS authentication servers used by this switch configuration\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS Change of Authorization (CoA) is enabled\n"
                },
                "coaPort": {
                    "type": "string",
                    "description": "UDP port used for RADIUS Change of Authorization (CoA)\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "Whether fast 802.1X timers are enabled for RADIUS authentication\n"
                },
                "network": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003eor \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Explicit source IP address for RADIUS traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "acctInterimInterval",
                        "authServerSelection",
                        "authServersRetries",
                        "authServersTimeout",
                        "coaEnabled",
                        "coaPort",
                        "fastDot1xTimers"
                    ]
                }
            }
        },
        "junipermist:device/SwitchRadiusConfigAcctServer:SwitchRadiusConfigAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS accounting server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this accounting server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS accounting server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:device/SwitchRadiusConfigAuthServer:SwitchRadiusConfigAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS authentication server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this authentication server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS authentication server\n"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS authentication server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:device/SwitchRemoteSyslog:SwitchRemoteSyslog": {
            "properties": {
                "archive": {
                    "$ref": "#/types/junipermist:device/SwitchRemoteSyslogArchive:SwitchRemoteSyslogArchive",
                    "description": "Retention settings for generated syslog archive files\n"
                },
                "cacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CA certificates used to verify TLS syslog servers\n"
                },
                "console": {
                    "$ref": "#/types/junipermist:device/SwitchRemoteSyslogConsole:SwitchRemoteSyslogConsole",
                    "description": "Log forwarding filters for console messages sent to remote syslog\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether remote syslog forwarding is enabled\n"
                },
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRemoteSyslogFile:SwitchRemoteSyslogFile"
                    },
                    "description": "Local syslog file definitions to generate and forward\n"
                },
                "network": {
                    "type": "string",
                    "description": "Source network used for syslog traffic. If \u003cspan pulumi-lang-nodejs=\"`sourceAddress`\" pulumi-lang-dotnet=\"`SourceAddress`\" pulumi-lang-go=\"`sourceAddress`\" pulumi-lang-python=\"`source_address`\" pulumi-lang-yaml=\"`sourceAddress`\" pulumi-lang-java=\"`sourceAddress`\" pulumi-lang-hcl=\"`source_address`\"\u003e`sourceAddress`\u003c/span\u003e is configured, Mist uses the VLAN first; otherwise it uses \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e\n"
                },
                "sendToAllServers": {
                    "type": "boolean",
                    "description": "Whether each log entry is sent to all configured remote syslog servers\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRemoteSyslogServer:SwitchRemoteSyslogServer"
                    },
                    "description": "Remote syslog server destinations\n"
                },
                "timeFormat": {
                    "type": "string",
                    "description": "Timestamp format used in forwarded syslog messages\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRemoteSyslogUser:SwitchRemoteSyslogUser"
                    },
                    "description": "User-specific syslog logging rules\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:device/SwitchRemoteSyslogArchive:SwitchRemoteSyslogArchive": {
            "properties": {
                "files": {
                    "type": "string",
                    "description": "Number of archived syslog files to retain\n"
                },
                "size": {
                    "type": "string",
                    "description": "Maximum size of each archived syslog file, such as 5m\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchRemoteSyslogConsole:SwitchRemoteSyslogConsole": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRemoteSyslogConsoleContent:SwitchRemoteSyslogConsoleContent"
                    },
                    "description": "Syslog facilities and severities forwarded from console logs\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchRemoteSyslogConsoleContent:SwitchRemoteSyslogConsoleContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:device/SwitchRemoteSyslogFile:SwitchRemoteSyslogFile": {
            "properties": {
                "archive": {
                    "$ref": "#/types/junipermist:device/SwitchRemoteSyslogFileArchive:SwitchRemoteSyslogFileArchive",
                    "description": "Retention settings for this generated syslog file\n"
                },
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRemoteSyslogFileContent:SwitchRemoteSyslogFileContent"
                    },
                    "description": "Syslog facilities and severities written to this file\n"
                },
                "enableTls": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, enable TLS for this syslog file destination\n"
                },
                "explicitPriority": {
                    "type": "boolean",
                    "description": "Whether to include explicit syslog priority values in file output\n"
                },
                "file": {
                    "type": "string",
                    "description": "Generated syslog file name\n"
                },
                "match": {
                    "type": "string",
                    "description": "Expression used to filter log messages written to this file\n"
                },
                "structuredData": {
                    "type": "boolean",
                    "description": "Whether to include structured syslog data in file output\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchRemoteSyslogFileArchive:SwitchRemoteSyslogFileArchive": {
            "properties": {
                "files": {
                    "type": "string",
                    "description": "Number of archived syslog files to retain\n"
                },
                "size": {
                    "type": "string",
                    "description": "Maximum size of each archived syslog file, such as 5m\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchRemoteSyslogFileContent:SwitchRemoteSyslogFileContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:device/SwitchRemoteSyslogServer:SwitchRemoteSyslogServer": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRemoteSyslogServerContent:SwitchRemoteSyslogServerContent"
                    },
                    "description": "Syslog facilities and severities sent to this server\n"
                },
                "explicitPriority": {
                    "type": "boolean",
                    "description": "Whether to include explicit syslog priority values in messages sent to this server\n"
                },
                "facility": {
                    "type": "string",
                    "description": "Default syslog facility for messages sent to this server\n"
                },
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the remote syslog server\n"
                },
                "match": {
                    "type": "string",
                    "description": "Expression used to filter log messages sent to this server\n"
                },
                "port": {
                    "type": "string",
                    "description": "Network port used by the remote syslog server\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Transport protocol used for this remote syslog server\n"
                },
                "routingInstance": {
                    "type": "string",
                    "description": "Routing instance used to reach this remote syslog server\n"
                },
                "serverName": {
                    "type": "string",
                    "description": "TLS server name used when verifying the remote syslog server certificate\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Default syslog severity for messages sent to this server\n"
                },
                "sourceAddress": {
                    "type": "string",
                    "description": "Source address for syslog traffic. If configured, Mist uses the VLAN first; otherwise it uses \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e\n"
                },
                "structuredData": {
                    "type": "boolean",
                    "description": "Whether to include structured syslog data in messages sent to this server\n"
                },
                "tag": {
                    "type": "string",
                    "description": "Syslog tag value added to messages sent to this server\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "protocol",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:device/SwitchRemoteSyslogServerContent:SwitchRemoteSyslogServerContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:device/SwitchRemoteSyslogUser:SwitchRemoteSyslogUser": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRemoteSyslogUserContent:SwitchRemoteSyslogUserContent"
                    },
                    "description": "Syslog facilities and severities logged for this user rule\n"
                },
                "match": {
                    "type": "string",
                    "description": "Expression used to filter user log messages\n"
                },
                "user": {
                    "type": "string",
                    "description": "Account name or wildcard matched by this syslog rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchRemoteSyslogUserContent:SwitchRemoteSyslogUserContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:device/SwitchRoutingPolicies:SwitchRoutingPolicies": {
            "properties": {
                "terms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchRoutingPoliciesTerm:SwitchRoutingPoliciesTerm"
                    },
                    "description": "Ordered terms evaluated by this switch routing policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchRoutingPoliciesTerm:SwitchRoutingPoliciesTerm": {
            "properties": {
                "actions": {
                    "$ref": "#/types/junipermist:device/SwitchRoutingPoliciesTermActions:SwitchRoutingPoliciesTermActions",
                    "description": "Policy actions applied when this routing policy term matches\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:device/SwitchRoutingPoliciesTermMatching:SwitchRoutingPoliciesTermMatching",
                    "description": "Route match criteria that must be satisfied before actions are applied\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the switch routing policy term\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "junipermist:device/SwitchRoutingPoliciesTermActions:SwitchRoutingPoliciesTermActions": {
            "properties": {
                "accept": {
                    "type": "boolean",
                    "description": "Whether to accept routes that match this term\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to set when this term is used as an export policy\n"
                },
                "localPreference": {
                    "type": "string",
                    "description": "Optional, for an import policy,\u003cspan pulumi-lang-nodejs=\" localPreference \" pulumi-lang-dotnet=\" LocalPreference \" pulumi-lang-go=\" localPreference \" pulumi-lang-python=\" local_preference \" pulumi-lang-yaml=\" localPreference \" pulumi-lang-java=\" localPreference \" pulumi-lang-hcl=\" local_preference \"\u003e localPreference \u003c/span\u003ecan be changed, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "prependAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AS path values to prepend when this term is used as an export policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchRoutingPoliciesTermMatching:SwitchRoutingPoliciesTermMatching": {
            "properties": {
                "asPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities that routes must match\n"
                },
                "prefixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Route prefixes that routes must match\n"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\" pulumi-lang-hcl=\"`bgp`\"\u003e`bgp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`direct`\" pulumi-lang-dotnet=\"`Direct`\" pulumi-lang-go=\"`direct`\" pulumi-lang-python=\"`direct`\" pulumi-lang-yaml=\"`direct`\" pulumi-lang-java=\"`direct`\" pulumi-lang-hcl=\"`direct`\"\u003e`direct`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`evpn`\" pulumi-lang-dotnet=\"`Evpn`\" pulumi-lang-go=\"`evpn`\" pulumi-lang-python=\"`evpn`\" pulumi-lang-yaml=\"`evpn`\" pulumi-lang-java=\"`evpn`\" pulumi-lang-hcl=\"`evpn`\"\u003e`evpn`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ospf`\" pulumi-lang-dotnet=\"`Ospf`\" pulumi-lang-go=\"`ospf`\" pulumi-lang-python=\"`ospf`\" pulumi-lang-yaml=\"`ospf`\" pulumi-lang-java=\"`ospf`\" pulumi-lang-hcl=\"`ospf`\"\u003e`ospf`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfig:SwitchSnmpConfig": {
            "properties": {
                "clientLists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigClientList:SwitchSnmpConfigClientList"
                    },
                    "description": "SNMP client allowlists that can be referenced by communities\n"
                },
                "contact": {
                    "type": "string",
                    "description": "Administrative contact string advertised through SNMP\n"
                },
                "description": {
                    "type": "string",
                    "description": "Device description string advertised through SNMP\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SNMP is enabled\n"
                },
                "engineId": {
                    "type": "string",
                    "description": "SNMP engine ID used for SNMPv3\n"
                },
                "engineIdType": {
                    "type": "string",
                    "description": "Method used to derive the SNMP engine ID\n"
                },
                "location": {
                    "type": "string",
                    "description": "Physical location string advertised through SNMP\n"
                },
                "name": {
                    "type": "string",
                    "description": "System name advertised through SNMP\n"
                },
                "network": {
                    "type": "string",
                    "description": "Management network used for SNMP traffic\n"
                },
                "trapGroups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigTrapGroup:SwitchSnmpConfigTrapGroup"
                    },
                    "description": "SNMP trap group definitions\n"
                },
                "v2cConfigs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV2cConfig:SwitchSnmpConfigV2cConfig"
                    },
                    "description": "SNMPv2c community configuration entries for this SNMP profile\n"
                },
                "v3Config": {
                    "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3Config:SwitchSnmpConfigV3Config",
                    "description": "SNMPv3 user, VACM, notify, and target configuration\n"
                },
                "views": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigView:SwitchSnmpConfigView"
                    },
                    "description": "SNMP MIB view definitions\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "engineIdType"
                    ]
                }
            }
        },
        "junipermist:device/SwitchSnmpConfigClientList:SwitchSnmpConfigClientList": {
            "properties": {
                "clientListName": {
                    "type": "string",
                    "description": "Name of the SNMP client list\n"
                },
                "clients": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SNMP client IP addresses or CIDR ranges allowed by this list\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigTrapGroup:SwitchSnmpConfigTrapGroup": {
            "properties": {
                "categories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trap categories included in this SNMP trap group\n"
                },
                "groupName": {
                    "type": "string",
                    "description": "Trap group name for this SNMP trap group\n"
                },
                "targets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trap target addresses for this SNMP trap group\n"
                },
                "version": {
                    "type": "string",
                    "description": "SNMP trap protocol version used by this group\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "version"
                    ]
                }
            }
        },
        "junipermist:device/SwitchSnmpConfigV2cConfig:SwitchSnmpConfigV2cConfig": {
            "properties": {
                "authorization": {
                    "type": "string",
                    "description": "Access level for the SNMPv2c community\n"
                },
                "clientListName": {
                    "type": "string",
                    "description": "SNMP client list name referenced by this community\n"
                },
                "communityName": {
                    "type": "string",
                    "description": "SNMPv2c community string name\n"
                },
                "view": {
                    "type": "string",
                    "description": "SNMP view name that must be defined in the views list\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigV3Config:SwitchSnmpConfigV3Config": {
            "properties": {
                "notifies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigNotify:SwitchSnmpConfigV3ConfigNotify"
                    },
                    "description": "SNMPv3 notification definitions used for traps and informs\n"
                },
                "notifyFilters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigNotifyFilter:SwitchSnmpConfigV3ConfigNotifyFilter"
                    },
                    "description": "SNMPv3 notification filter profiles\n"
                },
                "targetAddresses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigTargetAddress:SwitchSnmpConfigV3ConfigTargetAddress"
                    },
                    "description": "SNMPv3 notification target addresses\n"
                },
                "targetParameters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigTargetParameter:SwitchSnmpConfigV3ConfigTargetParameter"
                    },
                    "description": "SNMPv3 target parameter profiles\n"
                },
                "usms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigUsm:SwitchSnmpConfigV3ConfigUsm"
                    },
                    "description": "SNMPv3 USM engine configurations\n"
                },
                "vacm": {
                    "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigVacm:SwitchSnmpConfigV3ConfigVacm",
                    "description": "SNMPv3 VACM access control configuration\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigNotify:SwitchSnmpConfigV3ConfigNotify": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Identifier for this SNMPv3 notification definition\n"
                },
                "tag": {
                    "type": "string",
                    "description": "Notification tag used to select target addresses\n"
                },
                "type": {
                    "type": "string",
                    "description": "Delivery mode for this SNMPv3 notification, such as trap or inform\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "tag",
                "type"
            ]
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigNotifyFilter:SwitchSnmpConfigV3ConfigNotifyFilter": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigNotifyFilterContent:SwitchSnmpConfigV3ConfigNotifyFilterContent"
                    },
                    "description": "OID filter rules in this notification filter profile\n"
                },
                "profileName": {
                    "type": "string",
                    "description": "Notification filter profile name\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigNotifyFilterContent:SwitchSnmpConfigV3ConfigNotifyFilterContent": {
            "properties": {
                "include": {
                    "type": "boolean",
                    "description": "Whether the matching OID subtree is included\n"
                },
                "oid": {
                    "type": "string",
                    "description": "Matched OID subtree for this notification filter rule\n"
                }
            },
            "type": "object",
            "required": [
                "oid"
            ]
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigTargetAddress:SwitchSnmpConfigV3ConfigTargetAddress": {
            "properties": {
                "address": {
                    "type": "string",
                    "description": "IP address or hostname of the SNMP target\n"
                },
                "addressMask": {
                    "type": "string",
                    "description": "Mask applied to the SNMP target address\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the SNMP target\n"
                },
                "tagList": {
                    "type": "string",
                    "description": "Set of notification tags for this target address; use spaces between multiple tags\n"
                },
                "targetAddressName": {
                    "type": "string",
                    "description": "Name of the SNMP target address entry\n"
                },
                "targetParameters": {
                    "type": "string",
                    "description": "Target parameter profile referenced by this target address\n"
                }
            },
            "type": "object",
            "required": [
                "address",
                "addressMask",
                "targetAddressName"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "address",
                        "addressMask",
                        "port",
                        "targetAddressName"
                    ]
                }
            }
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigTargetParameter:SwitchSnmpConfigV3ConfigTargetParameter": {
            "properties": {
                "messageProcessingModel": {
                    "type": "string",
                    "description": "SNMP message processing model used by this target parameter profile\n"
                },
                "name": {
                    "type": "string",
                    "description": "Target parameter profile name\n"
                },
                "notifyFilter": {
                    "type": "string",
                    "description": "Notification filter profile referenced by this target parameter profile\n"
                },
                "securityLevel": {
                    "type": "string",
                    "description": "Required security level for this target parameter profile\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "Required security model for this target parameter profile\n"
                },
                "securityName": {
                    "type": "string",
                    "description": "USM security name referenced by this target parameter profile\n"
                }
            },
            "type": "object",
            "required": [
                "messageProcessingModel",
                "name"
            ]
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigUsm:SwitchSnmpConfigV3ConfigUsm": {
            "properties": {
                "engineType": {
                    "type": "string",
                    "description": "SNMP engine type used for this USM configuration\n"
                },
                "remoteEngineId": {
                    "type": "string",
                    "description": "Required only if \u003cspan pulumi-lang-nodejs=\"`engineType`\" pulumi-lang-dotnet=\"`EngineType`\" pulumi-lang-go=\"`engineType`\" pulumi-lang-python=\"`engine_type`\" pulumi-lang-yaml=\"`engineType`\" pulumi-lang-java=\"`engineType`\" pulumi-lang-hcl=\"`engine_type`\"\u003e`engineType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`remoteEngine`\" pulumi-lang-dotnet=\"`RemoteEngine`\" pulumi-lang-go=\"`remoteEngine`\" pulumi-lang-python=\"`remote_engine`\" pulumi-lang-yaml=\"`remoteEngine`\" pulumi-lang-java=\"`remoteEngine`\" pulumi-lang-hcl=\"`remote_engine`\"\u003e`remoteEngine`\u003c/span\u003e\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigUsmUser:SwitchSnmpConfigV3ConfigUsmUser"
                    },
                    "description": "SNMPv3 USM users for this engine\n"
                }
            },
            "type": "object",
            "required": [
                "engineType"
            ]
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigUsmUser:SwitchSnmpConfigV3ConfigUsmUser": {
            "properties": {
                "authenticationPassword": {
                    "type": "string",
                    "description": "Not required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\" pulumi-lang-hcl=\"`authentication_type`\"\u003e`authenticationType`\u003c/span\u003e==`authentication-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters.\n",
                    "secret": true
                },
                "authenticationType": {
                    "type": "string",
                    "description": "Authentication protocol used by this SNMPv3 USM user\n"
                },
                "encryptionPassword": {
                    "type": "string",
                    "description": "Not required if \u003cspan pulumi-lang-nodejs=\"`encryptionType`\" pulumi-lang-dotnet=\"`EncryptionType`\" pulumi-lang-go=\"`encryptionType`\" pulumi-lang-python=\"`encryption_type`\" pulumi-lang-yaml=\"`encryptionType`\" pulumi-lang-java=\"`encryptionType`\" pulumi-lang-hcl=\"`encryption_type`\"\u003e`encryptionType`\u003c/span\u003e==`privacy-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters\n",
                    "secret": true
                },
                "encryptionType": {
                    "type": "string",
                    "description": "Privacy protocol used by this SNMPv3 USM user\n"
                },
                "name": {
                    "type": "string",
                    "description": "Username for the SNMPv3 USM user\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigVacm:SwitchSnmpConfigV3ConfigVacm": {
            "properties": {
                "accesses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigVacmAccess:SwitchSnmpConfigV3ConfigVacmAccess"
                    },
                    "description": "VACM access rules for SNMPv3\n"
                },
                "securityToGroup": {
                    "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigVacmSecurityToGroup:SwitchSnmpConfigV3ConfigVacmSecurityToGroup",
                    "description": "VACM security-name to group mappings\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigVacmAccess:SwitchSnmpConfigV3ConfigVacmAccess": {
            "properties": {
                "groupName": {
                    "type": "string",
                    "description": "SNMP VACM group name\n"
                },
                "prefixLists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigVacmAccessPrefixList:SwitchSnmpConfigV3ConfigVacmAccessPrefixList"
                    },
                    "description": "Context prefix rules for this VACM group\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigVacmAccessPrefixList:SwitchSnmpConfigV3ConfigVacmAccessPrefixList": {
            "properties": {
                "contextPrefix": {
                    "type": "string",
                    "description": "Context prefix for this VACM access rule. Required only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`contextPrefix`\" pulumi-lang-dotnet=\"`ContextPrefix`\" pulumi-lang-go=\"`contextPrefix`\" pulumi-lang-python=\"`context_prefix`\" pulumi-lang-yaml=\"`contextPrefix`\" pulumi-lang-java=\"`contextPrefix`\" pulumi-lang-hcl=\"`context_prefix`\"\u003e`contextPrefix`\u003c/span\u003e\n"
                },
                "notifyView": {
                    "type": "string",
                    "description": "Notify view name referenced by this VACM access rule\n"
                },
                "readView": {
                    "type": "string",
                    "description": "Read view name referenced by this VACM access rule\n"
                },
                "securityLevel": {
                    "type": "string",
                    "description": "Required security level for this VACM access rule\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "Required security model for this VACM access rule\n"
                },
                "type": {
                    "type": "string",
                    "description": "VACM context matching type for this access rule\n"
                },
                "writeView": {
                    "type": "string",
                    "description": "Write view name referenced by this VACM access rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigVacmSecurityToGroup:SwitchSnmpConfigV3ConfigVacmSecurityToGroup": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfigV3ConfigVacmSecurityToGroupContent:SwitchSnmpConfigV3ConfigVacmSecurityToGroupContent"
                    },
                    "description": "VACM security-name to group mapping entries\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "Required security model for these VACM group mappings\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigV3ConfigVacmSecurityToGroupContent:SwitchSnmpConfigV3ConfigVacmSecurityToGroupContent": {
            "properties": {
                "group": {
                    "type": "string",
                    "description": "VACM group name referenced by this mapping\n"
                },
                "securityName": {
                    "type": "string",
                    "description": "Name of the SNMP security principal mapped to a VACM group\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSnmpConfigView:SwitchSnmpConfigView": {
            "properties": {
                "include": {
                    "type": "boolean",
                    "description": "Whether the root OID is included in this SNMP view\n"
                },
                "oid": {
                    "type": "string",
                    "description": "Root OID for this SNMP view\n"
                },
                "viewName": {
                    "type": "string",
                    "description": "Name of the SNMP MIB view definition\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchStpConfig:SwitchStpConfig": {
            "properties": {
                "bridgePriority": {
                    "type": "string",
                    "description": "Switch STP priority. Range [0, 4k, 8k.. 60k] in steps of 4k. Bridge priority applies to both VSTP and RSTP.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "bridgePriority"
                    ]
                }
            }
        },
        "junipermist:device/SwitchSwitchMgmt:SwitchSwitchMgmt": {
            "properties": {
                "apAffinityThreshold": {
                    "type": "integer",
                    "description": "AP affinity threshold for switch management. If set in both site settings and organization settings, the site setting value is used.\n"
                },
                "cliBanner": {
                    "type": "string",
                    "description": "Set Banners for switches. Allows markup formatting\n"
                },
                "cliIdleTimeout": {
                    "type": "integer",
                    "description": "Sets timeout for switches\n"
                },
                "configRevertTimer": {
                    "type": "integer",
                    "description": "Rollback timer for commit confirmed\n"
                },
                "dhcpOptionFqdn": {
                    "type": "boolean",
                    "description": "Enable to provide the FQDN with DHCP option 81\n"
                },
                "disableOobDownAlarm": {
                    "type": "boolean",
                    "description": "Whether to suppress alarms when the switch out-of-band management interface is down\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the switch\n"
                },
                "localAccounts": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchSwitchMgmtLocalAccounts:SwitchSwitchMgmtLocalAccounts"
                    },
                    "description": "Local switch user accounts keyed by username\n"
                },
                "mxedgeProxyHost": {
                    "type": "string",
                    "description": "IP address or FQDN of the Mist Edge used to proxy the switch management traffic to the Mist Cloud\n"
                },
                "mxedgeProxyPort": {
                    "type": "string",
                    "description": "Mist Edge port used to proxy the switch management traffic to the Mist Cloud. Value in range 1-65535\n"
                },
                "protectRe": {
                    "$ref": "#/types/junipermist:device/SwitchSwitchMgmtProtectRe:SwitchSwitchMgmtProtectRe",
                    "description": "Control-plane protection settings for the switch\n"
                },
                "removeExistingConfigs": {
                    "type": "boolean",
                    "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed.\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "Root password for local switch access\n",
                    "secret": true
                },
                "tacacs": {
                    "$ref": "#/types/junipermist:device/SwitchSwitchMgmtTacacs:SwitchSwitchMgmtTacacs",
                    "description": "Management authentication settings using TACACS+\n"
                },
                "useMxedgeProxy": {
                    "type": "boolean",
                    "description": "Whether to use Mist Edge as a proxy for switch management traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "configRevertTimer"
                    ]
                }
            }
        },
        "junipermist:device/SwitchSwitchMgmtLocalAccounts:SwitchSwitchMgmtLocalAccounts": {
            "properties": {
                "password": {
                    "type": "string",
                    "description": "Local password for the switch user account\n",
                    "secret": true
                },
                "role": {
                    "type": "string",
                    "description": "Access role granted to the local switch user account\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "role"
                    ]
                }
            }
        },
        "junipermist:device/SwitchSwitchMgmtProtectRe:SwitchSwitchMgmtProtectRe": {
            "properties": {
                "allowedServices": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "optionally, services we'll allow. enum: \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\" pulumi-lang-hcl=\"`ssh`\"\u003e`ssh`\u003c/span\u003e\n"
                },
                "customs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSwitchMgmtProtectReCustom:SwitchSwitchMgmtProtectReCustom"
                    },
                    "description": "Additional ACL entries allowed by the Protect RE policy\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled, all traffic that is not essential to our operation will be dropped\ne.g. ntp / dns / traffic to mist will be allowed by default\n     if dhcpd is enabled, we'll make sure it works\n"
                },
                "hitCount": {
                    "type": "boolean",
                    "description": "Whether to enable hit count for Protect_RE policy\n"
                },
                "trustedHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trusted host or subnet entries allowed by the Protect RE policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowedServices",
                        "customs",
                        "enabled",
                        "hitCount",
                        "trustedHosts"
                    ]
                }
            }
        },
        "junipermist:device/SwitchSwitchMgmtProtectReCustom:SwitchSwitchMgmtProtectReCustom": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "matched dst port, \"0\" means any. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source subnets matched by this custom Protect RE ACL\n"
                }
            },
            "type": "object",
            "required": [
                "subnets"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol",
                        "subnets"
                    ]
                }
            }
        },
        "junipermist:device/SwitchSwitchMgmtTacacs:SwitchSwitchMgmtTacacs": {
            "properties": {
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSwitchMgmtTacacsAcctServer:SwitchSwitchMgmtTacacsAcctServer"
                    },
                    "description": "TACACS+ accounting servers used for switch management sessions\n"
                },
                "defaultRole": {
                    "type": "string",
                    "description": "Default switch-management role to use for TACACS+ logins\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether TACACS+ is enabled for switch management authentication\n"
                },
                "network": {
                    "type": "string",
                    "description": "Source network used for connectivity to the TACACS+ servers\n"
                },
                "tacplusServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchSwitchMgmtTacacsTacplusServer:SwitchSwitchMgmtTacacsTacplusServer"
                    },
                    "description": "TACACS+ authentication servers used for switch management logins\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchSwitchMgmtTacacsAcctServer:SwitchSwitchMgmtTacacsAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the TACACS+ accounting server\n"
                },
                "port": {
                    "type": "string",
                    "description": "TCP port used by the TACACS+ accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this TACACS+ accounting server\n",
                    "secret": true
                },
                "timeout": {
                    "type": "integer",
                    "description": "TACACS+ accounting server timeout, in seconds\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeout"
                    ]
                }
            }
        },
        "junipermist:device/SwitchSwitchMgmtTacacsTacplusServer:SwitchSwitchMgmtTacacsTacplusServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the TACACS+ authentication server\n"
                },
                "port": {
                    "type": "string",
                    "description": "TCP port used by the TACACS+ authentication server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this TACACS+ authentication server\n",
                    "secret": true
                },
                "timeout": {
                    "type": "integer",
                    "description": "TACACS+ authentication server timeout, in seconds\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeout"
                    ]
                }
            }
        },
        "junipermist:device/SwitchVirtualChassis:SwitchVirtualChassis": {
            "properties": {
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchVirtualChassisMember:SwitchVirtualChassisMember"
                    },
                    "description": "Virtual Chassis members and their expected roles\n"
                },
                "preprovisioned": {
                    "type": "boolean",
                    "description": "To configure whether the VC is preprovisioned or nonprovisioned\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "preprovisioned"
                    ]
                }
            }
        },
        "junipermist:device/SwitchVirtualChassisMember:SwitchVirtualChassisMember": {
            "properties": {
                "mac": {
                    "type": "string",
                    "description": "Virtual Chassis member MAC address; for FPC0 this matches the device ID MAC\n"
                },
                "memberId": {
                    "type": "integer",
                    "description": "Virtual Chassis member identifier\n"
                },
                "vcRole": {
                    "type": "string",
                    "description": "Role of this member in the Virtual Chassis\n"
                }
            },
            "type": "object",
            "required": [
                "mac",
                "memberId",
                "vcRole"
            ]
        },
        "junipermist:device/SwitchVrfConfig:SwitchVrfConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable VRF (when supported on the device)\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchVrfInstances:SwitchVrfInstances": {
            "properties": {
                "evpnAutoLoopbackSubnet": {
                    "type": "string",
                    "description": "IPv4 subnet used for automatic EVPN loopback addresses in this VRF instance\n"
                },
                "evpnAutoLoopbackSubnet6": {
                    "type": "string",
                    "description": "IPv6 subnet used for automatic EVPN loopback addresses in this VRF instance\n"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchVrfInstancesExtraRoutes:SwitchVrfInstancesExtraRoutes"
                    },
                    "description": "Additional IPv4 static routes configured for this VRF instance\n"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchVrfInstancesExtraRoutes6:SwitchVrfInstancesExtraRoutes6"
                    },
                    "description": "Additional IPv6 static routes configured for this VRF instance\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Names of switch networks included in this VRF instance\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchVrfInstancesExtraRoutes6:SwitchVrfInstancesExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv6 next-hop address for this VRF extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchVrfInstancesExtraRoutes:SwitchVrfInstancesExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv4 next-hop address for this VRF extra route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:device/SwitchVrrpConfig:SwitchVrrpConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether VRRP configuration is enabled\n"
                },
                "groups": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchVrrpConfigGroups:SwitchVrrpConfigGroups"
                    },
                    "description": "VRRP groups keyed by group name\n"
                }
            },
            "type": "object"
        },
        "junipermist:device/SwitchVrrpConfigGroups:SwitchVrrpConfigGroups": {
            "properties": {
                "preempt": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, allow preemption (a backup router can preempt a primary router)\n"
                },
                "priority": {
                    "type": "integer",
                    "description": "VRRP priority for this router in the group\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "preempt"
                    ]
                }
            }
        },
        "junipermist:device/baseLatlng:baseLatlng": {
            "properties": {
                "lat": {
                    "type": "number",
                    "description": "Geographic latitude in decimal degrees\n"
                },
                "lng": {
                    "type": "number",
                    "description": "Geographic longitude in decimal degrees\n"
                }
            },
            "type": "object",
            "required": [
                "lat",
                "lng"
            ]
        },
        "junipermist:device/getApStatsDeviceApStat:getApStatsDeviceApStat": {
            "properties": {
                "antennaSelect": {
                    "type": "string",
                    "description": "Antenna Mode for AP which supports selectable antennas. enum: `\"\"` (default), \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\" pulumi-lang-hcl=\"`internal`\"\u003e`internal`\u003c/span\u003e\n"
                },
                "autoPlacement": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatAutoPlacement:getApStatsDeviceApStatAutoPlacement"
                },
                "autoUpgradeStat": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatAutoUpgradeStat:getApStatsDeviceApStatAutoUpgradeStat"
                },
                "bleStat": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatBleStat:getApStatsDeviceApStatBleStat"
                },
                "certExpiry": {
                    "type": "number"
                },
                "configReverted": {
                    "type": "boolean"
                },
                "cpuSystem": {
                    "type": "integer"
                },
                "cpuUser": {
                    "type": "integer"
                },
                "cpuUtil": {
                    "type": "integer"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "deviceprofileId": {
                    "type": "string"
                },
                "envStat": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatEnvStat:getApStatsDeviceApStatEnvStat",
                    "description": "Device environment, including CPU temperature, Ambient temperature, Humidity, Attitude, Pressure, Accelerometers, Magnetometers and vCore Voltage\n"
                },
                "eslStat": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatEslStat:getApStatsDeviceApStatEslStat"
                },
                "expiringCerts": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Map of certificate serial numbers to their expiry timestamps (in epoch) for certificates expiring within 30 days. Property key is the certificate serial number\n"
                },
                "extIp": {
                    "type": "string"
                },
                "fwupdate": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatFwupdate:getApStatsDeviceApStatFwupdate"
                },
                "gpsStat": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatGpsStat:getApStatsDeviceApStatGpsStat"
                },
                "hwRev": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "inactiveWiredVlans": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "iotStat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getApStatsDeviceApStatIotStat:getApStatsDeviceApStatIotStat"
                    }
                },
                "ip": {
                    "type": "string"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatIpConfig:getApStatsDeviceApStatIpConfig",
                    "description": "IP AP settings\n"
                },
                "ipStat": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatIpStat:getApStatsDeviceApStatIpStat"
                },
                "l2tpStat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getApStatsDeviceApStatL2tpStat:getApStatsDeviceApStatL2tpStat"
                    },
                    "description": "L2TP tunnel status (key is the wxtunnel*id)\n"
                },
                "lastSeen": {
                    "type": "number",
                    "description": "Last seen timestamp\n"
                },
                "lastTrouble": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatLastTrouble:getApStatsDeviceApStatLastTrouble",
                    "description": "Last trouble code of switch\n"
                },
                "led": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatLed:getApStatsDeviceApStatLed",
                    "description": "LED AP settings\n"
                },
                "lldpStat": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatLldpStat:getApStatsDeviceApStatLldpStat",
                    "description": "LLDP neighbor information and power negotiations. For backward compatibility, when multiple neighbors exist, only information from the first neighbor is displayed.\n"
                },
                "lldpStats": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getApStatsDeviceApStatLldpStats:getApStatsDeviceApStatLldpStats"
                    },
                    "description": "Property key is the port name (e.g. \"eth0\", \"eth1\", ...). Map of ethernet ports to their respective LLDP neighbor information and power negotiations. Only present when multiple neighbors exist.\n"
                },
                "locating": {
                    "type": "boolean"
                },
                "locked": {
                    "type": "boolean",
                    "description": "Whether this AP is considered locked (placement / orientation has been vetted)\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Device mac\n"
                },
                "mapId": {
                    "type": "string"
                },
                "memTotalKb": {
                    "type": "integer"
                },
                "memUsedKb": {
                    "type": "integer"
                },
                "meshDownlinks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getApStatsDeviceApStatMeshDownlinks:getApStatsDeviceApStatMeshDownlinks"
                    },
                    "description": "Property key is the mesh downlink id (e.g. `00000000-0000-0000-1000-5c5b35000010`)\n"
                },
                "meshUplink": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatMeshUplink:getApStatsDeviceApStatMeshUplink"
                },
                "model": {
                    "type": "string",
                    "description": "Device model\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "mount": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "numClients": {
                    "type": "integer",
                    "description": "How many wireless clients are currently connected\n"
                },
                "numWlans": {
                    "type": "integer",
                    "description": "How many WLANs are applied to the device\n"
                },
                "orgId": {
                    "type": "string"
                },
                "portStat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getApStatsDeviceApStatPortStat:getApStatsDeviceApStatPortStat"
                    },
                    "description": "Property key is the port name (e.g. \u003cspan pulumi-lang-nodejs=\"`eth0`\" pulumi-lang-dotnet=\"`Eth0`\" pulumi-lang-go=\"`eth0`\" pulumi-lang-python=\"`eth0`\" pulumi-lang-yaml=\"`eth0`\" pulumi-lang-java=\"`eth0`\" pulumi-lang-hcl=\"`eth0`\"\u003e`eth0`\u003c/span\u003e)\n"
                },
                "powerBudget": {
                    "type": "integer",
                    "description": "In mW, surplus if positive or deficit if negative\n"
                },
                "powerConstrained": {
                    "type": "boolean",
                    "description": "Whether insufficient power\n"
                },
                "powerOpmode": {
                    "type": "string",
                    "description": "Constrained mode\n"
                },
                "powerSrc": {
                    "type": "string",
                    "description": "DC Input / PoE 802.3at / PoE 802.3af / LLDP / ? (unknown)\n"
                },
                "radioStat": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatRadioStat:getApStatsDeviceApStatRadioStat"
                },
                "rxBps": {
                    "type": "integer",
                    "description": "Rate of receiving traffic, bits/seconds, last known\n"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "serial": {
                    "type": "string",
                    "description": "Serial Number\n"
                },
                "siteId": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "switchRedundancy": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatSwitchRedundancy:getApStatsDeviceApStatSwitchRedundancy"
                },
                "txBps": {
                    "type": "integer",
                    "description": "Rate of transmitting traffic, bits/seconds, last known\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "uptime": {
                    "type": "number",
                    "description": "How long, in seconds, has the device been up (or rebooted)\n"
                },
                "usbStat": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatUsbStat:getApStatsDeviceApStatUsbStat"
                },
                "version": {
                    "type": "string"
                },
                "x": {
                    "type": "number"
                },
                "y": {
                    "type": "number"
                }
            },
            "type": "object",
            "required": [
                "antennaSelect",
                "autoPlacement",
                "autoUpgradeStat",
                "bleStat",
                "certExpiry",
                "configReverted",
                "cpuSystem",
                "cpuUser",
                "cpuUtil",
                "createdTime",
                "deviceprofileId",
                "envStat",
                "eslStat",
                "expiringCerts",
                "extIp",
                "fwupdate",
                "gpsStat",
                "hwRev",
                "id",
                "inactiveWiredVlans",
                "iotStat",
                "ip",
                "ipConfig",
                "ipStat",
                "l2tpStat",
                "lastSeen",
                "lastTrouble",
                "led",
                "lldpStat",
                "lldpStats",
                "locating",
                "locked",
                "mac",
                "mapId",
                "memTotalKb",
                "memUsedKb",
                "meshDownlinks",
                "meshUplink",
                "model",
                "modifiedTime",
                "mount",
                "name",
                "notes",
                "numClients",
                "numWlans",
                "orgId",
                "portStat",
                "powerBudget",
                "powerConstrained",
                "powerOpmode",
                "powerSrc",
                "radioStat",
                "rxBps",
                "rxBytes",
                "rxPkts",
                "serial",
                "siteId",
                "status",
                "switchRedundancy",
                "txBps",
                "txBytes",
                "txPkts",
                "uptime",
                "usbStat",
                "version",
                "x",
                "y"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatAutoPlacement:getApStatsDeviceApStatAutoPlacement": {
            "properties": {
                "info": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatAutoPlacementInfo:getApStatsDeviceApStatAutoPlacementInfo",
                    "description": "Additional information about auto placements AP data\n"
                },
                "recommendedAnchor": {
                    "type": "boolean",
                    "description": "Flag to represent if AP is recommended as an anchor by auto placement service\n"
                },
                "status": {
                    "type": "string",
                    "description": "Basic Placement Status\n"
                },
                "statusDetail": {
                    "type": "string",
                    "description": "Additional info about placement status\n"
                },
                "x": {
                    "type": "number",
                    "description": "X Autoplaced Position in pixels\n"
                },
                "xM": {
                    "type": "number",
                    "description": "X Autoplaced Position in meters\n"
                },
                "y": {
                    "type": "number",
                    "description": "Y Autoplaced Position in pixels\n"
                },
                "yM": {
                    "type": "number",
                    "description": "X Autoplaced Position in meters\n"
                }
            },
            "type": "object",
            "required": [
                "info",
                "recommendedAnchor",
                "status",
                "statusDetail",
                "x",
                "xM",
                "y",
                "yM"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatAutoPlacementInfo:getApStatsDeviceApStatAutoPlacementInfo": {
            "properties": {
                "clusterNumber": {
                    "type": "integer",
                    "description": "All APs sharing a given cluster number can be placed relative to each other\n"
                },
                "orientationStats": {
                    "type": "integer",
                    "description": "The orientation of an AP\n"
                },
                "probabilitySurface": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatAutoPlacementInfoProbabilitySurface:getApStatsDeviceApStatAutoPlacementInfoProbabilitySurface",
                    "description": "Coordinates representing a circle where the AP is most likely exists in the event of an inaccurate placement result\n"
                }
            },
            "type": "object",
            "required": [
                "clusterNumber",
                "orientationStats",
                "probabilitySurface"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatAutoPlacementInfoProbabilitySurface:getApStatsDeviceApStatAutoPlacementInfoProbabilitySurface": {
            "properties": {
                "radius": {
                    "type": "number",
                    "description": "The radius representing placement uncertainty, measured in pixels\n"
                },
                "radiusM": {
                    "type": "number",
                    "description": "The radius representing placement uncertainty, measured in meters\n"
                },
                "x": {
                    "type": "number",
                    "description": "Y-coordinate of the potential placement’s center, measured in pixels\n"
                }
            },
            "type": "object",
            "required": [
                "radius",
                "radiusM",
                "x"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatAutoUpgradeStat:getApStatsDeviceApStatAutoUpgradeStat": {
            "properties": {
                "lastcheck": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "lastcheck"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatBleStat:getApStatsDeviceApStatBleStat": {
            "properties": {
                "beaconEnabled": {
                    "type": "boolean"
                },
                "beaconRate": {
                    "type": "integer"
                },
                "eddystoneUidEnabled": {
                    "type": "boolean"
                },
                "eddystoneUidFreqMsec": {
                    "type": "integer"
                },
                "eddystoneUidInstance": {
                    "type": "string"
                },
                "eddystoneUidNamespace": {
                    "type": "string"
                },
                "eddystoneUrlEnabled": {
                    "type": "boolean"
                },
                "eddystoneUrlFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emit by Eddystone-UID beacon\n"
                },
                "eddystoneUrlUrl": {
                    "type": "string"
                },
                "ibeaconEnabled": {
                    "type": "boolean"
                },
                "ibeaconFreqMsec": {
                    "type": "integer"
                },
                "ibeaconMajor": {
                    "type": "integer",
                    "description": "Major number for iBeacon\n"
                },
                "ibeaconMinor": {
                    "type": "integer",
                    "description": "Minor number for iBeacon\n"
                },
                "ibeaconUuid": {
                    "type": "string"
                },
                "major": {
                    "type": "integer"
                },
                "minors": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "power": {
                    "type": "integer"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "txResets": {
                    "type": "integer",
                    "description": "Resets due to tx hung\n"
                },
                "uuid": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "beaconEnabled",
                "beaconRate",
                "eddystoneUidEnabled",
                "eddystoneUidFreqMsec",
                "eddystoneUidInstance",
                "eddystoneUidNamespace",
                "eddystoneUrlEnabled",
                "eddystoneUrlFreqMsec",
                "eddystoneUrlUrl",
                "ibeaconEnabled",
                "ibeaconFreqMsec",
                "ibeaconMajor",
                "ibeaconMinor",
                "ibeaconUuid",
                "major",
                "minors",
                "power",
                "rxBytes",
                "rxPkts",
                "txBytes",
                "txPkts",
                "txResets",
                "uuid"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatEnvStat:getApStatsDeviceApStatEnvStat": {
            "properties": {
                "accelX": {
                    "type": "number"
                },
                "accelY": {
                    "type": "number"
                },
                "accelZ": {
                    "type": "number"
                },
                "ambientTemp": {
                    "type": "integer"
                },
                "attitude": {
                    "type": "integer"
                },
                "cpuTemp": {
                    "type": "integer"
                },
                "humidity": {
                    "type": "integer"
                },
                "magneX": {
                    "type": "number"
                },
                "magneY": {
                    "type": "number"
                },
                "magneZ": {
                    "type": "number"
                },
                "pressure": {
                    "type": "number"
                },
                "vcoreVoltage": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "accelX",
                "accelY",
                "accelZ",
                "ambientTemp",
                "attitude",
                "cpuTemp",
                "humidity",
                "magneX",
                "magneY",
                "magneZ",
                "pressure",
                "vcoreVoltage"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatEslStat:getApStatsDeviceApStatEslStat": {
            "properties": {
                "channel": {
                    "type": "integer"
                },
                "connected": {
                    "type": "boolean"
                },
                "type": {
                    "type": "string"
                },
                "up": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "channel",
                "connected",
                "type",
                "up"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatFwupdate:getApStatsDeviceApStatFwupdate": {
            "properties": {
                "progress": {
                    "type": "integer"
                },
                "status": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`inprogress`\" pulumi-lang-dotnet=\"`Inprogress`\" pulumi-lang-go=\"`inprogress`\" pulumi-lang-python=\"`inprogress`\" pulumi-lang-yaml=\"`inprogress`\" pulumi-lang-java=\"`inprogress`\" pulumi-lang-hcl=\"`inprogress`\"\u003e`inprogress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\" pulumi-lang-hcl=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upgraded`\" pulumi-lang-dotnet=\"`Upgraded`\" pulumi-lang-go=\"`upgraded`\" pulumi-lang-python=\"`upgraded`\" pulumi-lang-yaml=\"`upgraded`\" pulumi-lang-java=\"`upgraded`\" pulumi-lang-hcl=\"`upgraded`\"\u003e`upgraded`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`success`\" pulumi-lang-dotnet=\"`Success`\" pulumi-lang-go=\"`success`\" pulumi-lang-python=\"`success`\" pulumi-lang-yaml=\"`success`\" pulumi-lang-java=\"`success`\" pulumi-lang-hcl=\"`success`\"\u003e`success`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scheduled`\" pulumi-lang-dotnet=\"`Scheduled`\" pulumi-lang-go=\"`scheduled`\" pulumi-lang-python=\"`scheduled`\" pulumi-lang-yaml=\"`scheduled`\" pulumi-lang-java=\"`scheduled`\" pulumi-lang-hcl=\"`scheduled`\"\u003e`scheduled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\" pulumi-lang-hcl=\"`error`\"\u003e`error`\u003c/span\u003e\n"
                },
                "statusId": {
                    "type": "integer"
                },
                "timestamp": {
                    "type": "number",
                    "description": "Epoch (seconds)\n"
                },
                "willRetry": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "progress",
                "status",
                "statusId",
                "timestamp",
                "willRetry"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatGpsStat:getApStatsDeviceApStatGpsStat": {
            "properties": {
                "accuracy": {
                    "type": "number",
                    "description": "The estimated accuracy or accuracy of the GPS coordinates, measured in meters.\n"
                },
                "altitude": {
                    "type": "number",
                    "description": "The elevation of the AP above sea level, measured in meters.\n"
                },
                "latitude": {
                    "type": "number",
                    "description": "The geographic latitude of the AP, measured in degrees.\n"
                },
                "longitude": {
                    "type": "number",
                    "description": "The geographic longitude of the AP, measured in degrees.\n"
                },
                "src": {
                    "type": "string",
                    "description": "The origin of the GPS data. enum: \u003cspan pulumi-lang-nodejs=\"`gps`\" pulumi-lang-dotnet=\"`Gps`\" pulumi-lang-go=\"`gps`\" pulumi-lang-python=\"`gps`\" pulumi-lang-yaml=\"`gps`\" pulumi-lang-java=\"`gps`\" pulumi-lang-hcl=\"`gps`\"\u003e`gps`\u003c/span\u003e: from this device GPS estimates, \u003cspan pulumi-lang-nodejs=\"`otherAp`\" pulumi-lang-dotnet=\"`OtherAp`\" pulumi-lang-go=\"`otherAp`\" pulumi-lang-python=\"`other_ap`\" pulumi-lang-yaml=\"`otherAp`\" pulumi-lang-java=\"`otherAp`\" pulumi-lang-hcl=\"`other_ap`\"\u003e`otherAp`\u003c/span\u003e from neighboring device GPS estimates. Note: API responses may return \u003cspan pulumi-lang-nodejs=\"`otherAps`\" pulumi-lang-dotnet=\"`OtherAps`\" pulumi-lang-go=\"`otherAps`\" pulumi-lang-python=\"`other_aps`\" pulumi-lang-yaml=\"`otherAps`\" pulumi-lang-java=\"`otherAps`\" pulumi-lang-hcl=\"`other_aps`\"\u003e`otherAps`\u003c/span\u003e which should be treated as \u003cspan pulumi-lang-nodejs=\"`otherAp`\" pulumi-lang-dotnet=\"`OtherAp`\" pulumi-lang-go=\"`otherAp`\" pulumi-lang-python=\"`other_ap`\" pulumi-lang-yaml=\"`otherAp`\" pulumi-lang-java=\"`otherAp`\" pulumi-lang-hcl=\"`other_ap`\"\u003e`otherAp`\u003c/span\u003e\n"
                },
                "timestamp": {
                    "type": "number",
                    "description": "Epoch (seconds)\n"
                }
            },
            "type": "object",
            "required": [
                "accuracy",
                "altitude",
                "latitude",
                "longitude",
                "src",
                "timestamp"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatIotStat:getApStatsDeviceApStatIotStat": {
            "properties": {
                "value": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatIpConfig:getApStatsDeviceApStatIpConfig": {
            "properties": {
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "gateway6": {
                    "type": "string"
                },
                "ip": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip6": {
                    "type": "string"
                },
                "mtu": {
                    "type": "integer"
                },
                "netmask": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask6": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`dhcp`\" pulumi-lang-dotnet=\"`Dhcp`\" pulumi-lang-go=\"`dhcp`\" pulumi-lang-python=\"`dhcp`\" pulumi-lang-yaml=\"`dhcp`\" pulumi-lang-java=\"`dhcp`\" pulumi-lang-hcl=\"`dhcp`\"\u003e`dhcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "type6": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`autoconf`\" pulumi-lang-dotnet=\"`Autoconf`\" pulumi-lang-go=\"`autoconf`\" pulumi-lang-python=\"`autoconf`\" pulumi-lang-yaml=\"`autoconf`\" pulumi-lang-java=\"`autoconf`\" pulumi-lang-hcl=\"`autoconf`\"\u003e`autoconf`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dhcp`\" pulumi-lang-dotnet=\"`Dhcp`\" pulumi-lang-go=\"`dhcp`\" pulumi-lang-python=\"`dhcp`\" pulumi-lang-yaml=\"`dhcp`\" pulumi-lang-java=\"`dhcp`\" pulumi-lang-hcl=\"`dhcp`\"\u003e`dhcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\" pulumi-lang-hcl=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "integer",
                    "description": "Management VLAN id, default is 1 (untagged)\n"
                }
            },
            "type": "object",
            "required": [
                "dns",
                "dnsSuffixes",
                "gateway",
                "gateway6",
                "ip",
                "ip6",
                "mtu",
                "netmask",
                "netmask6",
                "type",
                "type6",
                "vlanId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatIpStat:getApStatsDeviceApStatIpStat": {
            "properties": {
                "dhcpServer": {
                    "type": "string"
                },
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "gateway": {
                    "type": "string"
                },
                "gateway6": {
                    "type": "string"
                },
                "ip": {
                    "type": "string"
                },
                "ip6": {
                    "type": "string"
                },
                "ips": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "netmask": {
                    "type": "string"
                },
                "netmask6": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "dhcpServer",
                "dns",
                "dnsSuffixes",
                "gateway",
                "gateway6",
                "ip",
                "ip6",
                "ips",
                "netmask",
                "netmask6"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatL2tpStat:getApStatsDeviceApStatL2tpStat": {
            "properties": {
                "sessions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getApStatsDeviceApStatL2tpStatSession:getApStatsDeviceApStatL2tpStatSession"
                    },
                    "description": "List of sessions\n"
                },
                "state": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`established`\" pulumi-lang-dotnet=\"`Established`\" pulumi-lang-go=\"`established`\" pulumi-lang-python=\"`established`\" pulumi-lang-yaml=\"`established`\" pulumi-lang-java=\"`established`\" pulumi-lang-hcl=\"`established`\"\u003e`established`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`establishedWithSession`\" pulumi-lang-dotnet=\"`EstablishedWithSession`\" pulumi-lang-go=\"`establishedWithSession`\" pulumi-lang-python=\"`established_with_session`\" pulumi-lang-yaml=\"`establishedWithSession`\" pulumi-lang-java=\"`establishedWithSession`\" pulumi-lang-hcl=\"`established_with_session`\"\u003e`establishedWithSession`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idle`\" pulumi-lang-dotnet=\"`Idle`\" pulumi-lang-go=\"`idle`\" pulumi-lang-python=\"`idle`\" pulumi-lang-yaml=\"`idle`\" pulumi-lang-java=\"`idle`\" pulumi-lang-hcl=\"`idle`\"\u003e`idle`\u003c/span\u003e, `wait-ctrl-conn`, `wait-ctrl-reply`\n"
                },
                "uptime": {
                    "type": "integer",
                    "description": "Uptime\n"
                },
                "wxtunnelId": {
                    "type": "string",
                    "description": "WxlanTunnel ID\n"
                }
            },
            "type": "object",
            "required": [
                "sessions",
                "state",
                "uptime",
                "wxtunnelId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatL2tpStatSession:getApStatsDeviceApStatL2tpStatSession": {
            "properties": {
                "localSid": {
                    "type": "integer",
                    "description": "Remote sessions id (dynamically unless Tunnel is said to be static)\n"
                },
                "remoteId": {
                    "type": "string",
                    "description": "WxlanTunnel Remote ID (user-configured)\n"
                },
                "remoteSid": {
                    "type": "integer",
                    "description": "Remote sessions id (dynamically unless Tunnel is said to be static)\n"
                },
                "state": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`established`\" pulumi-lang-dotnet=\"`Established`\" pulumi-lang-go=\"`established`\" pulumi-lang-python=\"`established`\" pulumi-lang-yaml=\"`established`\" pulumi-lang-java=\"`established`\" pulumi-lang-hcl=\"`established`\"\u003e`established`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`establishedWithSession`\" pulumi-lang-dotnet=\"`EstablishedWithSession`\" pulumi-lang-go=\"`establishedWithSession`\" pulumi-lang-python=\"`established_with_session`\" pulumi-lang-yaml=\"`establishedWithSession`\" pulumi-lang-java=\"`establishedWithSession`\" pulumi-lang-hcl=\"`established_with_session`\"\u003e`establishedWithSession`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idle`\" pulumi-lang-dotnet=\"`Idle`\" pulumi-lang-go=\"`idle`\" pulumi-lang-python=\"`idle`\" pulumi-lang-yaml=\"`idle`\" pulumi-lang-java=\"`idle`\" pulumi-lang-hcl=\"`idle`\"\u003e`idle`\u003c/span\u003e, `wait-ctrl-conn`, `wait-ctrl-reply`\n"
                }
            },
            "type": "object",
            "required": [
                "localSid",
                "remoteId",
                "remoteSid",
                "state"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatLastTrouble:getApStatsDeviceApStatLastTrouble": {
            "properties": {
                "code": {
                    "type": "string",
                    "description": "Code definitions list at List Ap Led Definition\n"
                },
                "timestamp": {
                    "type": "number",
                    "description": "Epoch (seconds)\n"
                }
            },
            "type": "object",
            "required": [
                "code",
                "timestamp"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatLed:getApStatsDeviceApStatLed": {
            "properties": {
                "brightness": {
                    "type": "integer"
                },
                "enabled": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "brightness",
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatLldpStat:getApStatsDeviceApStatLldpStat": {
            "properties": {
                "chassisId": {
                    "type": "string"
                },
                "lldpMedSupported": {
                    "type": "boolean",
                    "description": "Whether it support LLDP-MED\n"
                },
                "mgmtAddr": {
                    "type": "string",
                    "description": "Management IP address of the switch\n"
                },
                "mgmtAddrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of management IP addresses (IPv4 and IPv6)\n"
                },
                "portDesc": {
                    "type": "string",
                    "description": "Port description, e.g. “2/20”, “Port 2 on Switch0”\n"
                },
                "portId": {
                    "type": "string",
                    "description": "Port identifier\n"
                },
                "powerAllocated": {
                    "type": "number",
                    "description": "In mW, power allocated by PSE\n"
                },
                "powerAvail": {
                    "type": "integer",
                    "description": "In mW, total Power Avail at AP from pwr source\n"
                },
                "powerBudget": {
                    "type": "integer",
                    "description": "In mW, surplus if positive or deficit if negative\n"
                },
                "powerConstrained": {
                    "type": "boolean",
                    "description": "Whether power is insufficient\n"
                },
                "powerDraw": {
                    "type": "number",
                    "description": "In mW, total power needed by PD\n"
                },
                "powerNeeded": {
                    "type": "integer",
                    "description": "In mW, total Power needed incl Peripherals\n"
                },
                "powerOpmode": {
                    "type": "string",
                    "description": "Constrained mode\n"
                },
                "powerRequestCount": {
                    "type": "integer",
                    "description": "Number of negotiations, if it keeps increasing, we don’ t have a stable power\n"
                },
                "powerRequested": {
                    "type": "number",
                    "description": "In mW, power requested by PD\n"
                },
                "powerSrc": {
                    "type": "string",
                    "description": "Single power source (DC Input / PoE 802.3at / PoE 802.3af / PoE 802.3bt / MULTI-PD / LLDP / ? (unknown)).\n"
                },
                "powerSrcs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of management IP addresses (IPv4 and IPv6)\n"
                },
                "systemDesc": {
                    "type": "string",
                    "description": "Description provided by switch\n"
                },
                "systemName": {
                    "type": "string",
                    "description": "Name of the switch\n"
                }
            },
            "type": "object",
            "required": [
                "chassisId",
                "lldpMedSupported",
                "mgmtAddr",
                "mgmtAddrs",
                "portDesc",
                "portId",
                "powerAllocated",
                "powerAvail",
                "powerBudget",
                "powerConstrained",
                "powerDraw",
                "powerNeeded",
                "powerOpmode",
                "powerRequestCount",
                "powerRequested",
                "powerSrc",
                "powerSrcs",
                "systemDesc",
                "systemName"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatLldpStats:getApStatsDeviceApStatLldpStats": {
            "properties": {
                "chassisId": {
                    "type": "string"
                },
                "lldpMedSupported": {
                    "type": "boolean",
                    "description": "Whether it support LLDP-MED\n"
                },
                "mgmtAddr": {
                    "type": "string",
                    "description": "Management IP address of the switch\n"
                },
                "mgmtAddrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of management IP addresses (IPv4 and IPv6)\n"
                },
                "portDesc": {
                    "type": "string",
                    "description": "Port description, e.g. “2/20”, “Port 2 on Switch0”\n"
                },
                "portId": {
                    "type": "string",
                    "description": "Port identifier\n"
                },
                "powerAllocated": {
                    "type": "number",
                    "description": "In mW, power allocated by PSE\n"
                },
                "powerAvail": {
                    "type": "integer",
                    "description": "In mW, total Power Avail at AP from pwr source\n"
                },
                "powerBudget": {
                    "type": "integer",
                    "description": "In mW, surplus if positive or deficit if negative\n"
                },
                "powerConstrained": {
                    "type": "boolean",
                    "description": "Whether power is insufficient\n"
                },
                "powerDraw": {
                    "type": "number",
                    "description": "In mW, total power needed by PD\n"
                },
                "powerNeeded": {
                    "type": "integer",
                    "description": "In mW, total Power needed incl Peripherals\n"
                },
                "powerOpmode": {
                    "type": "string",
                    "description": "Constrained mode\n"
                },
                "powerRequestCount": {
                    "type": "integer",
                    "description": "Number of negotiations, if it keeps increasing, we don’ t have a stable power\n"
                },
                "powerRequested": {
                    "type": "number",
                    "description": "In mW, power requested by PD\n"
                },
                "powerSrc": {
                    "type": "string",
                    "description": "Single power source (DC Input / PoE 802.3at / PoE 802.3af / PoE 802.3bt / MULTI-PD / LLDP / ? (unknown)).\n"
                },
                "powerSrcs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of management IP addresses (IPv4 and IPv6)\n"
                },
                "systemDesc": {
                    "type": "string",
                    "description": "Description provided by switch\n"
                },
                "systemName": {
                    "type": "string",
                    "description": "Name of the switch\n"
                }
            },
            "type": "object",
            "required": [
                "chassisId",
                "lldpMedSupported",
                "mgmtAddr",
                "mgmtAddrs",
                "portDesc",
                "portId",
                "powerAllocated",
                "powerAvail",
                "powerBudget",
                "powerConstrained",
                "powerDraw",
                "powerNeeded",
                "powerOpmode",
                "powerRequestCount",
                "powerRequested",
                "powerSrc",
                "powerSrcs",
                "systemDesc",
                "systemName"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatMeshDownlinks:getApStatsDeviceApStatMeshDownlinks": {
            "properties": {
                "band": {
                    "type": "string"
                },
                "channel": {
                    "type": "integer"
                },
                "idleTime": {
                    "type": "integer"
                },
                "lastSeen": {
                    "type": "number",
                    "description": "Last seen timestamp\n"
                },
                "proto": {
                    "type": "string"
                },
                "rssi": {
                    "type": "integer"
                },
                "rxBps": {
                    "type": "integer",
                    "description": "Rate of receiving traffic, bits/seconds, last known\n"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPackets": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "rxRate": {
                    "type": "number",
                    "description": "RX Rate, Mbps\n"
                },
                "rxRetries": {
                    "type": "integer",
                    "description": "Amount of rx retries\n"
                },
                "siteId": {
                    "type": "string"
                },
                "snr": {
                    "type": "integer"
                },
                "txBps": {
                    "type": "integer",
                    "description": "Rate of transmitting traffic, bits/seconds, last known\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPackets": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "txRate": {
                    "type": "number",
                    "description": "TX Rate, Mbps\n"
                },
                "txRetries": {
                    "type": "integer",
                    "description": "Amount of tx retries\n"
                }
            },
            "type": "object",
            "required": [
                "band",
                "channel",
                "idleTime",
                "lastSeen",
                "proto",
                "rssi",
                "rxBps",
                "rxBytes",
                "rxPackets",
                "rxRate",
                "rxRetries",
                "siteId",
                "snr",
                "txBps",
                "txBytes",
                "txPackets",
                "txRate",
                "txRetries"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatMeshUplink:getApStatsDeviceApStatMeshUplink": {
            "properties": {
                "band": {
                    "type": "string"
                },
                "channel": {
                    "type": "integer"
                },
                "idleTime": {
                    "type": "integer"
                },
                "lastSeen": {
                    "type": "number",
                    "description": "Last seen timestamp\n"
                },
                "proto": {
                    "type": "string"
                },
                "rssi": {
                    "type": "integer"
                },
                "rxBps": {
                    "type": "integer",
                    "description": "Rate of receiving traffic, bits/seconds, last known\n"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPackets": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "rxRate": {
                    "type": "number",
                    "description": "RX Rate, Mbps\n"
                },
                "rxRetries": {
                    "type": "integer",
                    "description": "Amount of rx retries\n"
                },
                "siteId": {
                    "type": "string"
                },
                "snr": {
                    "type": "integer"
                },
                "txBps": {
                    "type": "integer",
                    "description": "Rate of transmitting traffic, bits/seconds, last known\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPackets": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "txRate": {
                    "type": "number",
                    "description": "TX Rate, Mbps\n"
                },
                "txRetries": {
                    "type": "integer",
                    "description": "Amount of tx retries\n"
                },
                "uplinkApId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "band",
                "channel",
                "idleTime",
                "lastSeen",
                "proto",
                "rssi",
                "rxBps",
                "rxBytes",
                "rxPackets",
                "rxRate",
                "rxRetries",
                "siteId",
                "snr",
                "txBps",
                "txBytes",
                "txPackets",
                "txRate",
                "txRetries",
                "uplinkApId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatPortStat:getApStatsDeviceApStatPortStat": {
            "properties": {
                "fullDuplex": {
                    "type": "boolean"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxErrors": {
                    "type": "integer"
                },
                "rxPeakBps": {
                    "type": "integer"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "speed": {
                    "type": "integer"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPeakBps": {
                    "type": "integer"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "up": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "fullDuplex",
                "rxBytes",
                "rxErrors",
                "rxPeakBps",
                "rxPkts",
                "speed",
                "txBytes",
                "txPeakBps",
                "txPkts",
                "up"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatRadioStat:getApStatsDeviceApStatRadioStat": {
            "properties": {
                "band24": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatRadioStatBand24:getApStatsDeviceApStatRadioStatBand24",
                    "description": "Radio stat\n"
                },
                "band5": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatRadioStatBand5:getApStatsDeviceApStatRadioStatBand5",
                    "description": "Radio stat\n"
                },
                "band6": {
                    "$ref": "#/types/junipermist:device/getApStatsDeviceApStatRadioStatBand6:getApStatsDeviceApStatRadioStatBand6",
                    "description": "Radio stat\n"
                }
            },
            "type": "object",
            "required": [
                "band24",
                "band5",
                "band6"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatRadioStatBand24:getApStatsDeviceApStatRadioStatBand24": {
            "properties": {
                "bandwidth": {
                    "type": "integer",
                    "description": "channel width for the band.enum: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e(disabled, response only), \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\" pulumi-lang-hcl=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\" pulumi-lang-hcl=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\" pulumi-lang-hcl=\"`80`\"\u003e`80`\u003c/span\u003e (only applicable for band*5 and band*6), \u003cspan pulumi-lang-nodejs=\"`160`\" pulumi-lang-dotnet=\"`160`\" pulumi-lang-go=\"`160`\" pulumi-lang-python=\"`160`\" pulumi-lang-yaml=\"`160`\" pulumi-lang-java=\"`160`\" pulumi-lang-hcl=\"`160`\"\u003e`160`\u003c/span\u003e (only for band_6)\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "Current channel the radio is running on\n"
                },
                "dynamicChainingEnabled": {
                    "type": "boolean",
                    "description": "Use dynamic chaining for downlink\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Radio (base) mac, it can have 16 bssids (e.g. 5c5b350001a0-5c5b350001af)\n"
                },
                "noiseFloor": {
                    "type": "integer"
                },
                "numClients": {
                    "type": "integer"
                },
                "numWlans": {
                    "type": "integer",
                    "description": "How many WLANs are applied to the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Transmit power (in dBm)\n"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "usage": {
                    "type": "string"
                },
                "utilAll": {
                    "type": "integer",
                    "description": "All utilization in percentage\n"
                },
                "utilNonWifi": {
                    "type": "integer",
                    "description": "Reception of \"No Packets\" utilization in percentage, received frames with invalid PLCPs and CRS glitches as noise\n"
                },
                "utilRxInBss": {
                    "type": "integer",
                    "description": "Reception of \"In BSS\" utilization in percentage, only frames that are received from AP/STAs within the BSS\n"
                },
                "utilRxOtherBss": {
                    "type": "integer",
                    "description": "Reception of \"Other BSS\" utilization in percentage, all frames received from AP/STAs that are outside the BSS\n"
                },
                "utilTx": {
                    "type": "integer",
                    "description": "Transmission utilization in percentage\n"
                },
                "utilUndecodableWifi": {
                    "type": "integer",
                    "description": "Reception of \"UnDecodable Wifi\" utilization in percentage, only Preamble, PLCP header is decoded, Rest is undecodable in this radio\n"
                },
                "utilUnknownWifi": {
                    "type": "integer",
                    "description": "Reception of \"No Category\" utilization in percentage, all 802.11 frames that are corrupted at the receiver\n"
                }
            },
            "type": "object",
            "required": [
                "bandwidth",
                "channel",
                "dynamicChainingEnabled",
                "mac",
                "noiseFloor",
                "numClients",
                "numWlans",
                "power",
                "rxBytes",
                "rxPkts",
                "txBytes",
                "txPkts",
                "usage",
                "utilAll",
                "utilNonWifi",
                "utilRxInBss",
                "utilRxOtherBss",
                "utilTx",
                "utilUndecodableWifi",
                "utilUnknownWifi"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatRadioStatBand5:getApStatsDeviceApStatRadioStatBand5": {
            "properties": {
                "bandwidth": {
                    "type": "integer",
                    "description": "channel width for the band.enum: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e(disabled, response only), \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\" pulumi-lang-hcl=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\" pulumi-lang-hcl=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\" pulumi-lang-hcl=\"`80`\"\u003e`80`\u003c/span\u003e (only applicable for band*5 and band*6), \u003cspan pulumi-lang-nodejs=\"`160`\" pulumi-lang-dotnet=\"`160`\" pulumi-lang-go=\"`160`\" pulumi-lang-python=\"`160`\" pulumi-lang-yaml=\"`160`\" pulumi-lang-java=\"`160`\" pulumi-lang-hcl=\"`160`\"\u003e`160`\u003c/span\u003e (only for band_6)\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "Current channel the radio is running on\n"
                },
                "dynamicChainingEnabled": {
                    "type": "boolean",
                    "description": "Use dynamic chaining for downlink\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Radio (base) mac, it can have 16 bssids (e.g. 5c5b350001a0-5c5b350001af)\n"
                },
                "noiseFloor": {
                    "type": "integer"
                },
                "numClients": {
                    "type": "integer"
                },
                "numWlans": {
                    "type": "integer",
                    "description": "How many WLANs are applied to the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Transmit power (in dBm)\n"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "usage": {
                    "type": "string"
                },
                "utilAll": {
                    "type": "integer",
                    "description": "All utilization in percentage\n"
                },
                "utilNonWifi": {
                    "type": "integer",
                    "description": "Reception of \"No Packets\" utilization in percentage, received frames with invalid PLCPs and CRS glitches as noise\n"
                },
                "utilRxInBss": {
                    "type": "integer",
                    "description": "Reception of \"In BSS\" utilization in percentage, only frames that are received from AP/STAs within the BSS\n"
                },
                "utilRxOtherBss": {
                    "type": "integer",
                    "description": "Reception of \"Other BSS\" utilization in percentage, all frames received from AP/STAs that are outside the BSS\n"
                },
                "utilTx": {
                    "type": "integer",
                    "description": "Transmission utilization in percentage\n"
                },
                "utilUndecodableWifi": {
                    "type": "integer",
                    "description": "Reception of \"UnDecodable Wifi\" utilization in percentage, only Preamble, PLCP header is decoded, Rest is undecodable in this radio\n"
                },
                "utilUnknownWifi": {
                    "type": "integer",
                    "description": "Reception of \"No Category\" utilization in percentage, all 802.11 frames that are corrupted at the receiver\n"
                }
            },
            "type": "object",
            "required": [
                "bandwidth",
                "channel",
                "dynamicChainingEnabled",
                "mac",
                "noiseFloor",
                "numClients",
                "numWlans",
                "power",
                "rxBytes",
                "rxPkts",
                "txBytes",
                "txPkts",
                "usage",
                "utilAll",
                "utilNonWifi",
                "utilRxInBss",
                "utilRxOtherBss",
                "utilTx",
                "utilUndecodableWifi",
                "utilUnknownWifi"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatRadioStatBand6:getApStatsDeviceApStatRadioStatBand6": {
            "properties": {
                "bandwidth": {
                    "type": "integer",
                    "description": "channel width for the band.enum: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e(disabled, response only), \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\" pulumi-lang-hcl=\"`20`\"\u003e`20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\" pulumi-lang-hcl=\"`40`\"\u003e`40`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\" pulumi-lang-hcl=\"`80`\"\u003e`80`\u003c/span\u003e (only applicable for band*5 and band*6), \u003cspan pulumi-lang-nodejs=\"`160`\" pulumi-lang-dotnet=\"`160`\" pulumi-lang-go=\"`160`\" pulumi-lang-python=\"`160`\" pulumi-lang-yaml=\"`160`\" pulumi-lang-java=\"`160`\" pulumi-lang-hcl=\"`160`\"\u003e`160`\u003c/span\u003e (only for band_6)\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "Current channel the radio is running on\n"
                },
                "dynamicChainingEnabled": {
                    "type": "boolean",
                    "description": "Use dynamic chaining for downlink\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Radio (base) mac, it can have 16 bssids (e.g. 5c5b350001a0-5c5b350001af)\n"
                },
                "noiseFloor": {
                    "type": "integer"
                },
                "numClients": {
                    "type": "integer"
                },
                "numWlans": {
                    "type": "integer",
                    "description": "How many WLANs are applied to the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Transmit power (in dBm)\n"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "usage": {
                    "type": "string"
                },
                "utilAll": {
                    "type": "integer",
                    "description": "All utilization in percentage\n"
                },
                "utilNonWifi": {
                    "type": "integer",
                    "description": "Reception of \"No Packets\" utilization in percentage, received frames with invalid PLCPs and CRS glitches as noise\n"
                },
                "utilRxInBss": {
                    "type": "integer",
                    "description": "Reception of \"In BSS\" utilization in percentage, only frames that are received from AP/STAs within the BSS\n"
                },
                "utilRxOtherBss": {
                    "type": "integer",
                    "description": "Reception of \"Other BSS\" utilization in percentage, all frames received from AP/STAs that are outside the BSS\n"
                },
                "utilTx": {
                    "type": "integer",
                    "description": "Transmission utilization in percentage\n"
                },
                "utilUndecodableWifi": {
                    "type": "integer",
                    "description": "Reception of \"UnDecodable Wifi\" utilization in percentage, only Preamble, PLCP header is decoded, Rest is undecodable in this radio\n"
                },
                "utilUnknownWifi": {
                    "type": "integer",
                    "description": "Reception of \"No Category\" utilization in percentage, all 802.11 frames that are corrupted at the receiver\n"
                }
            },
            "type": "object",
            "required": [
                "bandwidth",
                "channel",
                "dynamicChainingEnabled",
                "mac",
                "noiseFloor",
                "numClients",
                "numWlans",
                "power",
                "rxBytes",
                "rxPkts",
                "txBytes",
                "txPkts",
                "usage",
                "utilAll",
                "utilNonWifi",
                "utilRxInBss",
                "utilRxOtherBss",
                "utilTx",
                "utilUndecodableWifi",
                "utilUnknownWifi"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatSwitchRedundancy:getApStatsDeviceApStatSwitchRedundancy": {
            "properties": {
                "numRedundantAps": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "numRedundantAps"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getApStatsDeviceApStatUsbStat:getApStatsDeviceApStatUsbStat": {
            "properties": {
                "channel": {
                    "type": "integer"
                },
                "connected": {
                    "type": "boolean"
                },
                "lastActivity": {
                    "type": "integer"
                },
                "type": {
                    "type": "string"
                },
                "up": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "channel",
                "connected",
                "lastActivity",
                "type",
                "up"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStat:getGatewayStatsDeviceGatewayStat": {
            "properties": {
                "apRedundancy": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatApRedundancy:getGatewayStatsDeviceGatewayStatApRedundancy"
                },
                "arpTableStats": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatArpTableStats:getGatewayStatsDeviceGatewayStatArpTableStats"
                },
                "autoUpgradeStat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatAutoUpgradeStat:getGatewayStatsDeviceGatewayStatAutoUpgradeStat"
                },
                "bgpPeers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatBgpPeer:getGatewayStatsDeviceGatewayStatBgpPeer"
                    },
                    "description": "Only present when \u003cspan pulumi-lang-nodejs=\"`bgpPeers`\" pulumi-lang-dotnet=\"`BgpPeers`\" pulumi-lang-go=\"`bgpPeers`\" pulumi-lang-python=\"`bgp_peers`\" pulumi-lang-yaml=\"`bgpPeers`\" pulumi-lang-java=\"`bgpPeers`\" pulumi-lang-hcl=\"`bgp_peers`\"\u003e`bgpPeers`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`fields`\" pulumi-lang-dotnet=\"`Fields`\" pulumi-lang-go=\"`fields`\" pulumi-lang-python=\"`fields`\" pulumi-lang-yaml=\"`fields`\" pulumi-lang-java=\"`fields`\" pulumi-lang-hcl=\"`fields`\"\u003e`fields`\u003c/span\u003e query parameter. Each port object is same as `GET /api/v1/sites/{site_id}/stats/bgp_peers/search` result object, except that org*id, site*id, mac, model are removed\n"
                },
                "certExpiry": {
                    "type": "integer"
                },
                "clusterConfig": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfig:getGatewayStatsDeviceGatewayStatClusterConfig"
                },
                "clusterStat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatClusterStat:getGatewayStatsDeviceGatewayStatClusterStat"
                },
                "conductorName": {
                    "type": "string"
                },
                "configStatus": {
                    "type": "string"
                },
                "configTimestamp": {
                    "type": "integer"
                },
                "configVersion": {
                    "type": "integer"
                },
                "cpu2Stat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatCpu2Stat:getGatewayStatsDeviceGatewayStatCpu2Stat"
                },
                "cpuStat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatCpuStat:getGatewayStatsDeviceGatewayStatCpuStat"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "deviceprofileId": {
                    "type": "string"
                },
                "deviceprofileName": {
                    "type": "string"
                },
                "dhcpd2Stat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatDhcpd2Stat:getGatewayStatsDeviceGatewayStatDhcpd2Stat"
                    },
                    "description": "Property key is the network name\n"
                },
                "dhcpdStat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatDhcpdStat:getGatewayStatsDeviceGatewayStatDhcpdStat"
                    },
                    "description": "Property key is the network name\n"
                },
                "extIp": {
                    "type": "string",
                    "description": "IP address\n"
                },
                "fwupdate": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatFwupdate:getGatewayStatsDeviceGatewayStatFwupdate"
                },
                "hasPcap": {
                    "type": "boolean"
                },
                "hostname": {
                    "type": "string",
                    "description": "Hostname reported by the device\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "if2Stat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatIf2Stat:getGatewayStatsDeviceGatewayStatIf2Stat"
                    },
                    "description": "Property key is the interface name\n"
                },
                "ifStat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatIfStat:getGatewayStatsDeviceGatewayStatIfStat"
                    },
                    "description": "Property key is the interface name\n"
                },
                "ip": {
                    "type": "string",
                    "description": "IP address\n"
                },
                "ip2Stat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatIp2Stat:getGatewayStatsDeviceGatewayStatIp2Stat"
                },
                "ipStat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatIpStat:getGatewayStatsDeviceGatewayStatIpStat"
                },
                "isHa": {
                    "type": "boolean"
                },
                "lastSeen": {
                    "type": "number",
                    "description": "Last seen timestamp\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Device mac\n"
                },
                "macTableStats": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatMacTableStats:getGatewayStatsDeviceGatewayStatMacTableStats"
                },
                "mapId": {
                    "type": "string",
                    "description": "Serial Number\n"
                },
                "memory2Stat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatMemory2Stat:getGatewayStatsDeviceGatewayStatMemory2Stat",
                    "description": "Memory usage stat (for virtual chassis, memory usage of master RE)\n"
                },
                "memoryStat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatMemoryStat:getGatewayStatsDeviceGatewayStatMemoryStat",
                    "description": "Memory usage stat (for virtual chassis, memory usage of master RE)\n"
                },
                "model": {
                    "type": "string",
                    "description": "Device model\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "module2Stats": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModule2Stat:getGatewayStatsDeviceGatewayStatModule2Stat"
                    }
                },
                "moduleStats": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModuleStat:getGatewayStatsDeviceGatewayStatModuleStat"
                    }
                },
                "name": {
                    "type": "string",
                    "description": "Device name if configured\n"
                },
                "nodeName": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "ports": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatPort:getGatewayStatsDeviceGatewayStatPort"
                    },
                    "description": "Only present when \u003cspan pulumi-lang-nodejs=\"`ports`\" pulumi-lang-dotnet=\"`Ports`\" pulumi-lang-go=\"`ports`\" pulumi-lang-python=\"`ports`\" pulumi-lang-yaml=\"`ports`\" pulumi-lang-java=\"`ports`\" pulumi-lang-hcl=\"`ports`\"\u003e`ports`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`fields`\" pulumi-lang-dotnet=\"`Fields`\" pulumi-lang-go=\"`fields`\" pulumi-lang-python=\"`fields`\" pulumi-lang-yaml=\"`fields`\" pulumi-lang-java=\"`fields`\" pulumi-lang-hcl=\"`fields`\"\u003e`fields`\u003c/span\u003e query parameter. Each port object is same as `GET /api/v1/sites/{site_id}/stats/ports/search` result object, except that org*id, site*id, mac, model are removed\n"
                },
                "routeSummaryStats": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatRouteSummaryStats:getGatewayStatsDeviceGatewayStatRouteSummaryStats"
                },
                "routerName": {
                    "type": "string",
                    "description": "Device name if configured\n"
                },
                "serial": {
                    "type": "string",
                    "description": "Serial Number\n"
                },
                "service2Stat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatService2Stat:getGatewayStatsDeviceGatewayStatService2Stat"
                    }
                },
                "serviceStat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatServiceStat:getGatewayStatsDeviceGatewayStatServiceStat"
                    }
                },
                "serviceStatus": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatServiceStatus:getGatewayStatsDeviceGatewayStatServiceStatus"
                },
                "siteId": {
                    "type": "string"
                },
                "spu2Stats": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatSpu2Stat:getGatewayStatsDeviceGatewayStatSpu2Stat"
                    }
                },
                "spuStats": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatSpuStat:getGatewayStatsDeviceGatewayStatSpuStat"
                    }
                },
                "status": {
                    "type": "string"
                },
                "tagId": {
                    "type": "integer"
                },
                "tagUuid": {
                    "type": "string"
                },
                "tunnels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatTunnel:getGatewayStatsDeviceGatewayStatTunnel"
                    },
                    "description": "Only present when \u003cspan pulumi-lang-nodejs=\"`tunnels`\" pulumi-lang-dotnet=\"`Tunnels`\" pulumi-lang-go=\"`tunnels`\" pulumi-lang-python=\"`tunnels`\" pulumi-lang-yaml=\"`tunnels`\" pulumi-lang-java=\"`tunnels`\" pulumi-lang-hcl=\"`tunnels`\"\u003e`tunnels`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`fields`\" pulumi-lang-dotnet=\"`Fields`\" pulumi-lang-go=\"`fields`\" pulumi-lang-python=\"`fields`\" pulumi-lang-yaml=\"`fields`\" pulumi-lang-java=\"`fields`\" pulumi-lang-hcl=\"`fields`\"\u003e`fields`\u003c/span\u003e query parameter. Each port object is same as `GET /api/v1/sites/{site_id}/stats/tunnels/search` result object, except that org*id, site*id, mac, model are removed\n"
                },
                "uptime": {
                    "type": "number"
                },
                "version": {
                    "type": "string"
                },
                "vpnPeers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatVpnPeer:getGatewayStatsDeviceGatewayStatVpnPeer"
                    },
                    "description": "Only present when \u003cspan pulumi-lang-nodejs=\"`vpnPeers`\" pulumi-lang-dotnet=\"`VpnPeers`\" pulumi-lang-go=\"`vpnPeers`\" pulumi-lang-python=\"`vpn_peers`\" pulumi-lang-yaml=\"`vpnPeers`\" pulumi-lang-java=\"`vpnPeers`\" pulumi-lang-hcl=\"`vpn_peers`\"\u003e`vpnPeers`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`fields`\" pulumi-lang-dotnet=\"`Fields`\" pulumi-lang-go=\"`fields`\" pulumi-lang-python=\"`fields`\" pulumi-lang-yaml=\"`fields`\" pulumi-lang-java=\"`fields`\" pulumi-lang-hcl=\"`fields`\"\u003e`fields`\u003c/span\u003e query parameter. Each port object is same as `GET /api/v1/sites/{site_id}/stats/vpn_peers/search` result object, except that org*id, site*id, mac, model are removed\n"
                }
            },
            "type": "object",
            "required": [
                "apRedundancy",
                "arpTableStats",
                "autoUpgradeStat",
                "bgpPeers",
                "certExpiry",
                "clusterConfig",
                "clusterStat",
                "conductorName",
                "configStatus",
                "configTimestamp",
                "configVersion",
                "cpu2Stat",
                "cpuStat",
                "createdTime",
                "deviceprofileId",
                "deviceprofileName",
                "dhcpd2Stat",
                "dhcpdStat",
                "extIp",
                "fwupdate",
                "hasPcap",
                "hostname",
                "id",
                "if2Stat",
                "ifStat",
                "ip",
                "ip2Stat",
                "ipStat",
                "isHa",
                "lastSeen",
                "mac",
                "macTableStats",
                "mapId",
                "memory2Stat",
                "memoryStat",
                "model",
                "modifiedTime",
                "module2Stats",
                "moduleStats",
                "name",
                "nodeName",
                "orgId",
                "ports",
                "routeSummaryStats",
                "routerName",
                "serial",
                "service2Stat",
                "serviceStat",
                "serviceStatus",
                "siteId",
                "spu2Stats",
                "spuStats",
                "status",
                "tagId",
                "tagUuid",
                "tunnels",
                "uptime",
                "version",
                "vpnPeers"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatApRedundancy:getGatewayStatsDeviceGatewayStatApRedundancy": {
            "properties": {
                "modules": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatApRedundancyModules:getGatewayStatsDeviceGatewayStatApRedundancyModules"
                    },
                    "description": "Property key is the node id\n"
                },
                "numAps": {
                    "type": "integer"
                },
                "numApsWithSwitchRedundancy": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "modules",
                "numAps",
                "numApsWithSwitchRedundancy"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatApRedundancyModules:getGatewayStatsDeviceGatewayStatApRedundancyModules": {
            "properties": {
                "numAps": {
                    "type": "integer"
                },
                "numApsWithSwitchRedundancy": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "numAps",
                "numApsWithSwitchRedundancy"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatArpTableStats:getGatewayStatsDeviceGatewayStatArpTableStats": {
            "properties": {
                "arpTableCount": {
                    "type": "integer"
                },
                "maxEntriesSupported": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "arpTableCount",
                "maxEntriesSupported"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatAutoUpgradeStat:getGatewayStatsDeviceGatewayStatAutoUpgradeStat": {
            "properties": {
                "lastcheck": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "lastcheck"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatBgpPeer:getGatewayStatsDeviceGatewayStatBgpPeer": {
            "properties": {
                "evpnOverlay": {
                    "type": "boolean",
                    "description": "If this is created for evpn overlay\n"
                },
                "forOverlay": {
                    "type": "boolean",
                    "description": "If this is created for overlay\n"
                },
                "localAs": {
                    "type": "string"
                },
                "neighbor": {
                    "type": "string"
                },
                "neighborAs": {
                    "type": "string"
                },
                "neighborMac": {
                    "type": "string",
                    "description": "If it's another device in the same org\n"
                },
                "node": {
                    "type": "string",
                    "description": "Node0/node1\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "rxRoutes": {
                    "type": "integer",
                    "description": "Number of received routes\n"
                },
                "state": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\" pulumi-lang-hcl=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connect`\" pulumi-lang-dotnet=\"`Connect`\" pulumi-lang-go=\"`connect`\" pulumi-lang-python=\"`connect`\" pulumi-lang-yaml=\"`connect`\" pulumi-lang-java=\"`connect`\" pulumi-lang-hcl=\"`connect`\"\u003e`connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`established`\" pulumi-lang-dotnet=\"`Established`\" pulumi-lang-go=\"`established`\" pulumi-lang-python=\"`established`\" pulumi-lang-yaml=\"`established`\" pulumi-lang-java=\"`established`\" pulumi-lang-hcl=\"`established`\"\u003e`established`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idle`\" pulumi-lang-dotnet=\"`Idle`\" pulumi-lang-go=\"`idle`\" pulumi-lang-python=\"`idle`\" pulumi-lang-yaml=\"`idle`\" pulumi-lang-java=\"`idle`\" pulumi-lang-hcl=\"`idle`\"\u003e`idle`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`openConfig`\" pulumi-lang-dotnet=\"`OpenConfig`\" pulumi-lang-go=\"`openConfig`\" pulumi-lang-python=\"`open_config`\" pulumi-lang-yaml=\"`openConfig`\" pulumi-lang-java=\"`openConfig`\" pulumi-lang-hcl=\"`open_config`\"\u003e`openConfig`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`openSent`\" pulumi-lang-dotnet=\"`OpenSent`\" pulumi-lang-go=\"`openSent`\" pulumi-lang-python=\"`open_sent`\" pulumi-lang-yaml=\"`openSent`\" pulumi-lang-java=\"`openSent`\" pulumi-lang-hcl=\"`open_sent`\"\u003e`openSent`\u003c/span\u003e\n"
                },
                "timestamp": {
                    "type": "number",
                    "description": "Epoch (seconds)\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "txRoutes": {
                    "type": "integer"
                },
                "up": {
                    "type": "boolean"
                },
                "uptime": {
                    "type": "integer"
                },
                "vrfName": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "evpnOverlay",
                "forOverlay",
                "localAs",
                "neighbor",
                "neighborAs",
                "neighborMac",
                "node",
                "rxPkts",
                "rxRoutes",
                "state",
                "timestamp",
                "txPkts",
                "txRoutes",
                "up",
                "uptime",
                "vrfName"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfig:getGatewayStatsDeviceGatewayStatClusterConfig": {
            "properties": {
                "configuration": {
                    "type": "string"
                },
                "controlLinkInfo": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfigControlLinkInfo:getGatewayStatsDeviceGatewayStatClusterConfigControlLinkInfo"
                },
                "ethernetConnections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfigEthernetConnection:getGatewayStatsDeviceGatewayStatClusterConfigEthernetConnection"
                    }
                },
                "fabricLinkInfo": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfigFabricLinkInfo:getGatewayStatsDeviceGatewayStatClusterConfigFabricLinkInfo"
                },
                "lastStatusChangeReason": {
                    "type": "string"
                },
                "operational": {
                    "type": "string"
                },
                "primaryNodeHealth": {
                    "type": "string"
                },
                "redundancyGroupInformations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfigRedundancyGroupInformation:getGatewayStatsDeviceGatewayStatClusterConfigRedundancyGroupInformation"
                    }
                },
                "secondaryNodeHealth": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "configuration",
                "controlLinkInfo",
                "ethernetConnections",
                "fabricLinkInfo",
                "lastStatusChangeReason",
                "operational",
                "primaryNodeHealth",
                "redundancyGroupInformations",
                "secondaryNodeHealth",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfigControlLinkInfo:getGatewayStatsDeviceGatewayStatClusterConfigControlLinkInfo": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "name",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfigEthernetConnection:getGatewayStatsDeviceGatewayStatClusterConfigEthernetConnection": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "name",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfigFabricLinkInfo:getGatewayStatsDeviceGatewayStatClusterConfigFabricLinkInfo": {
            "properties": {
                "dataPlaneNotifiedStatus": {
                    "type": "string"
                },
                "interfaces": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "internalStatus": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "dataPlaneNotifiedStatus",
                "interfaces",
                "internalStatus",
                "state",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatClusterConfigRedundancyGroupInformation:getGatewayStatsDeviceGatewayStatClusterConfigRedundancyGroupInformation": {
            "properties": {
                "id": {
                    "type": "integer"
                },
                "monitoringFailure": {
                    "type": "string"
                },
                "threshold": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "id",
                "monitoringFailure",
                "threshold"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatClusterStat:getGatewayStatsDeviceGatewayStatClusterStat": {
            "properties": {
                "state": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "state"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatCpu2Stat:getGatewayStatsDeviceGatewayStatCpu2Stat": {
            "properties": {
                "idle": {
                    "type": "number",
                    "description": "Percentage of CPU time that is idle\n"
                },
                "interrupt": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by interrupts\n"
                },
                "loadAvgs": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    },
                    "description": "Load averages for the last 1, 5, and 15 minutes\n"
                },
                "system": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by system processes\n"
                },
                "usage": {
                    "type": "number",
                    "description": "CPU usage\n"
                },
                "user": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by user processes\n"
                }
            },
            "type": "object",
            "required": [
                "idle",
                "interrupt",
                "loadAvgs",
                "system",
                "usage",
                "user"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatCpuStat:getGatewayStatsDeviceGatewayStatCpuStat": {
            "properties": {
                "idle": {
                    "type": "number",
                    "description": "Percentage of CPU time that is idle\n"
                },
                "interrupt": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by interrupts\n"
                },
                "loadAvgs": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    },
                    "description": "Load averages for the last 1, 5, and 15 minutes\n"
                },
                "system": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by system processes\n"
                },
                "usage": {
                    "type": "number",
                    "description": "CPU usage\n"
                },
                "user": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by user processes\n"
                }
            },
            "type": "object",
            "required": [
                "idle",
                "interrupt",
                "loadAvgs",
                "system",
                "usage",
                "user"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatDhcpd2Stat:getGatewayStatsDeviceGatewayStatDhcpd2Stat": {
            "properties": {
                "numIps": {
                    "type": "integer"
                },
                "numLeased": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "numIps",
                "numLeased"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatDhcpdStat:getGatewayStatsDeviceGatewayStatDhcpdStat": {
            "properties": {
                "numIps": {
                    "type": "integer"
                },
                "numLeased": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "numIps",
                "numLeased"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatFwupdate:getGatewayStatsDeviceGatewayStatFwupdate": {
            "properties": {
                "progress": {
                    "type": "integer"
                },
                "status": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`inprogress`\" pulumi-lang-dotnet=\"`Inprogress`\" pulumi-lang-go=\"`inprogress`\" pulumi-lang-python=\"`inprogress`\" pulumi-lang-yaml=\"`inprogress`\" pulumi-lang-java=\"`inprogress`\" pulumi-lang-hcl=\"`inprogress`\"\u003e`inprogress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\" pulumi-lang-hcl=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upgraded`\" pulumi-lang-dotnet=\"`Upgraded`\" pulumi-lang-go=\"`upgraded`\" pulumi-lang-python=\"`upgraded`\" pulumi-lang-yaml=\"`upgraded`\" pulumi-lang-java=\"`upgraded`\" pulumi-lang-hcl=\"`upgraded`\"\u003e`upgraded`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`success`\" pulumi-lang-dotnet=\"`Success`\" pulumi-lang-go=\"`success`\" pulumi-lang-python=\"`success`\" pulumi-lang-yaml=\"`success`\" pulumi-lang-java=\"`success`\" pulumi-lang-hcl=\"`success`\"\u003e`success`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scheduled`\" pulumi-lang-dotnet=\"`Scheduled`\" pulumi-lang-go=\"`scheduled`\" pulumi-lang-python=\"`scheduled`\" pulumi-lang-yaml=\"`scheduled`\" pulumi-lang-java=\"`scheduled`\" pulumi-lang-hcl=\"`scheduled`\"\u003e`scheduled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\" pulumi-lang-hcl=\"`error`\"\u003e`error`\u003c/span\u003e\n"
                },
                "statusId": {
                    "type": "integer"
                },
                "timestamp": {
                    "type": "number",
                    "description": "Epoch (seconds)\n"
                },
                "willRetry": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "progress",
                "status",
                "statusId",
                "timestamp",
                "willRetry"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatIf2Stat:getGatewayStatsDeviceGatewayStatIf2Stat": {
            "properties": {
                "addressMode": {
                    "type": "string"
                },
                "ips": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "natAddresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "networkName": {
                    "type": "string"
                },
                "portId": {
                    "type": "string"
                },
                "portUsage": {
                    "type": "string"
                },
                "redundancyState": {
                    "type": "string"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "servpInfo": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatIf2StatServpInfo:getGatewayStatsDeviceGatewayStatIf2StatServpInfo"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "up": {
                    "type": "boolean"
                },
                "vlan": {
                    "type": "integer"
                },
                "wanName": {
                    "type": "string"
                },
                "wanType": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "addressMode",
                "ips",
                "natAddresses",
                "networkName",
                "portId",
                "portUsage",
                "redundancyState",
                "rxBytes",
                "rxPkts",
                "servpInfo",
                "txBytes",
                "txPkts",
                "up",
                "vlan",
                "wanName",
                "wanType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatIf2StatServpInfo:getGatewayStatsDeviceGatewayStatIf2StatServpInfo": {
            "properties": {
                "asn": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "countryCode": {
                    "type": "string"
                },
                "latitude": {
                    "type": "number"
                },
                "longitude": {
                    "type": "number"
                },
                "org": {
                    "type": "string"
                },
                "regionCode": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "asn",
                "city",
                "countryCode",
                "latitude",
                "longitude",
                "org",
                "regionCode"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatIfStat:getGatewayStatsDeviceGatewayStatIfStat": {
            "properties": {
                "addressMode": {
                    "type": "string"
                },
                "ips": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "natAddresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "networkName": {
                    "type": "string"
                },
                "portId": {
                    "type": "string"
                },
                "portUsage": {
                    "type": "string"
                },
                "redundancyState": {
                    "type": "string"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "servpInfo": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatIfStatServpInfo:getGatewayStatsDeviceGatewayStatIfStatServpInfo"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "up": {
                    "type": "boolean"
                },
                "vlan": {
                    "type": "integer"
                },
                "wanName": {
                    "type": "string"
                },
                "wanType": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "addressMode",
                "ips",
                "natAddresses",
                "networkName",
                "portId",
                "portUsage",
                "redundancyState",
                "rxBytes",
                "rxPkts",
                "servpInfo",
                "txBytes",
                "txPkts",
                "up",
                "vlan",
                "wanName",
                "wanType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatIfStatServpInfo:getGatewayStatsDeviceGatewayStatIfStatServpInfo": {
            "properties": {
                "asn": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "countryCode": {
                    "type": "string"
                },
                "latitude": {
                    "type": "number"
                },
                "longitude": {
                    "type": "number"
                },
                "org": {
                    "type": "string"
                },
                "regionCode": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "asn",
                "city",
                "countryCode",
                "latitude",
                "longitude",
                "org",
                "regionCode"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatIp2Stat:getGatewayStatsDeviceGatewayStatIp2Stat": {
            "properties": {
                "dhcpServer": {
                    "type": "string"
                },
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "gateway": {
                    "type": "string"
                },
                "gateway6": {
                    "type": "string"
                },
                "ip": {
                    "type": "string"
                },
                "ip6": {
                    "type": "string"
                },
                "ips": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "netmask": {
                    "type": "string"
                },
                "netmask6": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "dhcpServer",
                "dns",
                "dnsSuffixes",
                "gateway",
                "gateway6",
                "ip",
                "ip6",
                "ips",
                "netmask",
                "netmask6"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatIpStat:getGatewayStatsDeviceGatewayStatIpStat": {
            "properties": {
                "dhcpServer": {
                    "type": "string"
                },
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "gateway": {
                    "type": "string"
                },
                "gateway6": {
                    "type": "string"
                },
                "ip": {
                    "type": "string"
                },
                "ip6": {
                    "type": "string"
                },
                "ips": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "netmask": {
                    "type": "string"
                },
                "netmask6": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "dhcpServer",
                "dns",
                "dnsSuffixes",
                "gateway",
                "gateway6",
                "ip",
                "ip6",
                "ips",
                "netmask",
                "netmask6"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatMacTableStats:getGatewayStatsDeviceGatewayStatMacTableStats": {
            "properties": {
                "macTableCount": {
                    "type": "integer"
                },
                "maxMacEntriesSupported": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "macTableCount",
                "maxMacEntriesSupported"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatMemory2Stat:getGatewayStatsDeviceGatewayStatMemory2Stat": {
            "properties": {
                "usage": {
                    "type": "number"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatMemoryStat:getGatewayStatsDeviceGatewayStatMemoryStat": {
            "properties": {
                "usage": {
                    "type": "number"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModule2Stat:getGatewayStatsDeviceGatewayStatModule2Stat": {
            "properties": {
                "backupVersion": {
                    "type": "string"
                },
                "biosVersion": {
                    "type": "string"
                },
                "bootPartition": {
                    "type": "string"
                },
                "cpldVersion": {
                    "type": "string"
                },
                "fans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatFan:getGatewayStatsDeviceGatewayStatModule2StatFan"
                    }
                },
                "fpgaVersion": {
                    "type": "string"
                },
                "lastSeen": {
                    "type": "number",
                    "description": "Last seen timestamp\n"
                },
                "locating": {
                    "type": "boolean"
                },
                "mac": {
                    "type": "string"
                },
                "memoryStat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatMemoryStat:getGatewayStatsDeviceGatewayStatModule2StatMemoryStat",
                    "description": "Memory usage stat (for virtual chassis, memory usage of master RE)\n"
                },
                "model": {
                    "type": "string"
                },
                "networkResources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatNetworkResource:getGatewayStatsDeviceGatewayStatModule2StatNetworkResource"
                    }
                },
                "opticsCpldVersion": {
                    "type": "string"
                },
                "pendingVersion": {
                    "type": "string"
                },
                "poe": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatPoe:getGatewayStatsDeviceGatewayStatModule2StatPoe"
                },
                "poeVersion": {
                    "type": "string"
                },
                "powerCpldVersion": {
                    "type": "string"
                },
                "psuses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatPsus:getGatewayStatsDeviceGatewayStatModule2StatPsus"
                    }
                },
                "reFpgaVersion": {
                    "type": "string"
                },
                "recoveryVersion": {
                    "type": "string"
                },
                "serial": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "temperatures": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatTemperature:getGatewayStatsDeviceGatewayStatModule2StatTemperature"
                    }
                },
                "tmcFpgaVersion": {
                    "type": "string"
                },
                "ubootVersion": {
                    "type": "string"
                },
                "uptime": {
                    "type": "integer"
                },
                "vcLinks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatVcLink:getGatewayStatsDeviceGatewayStatModule2StatVcLink"
                    }
                },
                "vcMode": {
                    "type": "string"
                },
                "vcRole": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\" pulumi-lang-hcl=\"`master`\"\u003e`master`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\" pulumi-lang-hcl=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linecard`\" pulumi-lang-dotnet=\"`Linecard`\" pulumi-lang-go=\"`linecard`\" pulumi-lang-python=\"`linecard`\" pulumi-lang-yaml=\"`linecard`\" pulumi-lang-java=\"`linecard`\" pulumi-lang-hcl=\"`linecard`\"\u003e`linecard`\u003c/span\u003e\n"
                },
                "vcState": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "backupVersion",
                "biosVersion",
                "bootPartition",
                "cpldVersion",
                "fans",
                "fpgaVersion",
                "lastSeen",
                "locating",
                "mac",
                "memoryStat",
                "model",
                "networkResources",
                "opticsCpldVersion",
                "pendingVersion",
                "poe",
                "poeVersion",
                "powerCpldVersion",
                "psuses",
                "reFpgaVersion",
                "recoveryVersion",
                "serial",
                "status",
                "temperatures",
                "tmcFpgaVersion",
                "ubootVersion",
                "uptime",
                "vcLinks",
                "vcMode",
                "vcRole",
                "vcState",
                "version"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatFan:getGatewayStatsDeviceGatewayStatModule2StatFan": {
            "properties": {
                "airflow": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "rpm": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "airflow",
                "name",
                "rpm",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatMemoryStat:getGatewayStatsDeviceGatewayStatModule2StatMemoryStat": {
            "properties": {
                "usage": {
                    "type": "number"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatNetworkResource:getGatewayStatsDeviceGatewayStatModule2StatNetworkResource": {
            "properties": {
                "count": {
                    "type": "integer",
                    "description": "current usage of the network resource\n"
                },
                "limit": {
                    "type": "integer",
                    "description": "maximum usage of the network resource\n"
                },
                "type": {
                    "type": "string",
                    "description": "type of the network resource (e.g. FIB, FLOW, ...)\n"
                }
            },
            "type": "object",
            "required": [
                "count",
                "limit",
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatPoe:getGatewayStatsDeviceGatewayStatModule2StatPoe": {
            "properties": {
                "maxPower": {
                    "type": "number"
                },
                "powerDraw": {
                    "type": "number"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "maxPower",
                "powerDraw",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatPsus:getGatewayStatsDeviceGatewayStatModule2StatPsus": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "name",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatTemperature:getGatewayStatsDeviceGatewayStatModule2StatTemperature": {
            "properties": {
                "celsius": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "celsius",
                "name",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModule2StatVcLink:getGatewayStatsDeviceGatewayStatModule2StatVcLink": {
            "properties": {
                "neighborModuleIdx": {
                    "type": "integer"
                },
                "neighborPortId": {
                    "type": "string"
                },
                "portId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "neighborModuleIdx",
                "neighborPortId",
                "portId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModuleStat:getGatewayStatsDeviceGatewayStatModuleStat": {
            "properties": {
                "backupVersion": {
                    "type": "string"
                },
                "biosVersion": {
                    "type": "string"
                },
                "bootPartition": {
                    "type": "string"
                },
                "cpldVersion": {
                    "type": "string"
                },
                "fans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatFan:getGatewayStatsDeviceGatewayStatModuleStatFan"
                    }
                },
                "fpgaVersion": {
                    "type": "string"
                },
                "lastSeen": {
                    "type": "number",
                    "description": "Last seen timestamp\n"
                },
                "locating": {
                    "type": "boolean"
                },
                "mac": {
                    "type": "string"
                },
                "memoryStat": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatMemoryStat:getGatewayStatsDeviceGatewayStatModuleStatMemoryStat",
                    "description": "Memory usage stat (for virtual chassis, memory usage of master RE)\n"
                },
                "model": {
                    "type": "string"
                },
                "networkResources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatNetworkResource:getGatewayStatsDeviceGatewayStatModuleStatNetworkResource"
                    }
                },
                "opticsCpldVersion": {
                    "type": "string"
                },
                "pendingVersion": {
                    "type": "string"
                },
                "poe": {
                    "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatPoe:getGatewayStatsDeviceGatewayStatModuleStatPoe"
                },
                "poeVersion": {
                    "type": "string"
                },
                "powerCpldVersion": {
                    "type": "string"
                },
                "psuses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatPsus:getGatewayStatsDeviceGatewayStatModuleStatPsus"
                    }
                },
                "reFpgaVersion": {
                    "type": "string"
                },
                "recoveryVersion": {
                    "type": "string"
                },
                "serial": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "temperatures": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatTemperature:getGatewayStatsDeviceGatewayStatModuleStatTemperature"
                    }
                },
                "tmcFpgaVersion": {
                    "type": "string"
                },
                "ubootVersion": {
                    "type": "string"
                },
                "uptime": {
                    "type": "integer"
                },
                "vcLinks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatVcLink:getGatewayStatsDeviceGatewayStatModuleStatVcLink"
                    }
                },
                "vcMode": {
                    "type": "string"
                },
                "vcRole": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\" pulumi-lang-hcl=\"`master`\"\u003e`master`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\" pulumi-lang-hcl=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linecard`\" pulumi-lang-dotnet=\"`Linecard`\" pulumi-lang-go=\"`linecard`\" pulumi-lang-python=\"`linecard`\" pulumi-lang-yaml=\"`linecard`\" pulumi-lang-java=\"`linecard`\" pulumi-lang-hcl=\"`linecard`\"\u003e`linecard`\u003c/span\u003e\n"
                },
                "vcState": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "backupVersion",
                "biosVersion",
                "bootPartition",
                "cpldVersion",
                "fans",
                "fpgaVersion",
                "lastSeen",
                "locating",
                "mac",
                "memoryStat",
                "model",
                "networkResources",
                "opticsCpldVersion",
                "pendingVersion",
                "poe",
                "poeVersion",
                "powerCpldVersion",
                "psuses",
                "reFpgaVersion",
                "recoveryVersion",
                "serial",
                "status",
                "temperatures",
                "tmcFpgaVersion",
                "ubootVersion",
                "uptime",
                "vcLinks",
                "vcMode",
                "vcRole",
                "vcState",
                "version"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatFan:getGatewayStatsDeviceGatewayStatModuleStatFan": {
            "properties": {
                "airflow": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "rpm": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "airflow",
                "name",
                "rpm",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatMemoryStat:getGatewayStatsDeviceGatewayStatModuleStatMemoryStat": {
            "properties": {
                "usage": {
                    "type": "number"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatNetworkResource:getGatewayStatsDeviceGatewayStatModuleStatNetworkResource": {
            "properties": {
                "count": {
                    "type": "integer",
                    "description": "current usage of the network resource\n"
                },
                "limit": {
                    "type": "integer",
                    "description": "maximum usage of the network resource\n"
                },
                "type": {
                    "type": "string",
                    "description": "type of the network resource (e.g. FIB, FLOW, ...)\n"
                }
            },
            "type": "object",
            "required": [
                "count",
                "limit",
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatPoe:getGatewayStatsDeviceGatewayStatModuleStatPoe": {
            "properties": {
                "maxPower": {
                    "type": "number"
                },
                "powerDraw": {
                    "type": "number"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "maxPower",
                "powerDraw",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatPsus:getGatewayStatsDeviceGatewayStatModuleStatPsus": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "name",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatTemperature:getGatewayStatsDeviceGatewayStatModuleStatTemperature": {
            "properties": {
                "celsius": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "celsius",
                "name",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatModuleStatVcLink:getGatewayStatsDeviceGatewayStatModuleStatVcLink": {
            "properties": {
                "neighborModuleIdx": {
                    "type": "integer"
                },
                "neighborPortId": {
                    "type": "string"
                },
                "portId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "neighborModuleIdx",
                "neighborPortId",
                "portId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatPort:getGatewayStatsDeviceGatewayStatPort": {
            "properties": {
                "active": {
                    "type": "boolean",
                    "description": "Indicates if interface is active/inactive\n"
                },
                "authState": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`up`\" pulumi-lang-dotnet=\"`Up`\" pulumi-lang-go=\"`up`\" pulumi-lang-python=\"`up`\" pulumi-lang-yaml=\"`up`\" pulumi-lang-java=\"`up`\" pulumi-lang-hcl=\"`up`\"\u003e`up`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and has Authenticator role. enum: \u003cspan pulumi-lang-nodejs=\"`authenticated`\" pulumi-lang-dotnet=\"`Authenticated`\" pulumi-lang-go=\"`authenticated`\" pulumi-lang-python=\"`authenticated`\" pulumi-lang-yaml=\"`authenticated`\" pulumi-lang-java=\"`authenticated`\" pulumi-lang-hcl=\"`authenticated`\"\u003e`authenticated`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authenticating`\" pulumi-lang-dotnet=\"`Authenticating`\" pulumi-lang-go=\"`authenticating`\" pulumi-lang-python=\"`authenticating`\" pulumi-lang-yaml=\"`authenticating`\" pulumi-lang-java=\"`authenticating`\" pulumi-lang-hcl=\"`authenticating`\"\u003e`authenticating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`held`\" pulumi-lang-dotnet=\"`Held`\" pulumi-lang-go=\"`held`\" pulumi-lang-python=\"`held`\" pulumi-lang-yaml=\"`held`\" pulumi-lang-java=\"`held`\" pulumi-lang-hcl=\"`held`\"\u003e`held`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`init`\" pulumi-lang-dotnet=\"`Init`\" pulumi-lang-go=\"`init`\" pulumi-lang-python=\"`init`\" pulumi-lang-yaml=\"`init`\" pulumi-lang-java=\"`init`\" pulumi-lang-hcl=\"`init`\"\u003e`init`\u003c/span\u003e\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Indicates if interface is disabled\n"
                },
                "forSite": {
                    "type": "boolean"
                },
                "fullDuplex": {
                    "type": "boolean",
                    "description": "Indicates full or half duplex\n"
                },
                "jitter": {
                    "type": "number",
                    "description": "Last sampled jitter of the interface\n"
                },
                "latency": {
                    "type": "number",
                    "description": "Last sampled latency of the interface\n"
                },
                "loss": {
                    "type": "number",
                    "description": "Last sampled loss of the interface\n"
                },
                "lteIccid": {
                    "type": "string",
                    "description": "LTE ICCID value, Check for null/empty\n"
                },
                "lteImei": {
                    "type": "string",
                    "description": "LTE IMEI value, Check for null/empty\n"
                },
                "lteImsi": {
                    "type": "string",
                    "description": "LTE IMSI value, Check for null/empty\n"
                },
                "macCount": {
                    "type": "integer",
                    "description": "Number of mac addresses in the forwarding table\n"
                },
                "macLimit": {
                    "type": "integer",
                    "description": "Limit on number of dynamically learned macs\n"
                },
                "neighborMac": {
                    "type": "string",
                    "description": "chassis identifier of the chassis type listed\n"
                },
                "neighborPortDesc": {
                    "type": "string",
                    "description": "Description supplied by the system on the interface E.g. \"GigabitEthernet2/0/39\"\n"
                },
                "neighborSystemName": {
                    "type": "string",
                    "description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \"Kumar-Acc-SW.mist.local\"\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Is the POE configured not be disabled.\n"
                },
                "poeMode": {
                    "type": "string",
                    "description": "enum: `802.3af`, `802.3at`, `802.3bt`\n"
                },
                "poeOn": {
                    "type": "boolean",
                    "description": "Is the device attached to POE\n"
                },
                "portId": {
                    "type": "string"
                },
                "portMac": {
                    "type": "string",
                    "description": "Interface mac address\n"
                },
                "portUsage": {
                    "type": "string",
                    "description": "gateway port usage. enum: \u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e\n"
                },
                "powerDraw": {
                    "type": "number",
                    "description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.\n"
                },
                "rxBcastPkts": {
                    "type": "integer",
                    "description": "Broadcast input packets\n"
                },
                "rxBps": {
                    "type": "integer",
                    "description": "Rate of receiving traffic, bits/seconds, last known\n"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxErrors": {
                    "type": "integer",
                    "description": "Input errors\n"
                },
                "rxMcastPkts": {
                    "type": "integer",
                    "description": "Multicast input packets\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "speed": {
                    "type": "integer",
                    "description": "Port speed\n"
                },
                "stpRole": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`up`\" pulumi-lang-dotnet=\"`Up`\" pulumi-lang-go=\"`up`\" pulumi-lang-python=\"`up`\" pulumi-lang-yaml=\"`up`\" pulumi-lang-java=\"`up`\" pulumi-lang-hcl=\"`up`\"\u003e`up`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`alternate`\" pulumi-lang-dotnet=\"`Alternate`\" pulumi-lang-go=\"`alternate`\" pulumi-lang-python=\"`alternate`\" pulumi-lang-yaml=\"`alternate`\" pulumi-lang-java=\"`alternate`\" pulumi-lang-hcl=\"`alternate`\"\u003e`alternate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\" pulumi-lang-hcl=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`designated`\" pulumi-lang-dotnet=\"`Designated`\" pulumi-lang-go=\"`designated`\" pulumi-lang-python=\"`designated`\" pulumi-lang-yaml=\"`designated`\" pulumi-lang-java=\"`designated`\" pulumi-lang-hcl=\"`designated`\"\u003e`designated`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\" pulumi-lang-hcl=\"`root`\"\u003e`root`\u003c/span\u003e, `root-prevented`\n"
                },
                "stpState": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`up`\" pulumi-lang-dotnet=\"`Up`\" pulumi-lang-go=\"`up`\" pulumi-lang-python=\"`up`\" pulumi-lang-yaml=\"`up`\" pulumi-lang-java=\"`up`\" pulumi-lang-hcl=\"`up`\"\u003e`up`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`blocking`\" pulumi-lang-dotnet=\"`Blocking`\" pulumi-lang-go=\"`blocking`\" pulumi-lang-python=\"`blocking`\" pulumi-lang-yaml=\"`blocking`\" pulumi-lang-java=\"`blocking`\" pulumi-lang-hcl=\"`blocking`\"\u003e`blocking`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\" pulumi-lang-hcl=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`learning`\" pulumi-lang-dotnet=\"`Learning`\" pulumi-lang-go=\"`learning`\" pulumi-lang-python=\"`learning`\" pulumi-lang-yaml=\"`learning`\" pulumi-lang-java=\"`learning`\" pulumi-lang-hcl=\"`learning`\"\u003e`learning`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`listening`\" pulumi-lang-dotnet=\"`Listening`\" pulumi-lang-go=\"`listening`\" pulumi-lang-python=\"`listening`\" pulumi-lang-yaml=\"`listening`\" pulumi-lang-java=\"`listening`\" pulumi-lang-hcl=\"`listening`\"\u003e`listening`\u003c/span\u003e\n"
                },
                "txBcastPkts": {
                    "type": "integer",
                    "description": "Broadcast output packets\n"
                },
                "txBps": {
                    "type": "integer",
                    "description": "Rate of transmitting traffic, bits/seconds, last known\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txErrors": {
                    "type": "integer",
                    "description": "Output errors\n"
                },
                "txMcastPkts": {
                    "type": "integer",
                    "description": "Multicast output packets\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "type": {
                    "type": "string",
                    "description": "device type. enum: \u003cspan pulumi-lang-nodejs=\"`ap`\" pulumi-lang-dotnet=\"`Ap`\" pulumi-lang-go=\"`ap`\" pulumi-lang-python=\"`ap`\" pulumi-lang-yaml=\"`ap`\" pulumi-lang-java=\"`ap`\" pulumi-lang-hcl=\"`ap`\"\u003e`ap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ble`\" pulumi-lang-dotnet=\"`Ble`\" pulumi-lang-go=\"`ble`\" pulumi-lang-python=\"`ble`\" pulumi-lang-yaml=\"`ble`\" pulumi-lang-java=\"`ble`\" pulumi-lang-hcl=\"`ble`\"\u003e`ble`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxedge`\" pulumi-lang-dotnet=\"`Mxedge`\" pulumi-lang-go=\"`mxedge`\" pulumi-lang-python=\"`mxedge`\" pulumi-lang-yaml=\"`mxedge`\" pulumi-lang-java=\"`mxedge`\" pulumi-lang-hcl=\"`mxedge`\"\u003e`mxedge`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`nac`\" pulumi-lang-dotnet=\"`Nac`\" pulumi-lang-go=\"`nac`\" pulumi-lang-python=\"`nac`\" pulumi-lang-yaml=\"`nac`\" pulumi-lang-java=\"`nac`\" pulumi-lang-hcl=\"`nac`\"\u003e`nac`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e\n"
                },
                "unconfigured": {
                    "type": "boolean",
                    "description": "Indicates if interface is unconfigured\n"
                },
                "up": {
                    "type": "boolean",
                    "description": "Indicates if interface is up\n"
                },
                "xcvrModel": {
                    "type": "string",
                    "description": "Optic Slot ModelName, Check for null/empty\n"
                },
                "xcvrPartNumber": {
                    "type": "string",
                    "description": "Optic Slot Partnumber, Check for null/empty\n"
                },
                "xcvrSerial": {
                    "type": "string",
                    "description": "Optic Slot SerialNumber, Check for null/empty\n"
                }
            },
            "type": "object",
            "required": [
                "active",
                "authState",
                "disabled",
                "forSite",
                "fullDuplex",
                "jitter",
                "latency",
                "loss",
                "lteIccid",
                "lteImei",
                "lteImsi",
                "macCount",
                "macLimit",
                "neighborMac",
                "neighborPortDesc",
                "neighborSystemName",
                "poeDisabled",
                "poeMode",
                "poeOn",
                "portId",
                "portMac",
                "portUsage",
                "powerDraw",
                "rxBcastPkts",
                "rxBps",
                "rxBytes",
                "rxErrors",
                "rxMcastPkts",
                "rxPkts",
                "speed",
                "stpRole",
                "stpState",
                "txBcastPkts",
                "txBps",
                "txBytes",
                "txErrors",
                "txMcastPkts",
                "txPkts",
                "type",
                "unconfigured",
                "up",
                "xcvrModel",
                "xcvrPartNumber",
                "xcvrSerial"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatRouteSummaryStats:getGatewayStatsDeviceGatewayStatRouteSummaryStats": {
            "properties": {
                "fibRoutes": {
                    "type": "integer"
                },
                "maxUnicastRoutesSupported": {
                    "type": "integer"
                },
                "ribRoutes": {
                    "type": "integer"
                },
                "totalRoutes": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "fibRoutes",
                "maxUnicastRoutesSupported",
                "ribRoutes",
                "totalRoutes"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatService2Stat:getGatewayStatsDeviceGatewayStatService2Stat": {
            "properties": {
                "ashVersion": {
                    "type": "string"
                },
                "ciaVersion": {
                    "type": "string"
                },
                "emberVersion": {
                    "type": "string"
                },
                "ipsecClientVersion": {
                    "type": "string"
                },
                "mistAgentVersion": {
                    "type": "string"
                },
                "packageVersion": {
                    "type": "string"
                },
                "testingToolsVersion": {
                    "type": "string"
                },
                "wheeljackVersion": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "ashVersion",
                "ciaVersion",
                "emberVersion",
                "ipsecClientVersion",
                "mistAgentVersion",
                "packageVersion",
                "testingToolsVersion",
                "wheeljackVersion"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatServiceStat:getGatewayStatsDeviceGatewayStatServiceStat": {
            "properties": {
                "ashVersion": {
                    "type": "string"
                },
                "ciaVersion": {
                    "type": "string"
                },
                "emberVersion": {
                    "type": "string"
                },
                "ipsecClientVersion": {
                    "type": "string"
                },
                "mistAgentVersion": {
                    "type": "string"
                },
                "packageVersion": {
                    "type": "string"
                },
                "testingToolsVersion": {
                    "type": "string"
                },
                "wheeljackVersion": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "ashVersion",
                "ciaVersion",
                "emberVersion",
                "ipsecClientVersion",
                "mistAgentVersion",
                "packageVersion",
                "testingToolsVersion",
                "wheeljackVersion"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatServiceStatus:getGatewayStatsDeviceGatewayStatServiceStatus": {
            "properties": {
                "appidInstallResult": {
                    "type": "string"
                },
                "appidInstallTimestamp": {
                    "type": "string"
                },
                "appidStatus": {
                    "type": "string"
                },
                "appidVersion": {
                    "type": "integer"
                },
                "ewfStatus": {
                    "type": "string"
                },
                "idpInstallResult": {
                    "type": "string"
                },
                "idpInstallTimestamp": {
                    "type": "string"
                },
                "idpPolicy": {
                    "type": "string"
                },
                "idpStatus": {
                    "type": "string"
                },
                "idpUpdateTimestamp": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "appidInstallResult",
                "appidInstallTimestamp",
                "appidStatus",
                "appidVersion",
                "ewfStatus",
                "idpInstallResult",
                "idpInstallTimestamp",
                "idpPolicy",
                "idpStatus",
                "idpUpdateTimestamp"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatSpu2Stat:getGatewayStatsDeviceGatewayStatSpu2Stat": {
            "properties": {
                "spuCpu": {
                    "type": "integer"
                },
                "spuCurrentSession": {
                    "type": "integer"
                },
                "spuMaxSession": {
                    "type": "integer"
                },
                "spuMemory": {
                    "type": "integer"
                },
                "spuPendingSession": {
                    "type": "integer"
                },
                "spuUptime": {
                    "type": "integer"
                },
                "spuValidSession": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "spuCpu",
                "spuCurrentSession",
                "spuMaxSession",
                "spuMemory",
                "spuPendingSession",
                "spuUptime",
                "spuValidSession"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatSpuStat:getGatewayStatsDeviceGatewayStatSpuStat": {
            "properties": {
                "spuCpu": {
                    "type": "integer"
                },
                "spuCurrentSession": {
                    "type": "integer"
                },
                "spuMaxSession": {
                    "type": "integer"
                },
                "spuMemory": {
                    "type": "integer"
                },
                "spuPendingSession": {
                    "type": "integer"
                },
                "spuUptime": {
                    "type": "integer"
                },
                "spuValidSession": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "spuCpu",
                "spuCurrentSession",
                "spuMaxSession",
                "spuMemory",
                "spuPendingSession",
                "spuUptime",
                "spuValidSession"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatTunnel:getGatewayStatsDeviceGatewayStatTunnel": {
            "properties": {
                "authAlgo": {
                    "type": "string",
                    "description": "Authentication algorithm\n"
                },
                "encryptAlgo": {
                    "type": "string",
                    "description": "Encryption algorithm\n"
                },
                "ikeVersion": {
                    "type": "string",
                    "description": "IKE version\n"
                },
                "ip": {
                    "type": "string",
                    "description": "IP Address\n"
                },
                "lastEvent": {
                    "type": "string",
                    "description": "Reason of why the tunnel is down\n"
                },
                "lastFlapped": {
                    "type": "number",
                    "description": "Indicates when the port was last flapped\n"
                },
                "node": {
                    "type": "string",
                    "description": "Node0/node1\n"
                },
                "peerHost": {
                    "type": "string",
                    "description": "Peer host\n"
                },
                "peerIp": {
                    "type": "string",
                    "description": "Peer ip address\n"
                },
                "priority": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\" pulumi-lang-hcl=\"`primary`\"\u003e`primary`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`secondary`\" pulumi-lang-dotnet=\"`Secondary`\" pulumi-lang-go=\"`secondary`\" pulumi-lang-python=\"`secondary`\" pulumi-lang-yaml=\"`secondary`\" pulumi-lang-java=\"`secondary`\" pulumi-lang-hcl=\"`secondary`\"\u003e`secondary`\u003c/span\u003e\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`gre`\" pulumi-lang-dotnet=\"`Gre`\" pulumi-lang-go=\"`gre`\" pulumi-lang-python=\"`gre`\" pulumi-lang-yaml=\"`gre`\" pulumi-lang-java=\"`gre`\" pulumi-lang-hcl=\"`gre`\"\u003e`gre`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipsec`\" pulumi-lang-dotnet=\"`Ipsec`\" pulumi-lang-go=\"`ipsec`\" pulumi-lang-python=\"`ipsec`\" pulumi-lang-yaml=\"`ipsec`\" pulumi-lang-java=\"`ipsec`\" pulumi-lang-hcl=\"`ipsec`\"\u003e`ipsec`\u003c/span\u003e\n"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "tunnelName": {
                    "type": "string",
                    "description": "Mist Tunnel Name\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "up": {
                    "type": "boolean"
                },
                "uptime": {
                    "type": "integer",
                    "description": "Duration from first (or last) SA was established\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "WAN interface name\n"
                }
            },
            "type": "object",
            "required": [
                "authAlgo",
                "encryptAlgo",
                "ikeVersion",
                "ip",
                "lastEvent",
                "lastFlapped",
                "node",
                "peerHost",
                "peerIp",
                "priority",
                "protocol",
                "rxBytes",
                "rxPkts",
                "tunnelName",
                "txBytes",
                "txPkts",
                "up",
                "uptime",
                "wanName"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getGatewayStatsDeviceGatewayStatVpnPeer:getGatewayStatsDeviceGatewayStatVpnPeer": {
            "properties": {
                "isActive": {
                    "type": "boolean",
                    "description": "Redundancy status of the associated interface\n"
                },
                "jitter": {
                    "type": "number",
                    "description": "Jitter in milliseconds\n"
                },
                "lastSeen": {
                    "type": "number",
                    "description": "Last seen timestamp\n"
                },
                "latency": {
                    "type": "number",
                    "description": "Latency in milliseconds\n"
                },
                "loss": {
                    "type": "number",
                    "description": "Packet loss in percentage\n"
                },
                "mos": {
                    "type": "number",
                    "description": "Mean Opinion Score, a measure of the quality of the VPN link\n"
                },
                "mtu": {
                    "type": "integer"
                },
                "peerMac": {
                    "type": "string",
                    "description": "Peer router mac address\n"
                },
                "peerPortId": {
                    "type": "string",
                    "description": "Peer router device interface\n"
                },
                "peerRouterName": {
                    "type": "string"
                },
                "peerSiteId": {
                    "type": "string"
                },
                "portId": {
                    "type": "string",
                    "description": "Router device interface\n"
                },
                "routerName": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`ipsec`\" pulumi-lang-dotnet=\"`Ipsec`\" pulumi-lang-go=\"`ipsec`\" pulumi-lang-python=\"`ipsec`\" pulumi-lang-yaml=\"`ipsec`\" pulumi-lang-java=\"`ipsec`\" pulumi-lang-hcl=\"`ipsec`\"\u003e`ipsec`\u003c/span\u003efor SRX, \u003cspan pulumi-lang-nodejs=\"`svr`\" pulumi-lang-dotnet=\"`Svr`\" pulumi-lang-go=\"`svr`\" pulumi-lang-python=\"`svr`\" pulumi-lang-yaml=\"`svr`\" pulumi-lang-java=\"`svr`\" pulumi-lang-hcl=\"`svr`\"\u003e`svr`\u003c/span\u003e for 128T\n"
                },
                "up": {
                    "type": "boolean"
                },
                "uptime": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "isActive",
                "jitter",
                "lastSeen",
                "latency",
                "loss",
                "mos",
                "mtu",
                "peerMac",
                "peerPortId",
                "peerRouterName",
                "peerSiteId",
                "portId",
                "routerName",
                "type",
                "up",
                "uptime"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStat:getSwitchStatsDeviceSwitchStat": {
            "properties": {
                "apRedundancy": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatApRedundancy:getSwitchStatsDeviceSwitchStatApRedundancy"
                },
                "arpTableStats": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatArpTableStats:getSwitchStatsDeviceSwitchStatArpTableStats"
                },
                "autoUpgradeStat": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatAutoUpgradeStat:getSwitchStatsDeviceSwitchStatAutoUpgradeStat"
                },
                "certExpiry": {
                    "type": "integer"
                },
                "clients": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatClient:getSwitchStatsDeviceSwitchStatClient"
                    }
                },
                "clientsStats": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatClientsStats:getSwitchStatsDeviceSwitchStatClientsStats"
                },
                "configStatus": {
                    "type": "string"
                },
                "configTimestamp": {
                    "type": "integer"
                },
                "configVersion": {
                    "type": "integer"
                },
                "cpuStat": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatCpuStat:getSwitchStatsDeviceSwitchStatCpuStat"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "deviceprofileId": {
                    "type": "string"
                },
                "dhcpdStat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatDhcpdStat:getSwitchStatsDeviceSwitchStatDhcpdStat"
                    },
                    "description": "Property key is the network name\n"
                },
                "evpntopoId": {
                    "type": "string"
                },
                "extIp": {
                    "type": "string"
                },
                "fwVersionsOutofsync": {
                    "type": "boolean"
                },
                "fwupdate": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatFwupdate:getSwitchStatsDeviceSwitchStatFwupdate"
                },
                "hasPcap": {
                    "type": "boolean",
                    "description": "Whether the switch supports packet capture\n"
                },
                "hostname": {
                    "type": "string",
                    "description": "Hostname reported by the device\n"
                },
                "hwRev": {
                    "type": "string",
                    "description": "Device hardware revision number\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "ifStat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatIfStat:getSwitchStatsDeviceSwitchStatIfStat"
                    },
                    "description": "Property key is the interface name\n"
                },
                "ip": {
                    "type": "string"
                },
                "ipStat": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatIpStat:getSwitchStatsDeviceSwitchStatIpStat"
                },
                "lastSeen": {
                    "type": "number",
                    "description": "Last seen timestamp\n"
                },
                "lastTrouble": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatLastTrouble:getSwitchStatsDeviceSwitchStatLastTrouble",
                    "description": "Last trouble code of switch\n"
                },
                "mac": {
                    "type": "string"
                },
                "macTableStats": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatMacTableStats:getSwitchStatsDeviceSwitchStatMacTableStats"
                },
                "mapId": {
                    "type": "string"
                },
                "memoryStat": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatMemoryStat:getSwitchStatsDeviceSwitchStatMemoryStat",
                    "description": "Memory usage stat (for virtual chassis, memory usage of master RE)\n"
                },
                "model": {
                    "type": "string"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "moduleStats": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStat:getSwitchStatsDeviceSwitchStatModuleStat"
                    }
                },
                "name": {
                    "type": "string",
                    "description": "Device name if configured\n"
                },
                "orgId": {
                    "type": "string"
                },
                "ports": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatPort:getSwitchStatsDeviceSwitchStatPort"
                    }
                },
                "routeSummaryStats": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatRouteSummaryStats:getSwitchStatsDeviceSwitchStatRouteSummaryStats"
                },
                "serial": {
                    "type": "string"
                },
                "serviceStat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatServiceStat:getSwitchStatsDeviceSwitchStatServiceStat"
                    }
                },
                "siteId": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tagId": {
                    "type": "integer"
                },
                "tagUuid": {
                    "type": "string"
                },
                "uptime": {
                    "type": "number"
                },
                "vcMac": {
                    "type": "string"
                },
                "vcSetupInfo": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatVcSetupInfo:getSwitchStatsDeviceSwitchStatVcSetupInfo"
                },
                "version": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "apRedundancy",
                "arpTableStats",
                "autoUpgradeStat",
                "certExpiry",
                "clients",
                "clientsStats",
                "configStatus",
                "configTimestamp",
                "configVersion",
                "cpuStat",
                "createdTime",
                "deviceprofileId",
                "dhcpdStat",
                "evpntopoId",
                "extIp",
                "fwVersionsOutofsync",
                "fwupdate",
                "hasPcap",
                "hostname",
                "hwRev",
                "id",
                "ifStat",
                "ip",
                "ipStat",
                "lastSeen",
                "lastTrouble",
                "mac",
                "macTableStats",
                "mapId",
                "memoryStat",
                "model",
                "modifiedTime",
                "moduleStats",
                "name",
                "orgId",
                "ports",
                "routeSummaryStats",
                "serial",
                "serviceStat",
                "siteId",
                "status",
                "tagId",
                "tagUuid",
                "uptime",
                "vcMac",
                "vcSetupInfo",
                "version"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatApRedundancy:getSwitchStatsDeviceSwitchStatApRedundancy": {
            "properties": {
                "modules": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatApRedundancyModules:getSwitchStatsDeviceSwitchStatApRedundancyModules"
                    },
                    "description": "For a VC / stacked switches.\n"
                },
                "numAps": {
                    "type": "integer"
                },
                "numApsWithSwitchRedundancy": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "modules",
                "numAps",
                "numApsWithSwitchRedundancy"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatApRedundancyModules:getSwitchStatsDeviceSwitchStatApRedundancyModules": {
            "properties": {
                "numAps": {
                    "type": "integer"
                },
                "numApsWithSwitchRedundancy": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "numAps",
                "numApsWithSwitchRedundancy"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatArpTableStats:getSwitchStatsDeviceSwitchStatArpTableStats": {
            "properties": {
                "arpTableCount": {
                    "type": "integer"
                },
                "maxEntriesSupported": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "arpTableCount",
                "maxEntriesSupported"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatAutoUpgradeStat:getSwitchStatsDeviceSwitchStatAutoUpgradeStat": {
            "properties": {
                "lastcheck": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "lastcheck"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatClient:getSwitchStatsDeviceSwitchStatClient": {
            "properties": {
                "deviceMac": {
                    "type": "string"
                },
                "hostname": {
                    "type": "string"
                },
                "mac": {
                    "type": "string"
                },
                "portId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "deviceMac",
                "hostname",
                "mac",
                "portId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatClientsStats:getSwitchStatsDeviceSwitchStatClientsStats": {
            "properties": {
                "total": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatClientsStatsTotal:getSwitchStatsDeviceSwitchStatClientsStatsTotal"
                }
            },
            "type": "object",
            "required": [
                "total"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatClientsStatsTotal:getSwitchStatsDeviceSwitchStatClientsStatsTotal": {
            "properties": {
                "numAps": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "numWiredClients": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "numAps",
                "numWiredClients"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatCpuStat:getSwitchStatsDeviceSwitchStatCpuStat": {
            "properties": {
                "idle": {
                    "type": "number",
                    "description": "Percentage of CPU time that is idle\n"
                },
                "interrupt": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by interrupts\n"
                },
                "loadAvgs": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    },
                    "description": "Load averages for the last 1, 5, and 15 minutes\n"
                },
                "system": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by system processes\n"
                },
                "usage": {
                    "type": "number",
                    "description": "CPU usage\n"
                },
                "user": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by user processes\n"
                }
            },
            "type": "object",
            "required": [
                "idle",
                "interrupt",
                "loadAvgs",
                "system",
                "usage",
                "user"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatDhcpdStat:getSwitchStatsDeviceSwitchStatDhcpdStat": {
            "properties": {
                "numIps": {
                    "type": "integer"
                },
                "numLeased": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "numIps",
                "numLeased"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatFwupdate:getSwitchStatsDeviceSwitchStatFwupdate": {
            "properties": {
                "progress": {
                    "type": "integer"
                },
                "status": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`inprogress`\" pulumi-lang-dotnet=\"`Inprogress`\" pulumi-lang-go=\"`inprogress`\" pulumi-lang-python=\"`inprogress`\" pulumi-lang-yaml=\"`inprogress`\" pulumi-lang-java=\"`inprogress`\" pulumi-lang-hcl=\"`inprogress`\"\u003e`inprogress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\" pulumi-lang-hcl=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upgraded`\" pulumi-lang-dotnet=\"`Upgraded`\" pulumi-lang-go=\"`upgraded`\" pulumi-lang-python=\"`upgraded`\" pulumi-lang-yaml=\"`upgraded`\" pulumi-lang-java=\"`upgraded`\" pulumi-lang-hcl=\"`upgraded`\"\u003e`upgraded`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`success`\" pulumi-lang-dotnet=\"`Success`\" pulumi-lang-go=\"`success`\" pulumi-lang-python=\"`success`\" pulumi-lang-yaml=\"`success`\" pulumi-lang-java=\"`success`\" pulumi-lang-hcl=\"`success`\"\u003e`success`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scheduled`\" pulumi-lang-dotnet=\"`Scheduled`\" pulumi-lang-go=\"`scheduled`\" pulumi-lang-python=\"`scheduled`\" pulumi-lang-yaml=\"`scheduled`\" pulumi-lang-java=\"`scheduled`\" pulumi-lang-hcl=\"`scheduled`\"\u003e`scheduled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\" pulumi-lang-hcl=\"`error`\"\u003e`error`\u003c/span\u003e\n"
                },
                "statusId": {
                    "type": "integer"
                },
                "timestamp": {
                    "type": "number",
                    "description": "Epoch (seconds)\n"
                },
                "willRetry": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "progress",
                "status",
                "statusId",
                "timestamp",
                "willRetry"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatIfStat:getSwitchStatsDeviceSwitchStatIfStat": {
            "properties": {
                "addressMode": {
                    "type": "string"
                },
                "ips": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "natAddresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "networkName": {
                    "type": "string"
                },
                "portId": {
                    "type": "string"
                },
                "portUsage": {
                    "type": "string"
                },
                "redundancyState": {
                    "type": "string"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "servpInfo": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatIfStatServpInfo:getSwitchStatsDeviceSwitchStatIfStatServpInfo"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "up": {
                    "type": "boolean"
                },
                "vlan": {
                    "type": "integer"
                },
                "wanName": {
                    "type": "string"
                },
                "wanType": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "addressMode",
                "ips",
                "natAddresses",
                "networkName",
                "portId",
                "portUsage",
                "redundancyState",
                "rxBytes",
                "rxPkts",
                "servpInfo",
                "txBytes",
                "txPkts",
                "up",
                "vlan",
                "wanName",
                "wanType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatIfStatServpInfo:getSwitchStatsDeviceSwitchStatIfStatServpInfo": {
            "properties": {
                "asn": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "countryCode": {
                    "type": "string"
                },
                "latitude": {
                    "type": "number"
                },
                "longitude": {
                    "type": "number"
                },
                "org": {
                    "type": "string"
                },
                "regionCode": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "asn",
                "city",
                "countryCode",
                "latitude",
                "longitude",
                "org",
                "regionCode"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatIpStat:getSwitchStatsDeviceSwitchStatIpStat": {
            "properties": {
                "dhcpServer": {
                    "type": "string"
                },
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "gateway": {
                    "type": "string"
                },
                "gateway6": {
                    "type": "string"
                },
                "ip": {
                    "type": "string"
                },
                "ip6": {
                    "type": "string"
                },
                "ips": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "netmask": {
                    "type": "string"
                },
                "netmask6": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "dhcpServer",
                "dns",
                "dnsSuffixes",
                "gateway",
                "gateway6",
                "ip",
                "ip6",
                "ips",
                "netmask",
                "netmask6"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatLastTrouble:getSwitchStatsDeviceSwitchStatLastTrouble": {
            "properties": {
                "code": {
                    "type": "string",
                    "description": "Code definitions list at List Ap Led Definition\n"
                },
                "timestamp": {
                    "type": "number",
                    "description": "Epoch (seconds)\n"
                }
            },
            "type": "object",
            "required": [
                "code",
                "timestamp"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatMacTableStats:getSwitchStatsDeviceSwitchStatMacTableStats": {
            "properties": {
                "macTableCount": {
                    "type": "integer"
                },
                "maxMacEntriesSupported": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "macTableCount",
                "maxMacEntriesSupported"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatMemoryStat:getSwitchStatsDeviceSwitchStatMemoryStat": {
            "properties": {
                "usage": {
                    "type": "number"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStat:getSwitchStatsDeviceSwitchStatModuleStat": {
            "properties": {
                "backupVersion": {
                    "type": "string"
                },
                "biosVersion": {
                    "type": "string"
                },
                "bootPartition": {
                    "type": "string"
                },
                "cpldVersion": {
                    "type": "string"
                },
                "cpuStat": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatCpuStat:getSwitchStatsDeviceSwitchStatModuleStatCpuStat"
                },
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatError:getSwitchStatsDeviceSwitchStatModuleStatError"
                    },
                    "description": "Used to report all error states the device node is running into. An error should always have \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`since`\" pulumi-lang-dotnet=\"`Since`\" pulumi-lang-go=\"`since`\" pulumi-lang-python=\"`since`\" pulumi-lang-yaml=\"`since`\" pulumi-lang-java=\"`since`\" pulumi-lang-hcl=\"`since`\"\u003e`since`\u003c/span\u003e fields, and could have some other fields specific to that type.\n"
                },
                "fans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatFan:getSwitchStatsDeviceSwitchStatModuleStatFan"
                    }
                },
                "fpcIdx": {
                    "type": "integer"
                },
                "fpgaVersion": {
                    "type": "string"
                },
                "lastSeen": {
                    "type": "number",
                    "description": "Last seen timestamp\n"
                },
                "locating": {
                    "type": "boolean"
                },
                "mac": {
                    "type": "string"
                },
                "memoryStat": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatMemoryStat:getSwitchStatsDeviceSwitchStatModuleStatMemoryStat",
                    "description": "Memory usage stat (for virtual chassis, memory usage of master RE)\n"
                },
                "model": {
                    "type": "string"
                },
                "opticsCpldVersion": {
                    "type": "string"
                },
                "pendingVersion": {
                    "type": "string"
                },
                "pics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatPic:getSwitchStatsDeviceSwitchStatModuleStatPic"
                    }
                },
                "poe": {
                    "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatPoe:getSwitchStatsDeviceSwitchStatModuleStatPoe"
                },
                "poeVersion": {
                    "type": "string"
                },
                "powerCpldVersion": {
                    "type": "string"
                },
                "psuses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatPsus:getSwitchStatsDeviceSwitchStatModuleStatPsus"
                    }
                },
                "reFpgaVersion": {
                    "type": "string"
                },
                "recoveryVersion": {
                    "type": "string"
                },
                "serial": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "temperatures": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatTemperature:getSwitchStatsDeviceSwitchStatModuleStatTemperature"
                    }
                },
                "tmcFpgaVersion": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "ubootVersion": {
                    "type": "string"
                },
                "uptime": {
                    "type": "integer"
                },
                "vcLinks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatVcLink:getSwitchStatsDeviceSwitchStatModuleStatVcLink"
                    }
                },
                "vcMode": {
                    "type": "string"
                },
                "vcRole": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\" pulumi-lang-hcl=\"`master`\"\u003e`master`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\" pulumi-lang-hcl=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linecard`\" pulumi-lang-dotnet=\"`Linecard`\" pulumi-lang-go=\"`linecard`\" pulumi-lang-python=\"`linecard`\" pulumi-lang-yaml=\"`linecard`\" pulumi-lang-java=\"`linecard`\" pulumi-lang-hcl=\"`linecard`\"\u003e`linecard`\u003c/span\u003e\n"
                },
                "vcState": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "backupVersion",
                "biosVersion",
                "bootPartition",
                "cpldVersion",
                "cpuStat",
                "errors",
                "fans",
                "fpcIdx",
                "fpgaVersion",
                "lastSeen",
                "locating",
                "mac",
                "memoryStat",
                "model",
                "opticsCpldVersion",
                "pendingVersion",
                "pics",
                "poe",
                "poeVersion",
                "powerCpldVersion",
                "psuses",
                "reFpgaVersion",
                "recoveryVersion",
                "serial",
                "status",
                "temperatures",
                "tmcFpgaVersion",
                "type",
                "ubootVersion",
                "uptime",
                "vcLinks",
                "vcMode",
                "vcRole",
                "vcState",
                "version"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatCpuStat:getSwitchStatsDeviceSwitchStatModuleStatCpuStat": {
            "properties": {
                "idle": {
                    "type": "number",
                    "description": "Percentage of CPU time that is idle\n"
                },
                "interrupt": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by interrupts\n"
                },
                "loadAvgs": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    },
                    "description": "Load averages for the last 1, 5, and 15 minutes\n"
                },
                "system": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by system processes\n"
                },
                "usage": {
                    "type": "number",
                    "description": "CPU usage\n"
                },
                "user": {
                    "type": "number",
                    "description": "Percentage of CPU time being used by user processes\n"
                }
            },
            "type": "object",
            "required": [
                "idle",
                "interrupt",
                "loadAvgs",
                "system",
                "usage",
                "user"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatError:getSwitchStatsDeviceSwitchStatModuleStatError": {
            "properties": {
                "feature": {
                    "type": "string"
                },
                "minimumVersion": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "since": {
                    "type": "integer"
                },
                "type": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "feature",
                "minimumVersion",
                "reason",
                "since",
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatFan:getSwitchStatsDeviceSwitchStatModuleStatFan": {
            "properties": {
                "airflow": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "rpm": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "airflow",
                "name",
                "rpm",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatMemoryStat:getSwitchStatsDeviceSwitchStatModuleStatMemoryStat": {
            "properties": {
                "usage": {
                    "type": "number"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatPic:getSwitchStatsDeviceSwitchStatModuleStatPic": {
            "properties": {
                "index": {
                    "type": "integer"
                },
                "modelNumber": {
                    "type": "string"
                },
                "portGroups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatPicPortGroup:getSwitchStatsDeviceSwitchStatModuleStatPicPortGroup"
                    }
                }
            },
            "type": "object",
            "required": [
                "index",
                "modelNumber",
                "portGroups"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatPicPortGroup:getSwitchStatsDeviceSwitchStatModuleStatPicPortGroup": {
            "properties": {
                "count": {
                    "type": "integer"
                },
                "type": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "count",
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatPoe:getSwitchStatsDeviceSwitchStatModuleStatPoe": {
            "properties": {
                "maxPower": {
                    "type": "number"
                },
                "powerDraw": {
                    "type": "number"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "maxPower",
                "powerDraw",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatPsus:getSwitchStatsDeviceSwitchStatModuleStatPsus": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "name",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatTemperature:getSwitchStatsDeviceSwitchStatModuleStatTemperature": {
            "properties": {
                "celsius": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "celsius",
                "name",
                "status"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatModuleStatVcLink:getSwitchStatsDeviceSwitchStatModuleStatVcLink": {
            "properties": {
                "neighborModuleIdx": {
                    "type": "integer"
                },
                "neighborPortId": {
                    "type": "string"
                },
                "portId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "neighborModuleIdx",
                "neighborPortId",
                "portId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatPort:getSwitchStatsDeviceSwitchStatPort": {
            "properties": {
                "active": {
                    "type": "boolean",
                    "description": "Indicates if interface is active/inactive\n"
                },
                "authState": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`up`\" pulumi-lang-dotnet=\"`Up`\" pulumi-lang-go=\"`up`\" pulumi-lang-python=\"`up`\" pulumi-lang-yaml=\"`up`\" pulumi-lang-java=\"`up`\" pulumi-lang-hcl=\"`up`\"\u003e`up`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and has Authenticator role. enum: \u003cspan pulumi-lang-nodejs=\"`authenticated`\" pulumi-lang-dotnet=\"`Authenticated`\" pulumi-lang-go=\"`authenticated`\" pulumi-lang-python=\"`authenticated`\" pulumi-lang-yaml=\"`authenticated`\" pulumi-lang-java=\"`authenticated`\" pulumi-lang-hcl=\"`authenticated`\"\u003e`authenticated`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authenticating`\" pulumi-lang-dotnet=\"`Authenticating`\" pulumi-lang-go=\"`authenticating`\" pulumi-lang-python=\"`authenticating`\" pulumi-lang-yaml=\"`authenticating`\" pulumi-lang-java=\"`authenticating`\" pulumi-lang-hcl=\"`authenticating`\"\u003e`authenticating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`held`\" pulumi-lang-dotnet=\"`Held`\" pulumi-lang-go=\"`held`\" pulumi-lang-python=\"`held`\" pulumi-lang-yaml=\"`held`\" pulumi-lang-java=\"`held`\" pulumi-lang-hcl=\"`held`\"\u003e`held`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`init`\" pulumi-lang-dotnet=\"`Init`\" pulumi-lang-go=\"`init`\" pulumi-lang-python=\"`init`\" pulumi-lang-yaml=\"`init`\" pulumi-lang-java=\"`init`\" pulumi-lang-hcl=\"`init`\"\u003e`init`\u003c/span\u003e\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Indicates if interface is disabled\n"
                },
                "forSite": {
                    "type": "boolean"
                },
                "fullDuplex": {
                    "type": "boolean",
                    "description": "Indicates full or half duplex\n"
                },
                "jitter": {
                    "type": "number",
                    "description": "Last sampled jitter of the interface\n"
                },
                "lastFlapped": {
                    "type": "number",
                    "description": "Indicates when the port was last flapped\n"
                },
                "latency": {
                    "type": "number",
                    "description": "Last sampled latency of the interface\n"
                },
                "loss": {
                    "type": "number",
                    "description": "Last sampled loss of the interface\n"
                },
                "lteIccid": {
                    "type": "string",
                    "description": "LTE ICCID value, Check for null/empty\n"
                },
                "lteImei": {
                    "type": "string",
                    "description": "LTE IMEI value, Check for null/empty\n"
                },
                "lteImsi": {
                    "type": "string",
                    "description": "LTE IMSI value, Check for null/empty\n"
                },
                "mac": {
                    "type": "string"
                },
                "macCount": {
                    "type": "integer",
                    "description": "Number of mac addresses in the forwarding table\n"
                },
                "macLimit": {
                    "type": "integer",
                    "description": "Limit on number of dynamically learned macs\n"
                },
                "neighborMac": {
                    "type": "string",
                    "description": "chassis identifier of the chassis type listed\n"
                },
                "neighborPortDesc": {
                    "type": "string",
                    "description": "Description supplied by the system on the interface E.g. \"GigabitEthernet2/0/39\"\n"
                },
                "neighborSystemName": {
                    "type": "string",
                    "description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \"Kumar-Acc-SW.mist.local\"\n"
                },
                "orgId": {
                    "type": "string"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Is the POE disabled\n"
                },
                "poeMode": {
                    "type": "string",
                    "description": "enum: `802.3af`, `802.3at`, `802.3bt`\n"
                },
                "poeOn": {
                    "type": "boolean",
                    "description": "Is the device attached to POE\n"
                },
                "poePriority": {
                    "type": "string",
                    "description": "PoE priority. enum: \u003cspan pulumi-lang-nodejs=\"`low`\" pulumi-lang-dotnet=\"`Low`\" pulumi-lang-go=\"`low`\" pulumi-lang-python=\"`low`\" pulumi-lang-yaml=\"`low`\" pulumi-lang-java=\"`low`\" pulumi-lang-hcl=\"`low`\"\u003e`low`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\" pulumi-lang-hcl=\"`high`\"\u003e`high`\u003c/span\u003e\n"
                },
                "portId": {
                    "type": "string"
                },
                "portMac": {
                    "type": "string",
                    "description": "Interface MAC address\n"
                },
                "portUsage": {
                    "type": "string",
                    "description": "gateway port usage. enum: \u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e\n"
                },
                "powerDraw": {
                    "type": "number",
                    "description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.\n"
                },
                "rxBcastPkts": {
                    "type": "integer",
                    "description": "Broadcast input packets\n"
                },
                "rxBps": {
                    "type": "integer",
                    "description": "Rate of receiving traffic, bits/seconds, last known\n"
                },
                "rxBytes": {
                    "type": "integer",
                    "description": "Amount of traffic received since connection\n"
                },
                "rxErrors": {
                    "type": "integer",
                    "description": "Input errors\n"
                },
                "rxMcastPkts": {
                    "type": "integer",
                    "description": "Multicast input packets\n"
                },
                "rxPkts": {
                    "type": "integer",
                    "description": "Amount of packets received since connection\n"
                },
                "siteId": {
                    "type": "string"
                },
                "speed": {
                    "type": "integer",
                    "description": "Port speed\n"
                },
                "stpRole": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`up`\" pulumi-lang-dotnet=\"`Up`\" pulumi-lang-go=\"`up`\" pulumi-lang-python=\"`up`\" pulumi-lang-yaml=\"`up`\" pulumi-lang-java=\"`up`\" pulumi-lang-hcl=\"`up`\"\u003e`up`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`alternate`\" pulumi-lang-dotnet=\"`Alternate`\" pulumi-lang-go=\"`alternate`\" pulumi-lang-python=\"`alternate`\" pulumi-lang-yaml=\"`alternate`\" pulumi-lang-java=\"`alternate`\" pulumi-lang-hcl=\"`alternate`\"\u003e`alternate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\" pulumi-lang-hcl=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`designated`\" pulumi-lang-dotnet=\"`Designated`\" pulumi-lang-go=\"`designated`\" pulumi-lang-python=\"`designated`\" pulumi-lang-yaml=\"`designated`\" pulumi-lang-java=\"`designated`\" pulumi-lang-hcl=\"`designated`\"\u003e`designated`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\" pulumi-lang-hcl=\"`root`\"\u003e`root`\u003c/span\u003e, `root-prevented`\n"
                },
                "stpState": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`up`\" pulumi-lang-dotnet=\"`Up`\" pulumi-lang-go=\"`up`\" pulumi-lang-python=\"`up`\" pulumi-lang-yaml=\"`up`\" pulumi-lang-java=\"`up`\" pulumi-lang-hcl=\"`up`\"\u003e`up`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`blocking`\" pulumi-lang-dotnet=\"`Blocking`\" pulumi-lang-go=\"`blocking`\" pulumi-lang-python=\"`blocking`\" pulumi-lang-yaml=\"`blocking`\" pulumi-lang-java=\"`blocking`\" pulumi-lang-hcl=\"`blocking`\"\u003e`blocking`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\" pulumi-lang-hcl=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`learning`\" pulumi-lang-dotnet=\"`Learning`\" pulumi-lang-go=\"`learning`\" pulumi-lang-python=\"`learning`\" pulumi-lang-yaml=\"`learning`\" pulumi-lang-java=\"`learning`\" pulumi-lang-hcl=\"`learning`\"\u003e`learning`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`listening`\" pulumi-lang-dotnet=\"`Listening`\" pulumi-lang-go=\"`listening`\" pulumi-lang-python=\"`listening`\" pulumi-lang-yaml=\"`listening`\" pulumi-lang-java=\"`listening`\" pulumi-lang-hcl=\"`listening`\"\u003e`listening`\u003c/span\u003e\n"
                },
                "txBcastPkts": {
                    "type": "integer",
                    "description": "Broadcast output packets\n"
                },
                "txBps": {
                    "type": "integer",
                    "description": "Rate of transmitting traffic, bits/seconds, last known\n"
                },
                "txBytes": {
                    "type": "integer",
                    "description": "Amount of traffic sent since connection\n"
                },
                "txErrors": {
                    "type": "integer",
                    "description": "Output errors\n"
                },
                "txMcastPkts": {
                    "type": "integer",
                    "description": "Multicast output packets\n"
                },
                "txPkts": {
                    "type": "integer",
                    "description": "Amount of packets sent since connection\n"
                },
                "type": {
                    "type": "string",
                    "description": "device type. enum: \u003cspan pulumi-lang-nodejs=\"`ap`\" pulumi-lang-dotnet=\"`Ap`\" pulumi-lang-go=\"`ap`\" pulumi-lang-python=\"`ap`\" pulumi-lang-yaml=\"`ap`\" pulumi-lang-java=\"`ap`\" pulumi-lang-hcl=\"`ap`\"\u003e`ap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ble`\" pulumi-lang-dotnet=\"`Ble`\" pulumi-lang-go=\"`ble`\" pulumi-lang-python=\"`ble`\" pulumi-lang-yaml=\"`ble`\" pulumi-lang-java=\"`ble`\" pulumi-lang-hcl=\"`ble`\"\u003e`ble`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxedge`\" pulumi-lang-dotnet=\"`Mxedge`\" pulumi-lang-go=\"`mxedge`\" pulumi-lang-python=\"`mxedge`\" pulumi-lang-yaml=\"`mxedge`\" pulumi-lang-java=\"`mxedge`\" pulumi-lang-hcl=\"`mxedge`\"\u003e`mxedge`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`nac`\" pulumi-lang-dotnet=\"`Nac`\" pulumi-lang-go=\"`nac`\" pulumi-lang-python=\"`nac`\" pulumi-lang-yaml=\"`nac`\" pulumi-lang-java=\"`nac`\" pulumi-lang-hcl=\"`nac`\"\u003e`nac`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e\n"
                },
                "unconfigured": {
                    "type": "boolean",
                    "description": "Indicates if interface is unconfigured\n"
                },
                "up": {
                    "type": "boolean",
                    "description": "Indicates if interface is up\n"
                },
                "xcvrModel": {
                    "type": "string",
                    "description": "Optic Slot ModelName, Check for null/empty\n"
                },
                "xcvrPartNumber": {
                    "type": "string",
                    "description": "Optic Slot Partnumber, Check for null/empty\n"
                },
                "xcvrSerial": {
                    "type": "string",
                    "description": "Optic Slot SerialNumber, Check for null/empty\n"
                }
            },
            "type": "object",
            "required": [
                "active",
                "authState",
                "disabled",
                "forSite",
                "fullDuplex",
                "jitter",
                "lastFlapped",
                "latency",
                "loss",
                "lteIccid",
                "lteImei",
                "lteImsi",
                "mac",
                "macCount",
                "macLimit",
                "neighborMac",
                "neighborPortDesc",
                "neighborSystemName",
                "orgId",
                "poeDisabled",
                "poeMode",
                "poeOn",
                "poePriority",
                "portId",
                "portMac",
                "portUsage",
                "powerDraw",
                "rxBcastPkts",
                "rxBps",
                "rxBytes",
                "rxErrors",
                "rxMcastPkts",
                "rxPkts",
                "siteId",
                "speed",
                "stpRole",
                "stpState",
                "txBcastPkts",
                "txBps",
                "txBytes",
                "txErrors",
                "txMcastPkts",
                "txPkts",
                "type",
                "unconfigured",
                "up",
                "xcvrModel",
                "xcvrPartNumber",
                "xcvrSerial"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatRouteSummaryStats:getSwitchStatsDeviceSwitchStatRouteSummaryStats": {
            "properties": {
                "fibRoutes": {
                    "type": "integer"
                },
                "maxUnicastRoutesSupported": {
                    "type": "integer"
                },
                "ribRoutes": {
                    "type": "integer"
                },
                "totalRoutes": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "fibRoutes",
                "maxUnicastRoutesSupported",
                "ribRoutes",
                "totalRoutes"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatServiceStat:getSwitchStatsDeviceSwitchStatServiceStat": {
            "properties": {
                "ashVersion": {
                    "type": "string"
                },
                "ciaVersion": {
                    "type": "string"
                },
                "emberVersion": {
                    "type": "string"
                },
                "ipsecClientVersion": {
                    "type": "string"
                },
                "mistAgentVersion": {
                    "type": "string"
                },
                "packageVersion": {
                    "type": "string"
                },
                "testingToolsVersion": {
                    "type": "string"
                },
                "wheeljackVersion": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "ashVersion",
                "ciaVersion",
                "emberVersion",
                "ipsecClientVersion",
                "mistAgentVersion",
                "packageVersion",
                "testingToolsVersion",
                "wheeljackVersion"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getSwitchStatsDeviceSwitchStatVcSetupInfo:getSwitchStatsDeviceSwitchStatVcSetupInfo": {
            "properties": {
                "configType": {
                    "type": "string"
                },
                "currentStats": {
                    "type": "string"
                },
                "errMissingDevIdFpc": {
                    "type": "boolean"
                },
                "lastUpdate": {
                    "type": "number"
                },
                "requestTime": {
                    "type": "number"
                },
                "requestType": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "configType",
                "currentStats",
                "errMissingDevIdFpc",
                "lastUpdate",
                "requestTime",
                "requestType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:device/getVersionsDeviceVersion:getVersionsDeviceVersion": {
            "properties": {
                "model": {
                    "type": "string",
                    "description": "Device model (as seen in the device stats)\n"
                },
                "tag": {
                    "type": "string",
                    "description": "Annotation, stable / beta / alpha. Or it can be empty or nothing which is likely a dev build\n"
                },
                "version": {
                    "type": "string",
                    "description": "Firmware version\n"
                }
            },
            "type": "object",
            "required": [
                "model",
                "tag",
                "version"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/UpgradeDeviceAutoUpgradeStat:UpgradeDeviceAutoUpgradeStat": {
            "properties": {
                "lastcheck": {
                    "type": "integer",
                    "description": "Time when the device last checked for auto-upgrade, in epoch seconds\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "lastcheck"
                    ]
                }
            }
        },
        "junipermist:index/UpgradeDeviceFwupdate:UpgradeDeviceFwupdate": {
            "properties": {
                "progress": {
                    "type": "integer",
                    "description": "Firmware update progress percentage, or null when unavailable\n"
                },
                "status": {
                    "type": "string",
                    "description": "Current firmware update status\n"
                },
                "statusId": {
                    "type": "integer",
                    "description": "Numeric firmware update status identifier\n"
                },
                "timestamp": {
                    "type": "number",
                    "description": "Time when the firmware update status was last updated\n"
                },
                "willRetry": {
                    "type": "boolean",
                    "description": "Whether the firmware update process will retry after the current status\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "progress",
                        "status",
                        "statusId",
                        "timestamp",
                        "willRetry"
                    ]
                }
            }
        },
        "junipermist:index/getConstAlarmsConstAlarm:getConstAlarmsConstAlarm": {
            "properties": {
                "display": {
                    "type": "string",
                    "description": "Description of the alarm type\n"
                },
                "group": {
                    "type": "string",
                    "description": "Group to which the alarm belongs\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key name of the alarm type\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Severity of the alarm\n"
                }
            },
            "type": "object",
            "required": [
                "display",
                "group",
                "key",
                "severity"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/getConstAppCategoriesConstAppCategory:getConstAppCategoriesConstAppCategory": {
            "properties": {
                "display": {
                    "type": "string",
                    "description": "Description of the app category\n"
                },
                "filters": {
                    "$ref": "#/types/junipermist:index/getConstAppCategoriesConstAppCategoryFilters:getConstAppCategoriesConstAppCategoryFilters"
                },
                "includes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of other App Categories contained by this one\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key name of the app category\n"
                }
            },
            "type": "object",
            "required": [
                "display",
                "filters",
                "includes",
                "key"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/getConstAppCategoriesConstAppCategoryFilters:getConstAppCategoriesConstAppCategoryFilters": {
            "properties": {
                "srxes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "ssrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "srxes",
                "ssrs"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/getConstAppSubCategoriesConstAppSubCategory:getConstAppSubCategoriesConstAppSubCategory": {
            "properties": {
                "display": {
                    "type": "string",
                    "description": "Description of the app subcategory\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key name of the app subcategory\n"
                },
                "trafficType": {
                    "type": "string",
                    "description": "Type of traffic (QoS) of the app subcategory\n"
                }
            },
            "type": "object",
            "required": [
                "display",
                "key",
                "trafficType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/getConstApplicationsConstApplication:getConstApplicationsConstApplication": {
            "properties": {
                "appId": {
                    "type": "boolean"
                },
                "appImageUrl": {
                    "type": "string"
                },
                "appProbe": {
                    "type": "boolean"
                },
                "category": {
                    "type": "string"
                },
                "group": {
                    "type": "string"
                },
                "key": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "signatureBased": {
                    "type": "boolean"
                },
                "ssrAppId": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "appId",
                "appImageUrl",
                "appProbe",
                "category",
                "group",
                "key",
                "name",
                "signatureBased",
                "ssrAppId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/getConstCountriesConstCountry:getConstCountriesConstCountry": {
            "properties": {
                "alpha2": {
                    "type": "string",
                    "description": "Country code, in two-character\n"
                },
                "certified": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "numeric": {
                    "type": "number",
                    "description": "Country code, ISO 3166-1 numeric\n"
                }
            },
            "type": "object",
            "required": [
                "alpha2",
                "certified",
                "name",
                "numeric"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/getConstTrafficTypesConstTrafficType:getConstTrafficTypesConstTrafficType": {
            "properties": {
                "display": {
                    "type": "string"
                },
                "dscp": {
                    "type": "integer"
                },
                "failoverPolicy": {
                    "type": "string"
                },
                "maxJitter": {
                    "type": "integer"
                },
                "maxLatency": {
                    "type": "integer"
                },
                "maxLoss": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "trafficClass": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "display",
                "dscp",
                "failoverPolicy",
                "maxJitter",
                "maxLatency",
                "maxLoss",
                "name",
                "trafficClass"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/getConstWebhooksConstWebhook:getConstWebhooksConstWebhook": {
            "properties": {
                "allowsSingleEventPerMessage": {
                    "type": "boolean",
                    "description": "supports single event per message results\n"
                },
                "forOrg": {
                    "type": "boolean",
                    "description": "Can be used in org webhooks, optional\n"
                },
                "hasDeliveryResults": {
                    "type": "boolean",
                    "description": "Supports webhook delivery results /api/v1/:scope/:scope*id/webhooks/:webhook*id/events/search\n"
                },
                "internal": {
                    "type": "boolean",
                    "description": "Internal topic (not selectable in site/org webhooks)\n"
                },
                "key": {
                    "type": "string",
                    "description": "Webhook topic name\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "allowsSingleEventPerMessage",
                "forOrg",
                "hasDeliveryResults",
                "internal",
                "key"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/getSitesSite:getSitesSite": {
            "properties": {
                "address": {
                    "type": "string",
                    "description": "full address of the site\n"
                },
                "alarmtemplateId": {
                    "type": "string",
                    "description": "Alarm Template ID, this takes precedence over the Org-level alarmtemplate_id\n"
                },
                "aptemplateId": {
                    "type": "string",
                    "description": "AP Template ID, used by APs\n"
                },
                "countryCode": {
                    "type": "string",
                    "description": "country code for the site (for AP config generation), in two-character\n"
                },
                "createdTime": {
                    "type": "number"
                },
                "gatewaytemplateId": {
                    "type": "string",
                    "description": "Gateway Template ID, used by gateways\n"
                },
                "id": {
                    "type": "string"
                },
                "latlng": {
                    "$ref": "#/types/junipermist:index/getSitesSiteLatlng:getSitesSiteLatlng"
                },
                "modifiedTime": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "networktemplateId": {
                    "type": "string",
                    "description": "Network Template ID, this takes precedence over Site Settings\n"
                },
                "notes": {
                    "type": "string",
                    "description": "optional, any notes about the site\n"
                },
                "orgId": {
                    "type": "string"
                },
                "rftemplateId": {
                    "type": "string",
                    "description": "RF Template ID, this takes precedence over Site Settings\n"
                },
                "secpolicyId": {
                    "type": "string",
                    "description": "SecPolicy ID\n"
                },
                "sitegroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "sitegroups this site belongs to\n"
                },
                "sitetemplateId": {
                    "type": "string",
                    "description": "Site Template ID\n"
                },
                "timezone": {
                    "type": "string",
                    "description": "Timezone the site is at\n"
                }
            },
            "type": "object",
            "required": [
                "address",
                "alarmtemplateId",
                "aptemplateId",
                "countryCode",
                "createdTime",
                "gatewaytemplateId",
                "id",
                "latlng",
                "modifiedTime",
                "name",
                "networktemplateId",
                "notes",
                "orgId",
                "rftemplateId",
                "secpolicyId",
                "sitegroupIds",
                "sitetemplateId",
                "timezone"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:index/getSitesSiteLatlng:getSitesSiteLatlng": {
            "properties": {
                "lat": {
                    "type": "number"
                },
                "lng": {
                    "type": "number"
                }
            },
            "type": "object",
            "required": [
                "lat",
                "lng"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/AlarmtemplateDelivery:AlarmtemplateDelivery": {
            "properties": {
                "additionalEmails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional email recipients for alarm delivery\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable the alarm delivery via emails or not\n"
                },
                "toOrgAdmins": {
                    "type": "boolean",
                    "description": "Whether to deliver the alarms via emails to Org admins or not\n"
                },
                "toSiteAdmins": {
                    "type": "boolean",
                    "description": "Whether to deliver the alarms via emails to Site admins or not\n"
                }
            },
            "type": "object",
            "required": [
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "additionalEmails",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/AlarmtemplateRules:AlarmtemplateRules": {
            "properties": {
                "delivery": {
                    "$ref": "#/types/junipermist:org/AlarmtemplateRulesDelivery:AlarmtemplateRulesDelivery",
                    "description": "Overrides for the alarm template delivery defaults for this alarm rule\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this alarm rule is enabled in the template\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/AlarmtemplateRulesDelivery:AlarmtemplateRulesDelivery": {
            "properties": {
                "additionalEmails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional email recipients for alarm delivery\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable the alarm delivery via emails or not\n"
                },
                "toOrgAdmins": {
                    "type": "boolean",
                    "description": "Whether to deliver the alarms via emails to Org admins or not\n"
                },
                "toSiteAdmins": {
                    "type": "boolean",
                    "description": "Whether to deliver the alarms via emails to Site admins or not\n"
                }
            },
            "type": "object",
            "required": [
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "additionalEmails",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/ApitokenPrivilege:ApitokenPrivilege": {
            "properties": {
                "role": {
                    "type": "string",
                    "description": "Access role granted by this organization privilege\n"
                },
                "scope": {
                    "type": "string",
                    "description": "Organization hierarchy level where this privilege applies\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\" pulumi-lang-hcl=\"`scope`\"\u003e`scope`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\" pulumi-lang-hcl=\"`site`\"\u003e`site`\u003c/span\u003e\n"
                },
                "sitegroupId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\" pulumi-lang-hcl=\"`scope`\"\u003e`scope`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sitegroup`\" pulumi-lang-dotnet=\"`Sitegroup`\" pulumi-lang-go=\"`sitegroup`\" pulumi-lang-python=\"`sitegroup`\" pulumi-lang-yaml=\"`sitegroup`\" pulumi-lang-java=\"`sitegroup`\" pulumi-lang-hcl=\"`sitegroup`\"\u003e`sitegroup`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "role",
                "scope"
            ]
        },
        "junipermist:org/DeviceprofileApAeroscout:DeviceprofileApAeroscout": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable aeroscout config\n"
                },
                "host": {
                    "type": "string",
                    "description": "Required if enabled, aeroscout server host\n"
                },
                "locateConnected": {
                    "type": "boolean",
                    "description": "Whether to enable the feature to allow wireless clients data received and sent to AES server for location calculation\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Optional if enabled, Aeroscout server port. Defaults to 1144\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "host",
                        "locateConnected",
                        "port"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApAirista:DeviceprofileApAirista": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable Airista config\n"
                },
                "host": {
                    "type": "string",
                    "description": "Required if enabled, Airista server host\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Optional if enabled, Airista server port. Defaults to 1144\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileApBleConfig:DeviceprofileApBleConfig": {
            "properties": {
                "beaconEnabled": {
                    "type": "boolean",
                    "description": "Whether Mist beacons is enabled\n"
                },
                "beaconRate": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`beaconRateMode`\" pulumi-lang-dotnet=\"`BeaconRateMode`\" pulumi-lang-go=\"`beaconRateMode`\" pulumi-lang-python=\"`beacon_rate_mode`\" pulumi-lang-yaml=\"`beaconRateMode`\" pulumi-lang-java=\"`beaconRateMode`\" pulumi-lang-hcl=\"`beacon_rate_mode`\"\u003e`beaconRateMode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, 1-10, in number-beacons-per-second\n"
                },
                "beaconRateMode": {
                    "type": "string",
                    "description": "Beacon rate mode for Mist BLE beacons; use custom to set beacon_rate\n"
                },
                "beamDisableds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "AP BLE beam numbers disabled for location advertisements\n"
                },
                "customBlePacketEnabled": {
                    "type": "boolean",
                    "description": "Can be enabled if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to send custom packet\n"
                },
                "customBlePacketFrame": {
                    "type": "string",
                    "description": "The custom frame to be sent out in this beacon. The frame must be a hexstring\n"
                },
                "customBlePacketFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emitted by custom ble beacon\n"
                },
                "eddystoneUidAdvPower": {
                    "type": "integer",
                    "description": "Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default\n"
                },
                "eddystoneUidBeams": {
                    "type": "string",
                    "description": "BLE beams used to transmit Eddystone-UID advertisements, expressed as ranges such as `2-4,7`\n"
                },
                "eddystoneUidEnabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, Whether Eddystone-UID beacon is enabled\n"
                },
                "eddystoneUidFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emit by Eddystone-UID beacon\n"
                },
                "eddystoneUidInstance": {
                    "type": "string",
                    "description": "Eddystone-UID instance for the device\n"
                },
                "eddystoneUidNamespace": {
                    "type": "string",
                    "description": "Eddystone-UID namespace broadcast by the AP, as a 10-byte hex string\n"
                },
                "eddystoneUrlAdvPower": {
                    "type": "integer",
                    "description": "Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default\n"
                },
                "eddystoneUrlBeams": {
                    "type": "string",
                    "description": "BLE beams used to transmit Eddystone-URL advertisements, expressed as ranges such as `2-4,7`\n"
                },
                "eddystoneUrlEnabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, Whether Eddystone-URL beacon is enabled\n"
                },
                "eddystoneUrlFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emitted by Eddystone-URL beacon\n"
                },
                "eddystoneUrlUrl": {
                    "type": "string",
                    "description": "URL pointed by Eddystone-URL beacon\n"
                },
                "ibeaconAdvPower": {
                    "type": "integer",
                    "description": "Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default\n"
                },
                "ibeaconBeams": {
                    "type": "string",
                    "description": "BLE beams used to transmit iBeacon advertisements, expressed as ranges such as `2-4,7`\n"
                },
                "ibeaconEnabled": {
                    "type": "boolean",
                    "description": "Can be enabled if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to send iBeacon\n"
                },
                "ibeaconFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emit for iBeacon\n"
                },
                "ibeaconMajor": {
                    "type": "integer",
                    "description": "iBeacon major value broadcast by the AP\n"
                },
                "ibeaconMinor": {
                    "type": "integer",
                    "description": "iBeacon minor value broadcast by the AP\n"
                },
                "ibeaconUuid": {
                    "type": "string",
                    "description": "Optional, if not specified, the same UUID as the beacon will be used\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`powerMode`\" pulumi-lang-dotnet=\"`PowerMode`\" pulumi-lang-go=\"`powerMode`\" pulumi-lang-python=\"`power_mode`\" pulumi-lang-yaml=\"`powerMode`\" pulumi-lang-java=\"`powerMode`\" pulumi-lang-hcl=\"`power_mode`\"\u003e`powerMode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e; else use \u003cspan pulumi-lang-nodejs=\"`powerMode`\" pulumi-lang-dotnet=\"`PowerMode`\" pulumi-lang-go=\"`powerMode`\" pulumi-lang-python=\"`power_mode`\" pulumi-lang-yaml=\"`powerMode`\" pulumi-lang-java=\"`powerMode`\" pulumi-lang-hcl=\"`power_mode`\"\u003e`powerMode`\u003c/span\u003e as default\n"
                },
                "powerMode": {
                    "type": "string",
                    "description": "Transmit power mode for BLE beacons; use custom to set \u003cspan pulumi-lang-nodejs=\"`power`\" pulumi-lang-dotnet=\"`Power`\" pulumi-lang-go=\"`power`\" pulumi-lang-python=\"`power`\" pulumi-lang-yaml=\"`power`\" pulumi-lang-java=\"`power`\" pulumi-lang-hcl=\"`power`\"\u003e`power`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "beaconEnabled"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApEslConfig:DeviceprofileApEslConfig": {
            "properties": {
                "cacert": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "usb_config is ignored if\u003cspan pulumi-lang-nodejs=\" eslConfig \" pulumi-lang-dotnet=\" EslConfig \" pulumi-lang-go=\" eslConfig \" pulumi-lang-python=\" esl_config \" pulumi-lang-yaml=\" eslConfig \" pulumi-lang-java=\" eslConfig \" pulumi-lang-hcl=\" esl_config \"\u003e eslConfig \u003c/span\u003eenabled\n"
                },
                "host": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "ESL integration type to enable on the AP\n"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`native`\" pulumi-lang-dotnet=\"`Native`\" pulumi-lang-go=\"`native`\" pulumi-lang-python=\"`native`\" pulumi-lang-yaml=\"`native`\" pulumi-lang-java=\"`native`\" pulumi-lang-hcl=\"`native`\"\u003e`native`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`solum`\" pulumi-lang-dotnet=\"`Solum`\" pulumi-lang-go=\"`solum`\" pulumi-lang-python=\"`solum`\" pulumi-lang-yaml=\"`solum`\" pulumi-lang-java=\"`solum`\" pulumi-lang-hcl=\"`solum`\"\u003e`solum`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hanshow`\" pulumi-lang-dotnet=\"`Hanshow`\" pulumi-lang-go=\"`hanshow`\" pulumi-lang-python=\"`hanshow`\" pulumi-lang-yaml=\"`hanshow`\" pulumi-lang-java=\"`hanshow`\" pulumi-lang-hcl=\"`hanshow`\"\u003e`hanshow`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "host",
                        "type",
                        "vlanId"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApIpConfig:DeviceprofileApIpConfig": {
            "properties": {
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. DNS server IP addresses for AP management traffic\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. DNS search suffixes applied to AP management lookups\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. IPv4 default gateway for AP management traffic\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. IPv6 default gateway for AP management traffic when static IPv6 addressing is used\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. Static IPv4 address for the AP management interface\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. Static IPv6 address for the AP management interface\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Maximum transmission unit for AP management traffic\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. IPv4 netmask for the AP management interface\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e. IPv6 prefix length for the AP management interface\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for AP management traffic\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for AP management traffic\n"
                },
                "vlanId": {
                    "type": "integer",
                    "description": "Management VLAN ID, default is 1 (untagged)\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "mtu",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApLacpConfig:DeviceprofileApLacpConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable LACP on supported AP Ethernet uplinks\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApLed:DeviceprofileApLed": {
            "properties": {
                "brightness": {
                    "type": "integer",
                    "description": "Indicator LED brightness level from 0 to 255\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the AP indicator LED is enabled\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "brightness",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApMesh:DeviceprofileApMesh": {
            "properties": {
                "bands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Radio bands allowed for AP mesh links\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether mesh is enabled on this AP\n"
                },
                "group": {
                    "type": "integer",
                    "description": "Mesh group, base AP(s) will only allow remote AP(s) in the same mesh group to join, 1-9, optional\n"
                },
                "role": {
                    "type": "string",
                    "description": "Mesh role for this AP, either base or remote\n"
                },
                "useWpa3On5": {
                    "type": "boolean",
                    "description": "Whether to use WPA3 on the 5 GHz band for mesh links\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApMqttConfig:DeviceprofileApMqttConfig": {
            "properties": {
                "brokerHost": {
                    "type": "string",
                    "description": "MQTT broker hostname or IP address; required when \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\" pulumi-lang-hcl=\"`enabled`\"\u003e`enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "brokerPort": {
                    "type": "integer",
                    "description": "MQTT broker port; defaults to \u003cspan pulumi-lang-nodejs=\"`1883`\" pulumi-lang-dotnet=\"`1883`\" pulumi-lang-go=\"`1883`\" pulumi-lang-python=\"`1883`\" pulumi-lang-yaml=\"`1883`\" pulumi-lang-java=\"`1883`\" pulumi-lang-hcl=\"`1883`\"\u003e`1883`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`8883`\" pulumi-lang-dotnet=\"`8883`\" pulumi-lang-go=\"`8883`\" pulumi-lang-python=\"`8883`\" pulumi-lang-yaml=\"`8883`\" pulumi-lang-java=\"`8883`\" pulumi-lang-hcl=\"`8883`\"\u003e`8883`\u003c/span\u003e for \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\" pulumi-lang-hcl=\"`ssl`\"\u003e`ssl`\u003c/span\u003e\n"
                },
                "brokerProto": {
                    "type": "string",
                    "description": "MQTT broker transport protocol\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable MQTT publishing\n"
                },
                "format": {
                    "type": "string",
                    "description": "Payload format for published messages\n"
                },
                "password": {
                    "type": "string",
                    "description": "Optional MQTT password; masked in GET responses\n",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "Optional MQTT username\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileApPortConfig:DeviceprofileApPortConfig": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Whether this AP Ethernet port is disabled\n"
                },
                "dynamicVlan": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApPortConfigDynamicVlan:DeviceprofileApPortConfigDynamicVlan",
                    "description": "RADIUS-assigned VLAN settings for AP port authentication\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Whether MAC authentication is enabled on this AP port\n"
                },
                "forwarding": {
                    "type": "string",
                    "description": "Traffic forwarding mode for this AP Ethernet port\n"
                },
                "macAuthPreferred": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, we'll do dot1x then mac_auth. enable this to prefer mac_auth\n"
                },
                "macAuthProtocol": {
                    "type": "string",
                    "description": "Protocol used for MAC authentication when \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApPortConfigMistNac:DeviceprofileApPortConfigMistNac",
                    "description": "Juniper Mist NAC settings used by AP port authentication\n"
                },
                "mxTunnelId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\" vlanIds \" pulumi-lang-dotnet=\" VlanIds \" pulumi-lang-go=\" vlanIds \" pulumi-lang-python=\" vlan_ids \" pulumi-lang-yaml=\" vlanIds \" pulumi-lang-java=\" vlanIds \" pulumi-lang-hcl=\" vlan_ids \"\u003e vlanIds \u003c/span\u003ecomes from mxtunnel\n"
                },
                "mxtunnelName": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\" vlanIds \" pulumi-lang-dotnet=\" VlanIds \" pulumi-lang-go=\" vlanIds \" pulumi-lang-python=\" vlan_ids \" pulumi-lang-yaml=\" vlanIds \" pulumi-lang-java=\" vlanIds \" pulumi-lang-hcl=\" vlan_ids \"\u003e vlanIds \u003c/span\u003ecomes from\u003cspan pulumi-lang-nodejs=\" siteMxedge \" pulumi-lang-dotnet=\" SiteMxedge \" pulumi-lang-go=\" siteMxedge \" pulumi-lang-python=\" site_mxedge \" pulumi-lang-yaml=\" siteMxedge \" pulumi-lang-java=\" siteMxedge \" pulumi-lang-hcl=\" site_mxedge \"\u003e siteMxedge \u003c/span\u003e(\u003cspan pulumi-lang-nodejs=\"`mxtunnels`\" pulumi-lang-dotnet=\"`Mxtunnels`\" pulumi-lang-go=\"`mxtunnels`\" pulumi-lang-python=\"`mxtunnels`\" pulumi-lang-yaml=\"`mxtunnels`\" pulumi-lang-java=\"`mxtunnels`\" pulumi-lang-hcl=\"`mxtunnels`\"\u003e`mxtunnels`\u003c/span\u003e under site setting)\n"
                },
                "portAuth": {
                    "type": "string",
                    "description": "Authentication mode for this AP Ethernet port\n"
                },
                "portVlanId": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`limited`\" pulumi-lang-dotnet=\"`Limited`\" pulumi-lang-go=\"`limited`\" pulumi-lang-python=\"`limited`\" pulumi-lang-yaml=\"`limited`\" pulumi-lang-java=\"`limited`\" pulumi-lang-hcl=\"`limited`\"\u003e`limited`\u003c/span\u003e. VLAN ID allowed on this AP Ethernet port\n"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApPortConfigRadiusConfig:DeviceprofileApPortConfigRadiusConfig",
                    "description": "RADIUS authentication and accounting settings for this AP port\n"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApPortConfigRadsec:DeviceprofileApPortConfigRadsec",
                    "description": "TLS-secured RADIUS settings for this AP port\n"
                },
                "vlanId": {
                    "type": "integer",
                    "description": "Optional to specify the VLAN ID for a tunnel if forwarding is for \u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e.\n  * if\u003cspan pulumi-lang-nodejs=\" vlanId \" pulumi-lang-dotnet=\" VlanId \" pulumi-lang-go=\" vlanId \" pulumi-lang-python=\" vlan_id \" pulumi-lang-yaml=\" vlanId \" pulumi-lang-java=\" vlanId \" pulumi-lang-hcl=\" vlan_id \"\u003e vlanId \u003c/span\u003eis not specified then it will use first one in vlan_ids[] of the mxtunnel.\n  * if forwarding == site_mxedge,\u003cspan pulumi-lang-nodejs=\" vlanIds \" pulumi-lang-dotnet=\" VlanIds \" pulumi-lang-go=\" vlanIds \" pulumi-lang-python=\" vlan_ids \" pulumi-lang-yaml=\" vlanIds \" pulumi-lang-java=\" vlanIds \" pulumi-lang-hcl=\" vlan_ids \"\u003e vlanIds \u003c/span\u003ecomes from\u003cspan pulumi-lang-nodejs=\" siteMxedge \" pulumi-lang-dotnet=\" SiteMxedge \" pulumi-lang-go=\" siteMxedge \" pulumi-lang-python=\" site_mxedge \" pulumi-lang-yaml=\" siteMxedge \" pulumi-lang-java=\" siteMxedge \" pulumi-lang-hcl=\" site_mxedge \"\u003e siteMxedge \u003c/span\u003e(\u003cspan pulumi-lang-nodejs=\"`mxtunnels`\" pulumi-lang-dotnet=\"`Mxtunnels`\" pulumi-lang-go=\"`mxtunnels`\" pulumi-lang-python=\"`mxtunnels`\" pulumi-lang-yaml=\"`mxtunnels`\" pulumi-lang-java=\"`mxtunnels`\" pulumi-lang-hcl=\"`mxtunnels`\"\u003e`mxtunnels`\u003c/span\u003e under site setting)\n"
                },
                "vlanIds": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`limited`\" pulumi-lang-dotnet=\"`Limited`\" pulumi-lang-go=\"`limited`\" pulumi-lang-python=\"`limited`\" pulumi-lang-yaml=\"`limited`\" pulumi-lang-java=\"`limited`\" pulumi-lang-hcl=\"`limited`\"\u003e`limited`\u003c/span\u003e, comma separated list of additional VLAN IDs allowed on this port\n"
                },
                "wxtunnelId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, the port is bridged to the vlan of the session\n"
                },
                "wxtunnelRemoteId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`forwarding`\" pulumi-lang-dotnet=\"`Forwarding`\" pulumi-lang-go=\"`forwarding`\" pulumi-lang-python=\"`forwarding`\" pulumi-lang-yaml=\"`forwarding`\" pulumi-lang-java=\"`forwarding`\" pulumi-lang-hcl=\"`forwarding`\"\u003e`forwarding`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, the port is bridged to the vlan of the session\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled",
                        "enableMacAuth",
                        "forwarding",
                        "macAuthPreferred",
                        "macAuthProtocol",
                        "mxTunnelId",
                        "mxtunnelName",
                        "portAuth",
                        "wxtunnelId",
                        "wxtunnelRemoteId"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApPortConfigDynamicVlan:DeviceprofileApPortConfigDynamicVlan": {
            "properties": {
                "defaultVlanId": {
                    "type": "integer",
                    "description": "Fallback VLAN ID used when RADIUS does not return a dynamic VLAN match\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether dynamic VLAN assignment is enabled for this AP port\n"
                },
                "type": {
                    "type": "string",
                    "description": "Mapping mode for interpreting dynamic VLAN attributes returned by RADIUS\n"
                },
                "vlans": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Mapping entries for RADIUS-assigned VLAN values on this AP port. For \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==`airespace-interface-name`, the property key is the Airespace interface name returned by RADIUS (e.g. \"guest\"), and the value is the corresponding VLAN ID (e.g. 100). For \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e, the property key is the VLAN ID number returned by RADIUS, and the value is ignored.\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileApPortConfigMistNac:DeviceprofileApPortConfigMistNac": {
            "properties": {
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled.\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"retries\" are set to value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"max-requests\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersRetries`\" pulumi-lang-dotnet=\"`AuthServersRetries`\" pulumi-lang-go=\"`authServersRetries`\" pulumi-lang-python=\"`auth_servers_retries`\" pulumi-lang-yaml=\"`authServersRetries`\" pulumi-lang-java=\"`authServersRetries`\" pulumi-lang-hcl=\"`auth_servers_retries`\"\u003e`authServersRetries`\u003c/span\u003e is set to default value to 3.\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"quite-period\" and \"transmit-period\" are set to half the value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"supplicant-timeout\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e is set to default value of 10.\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Allows a RADIUS server to dynamically modify the authorization status of a user session.\n"
                },
                "coaPort": {
                    "type": "integer",
                    "description": "the communication port used for “Change of Authorization” (CoA) messages\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled:\n  * \u003cspan pulumi-lang-nodejs=\"`authServers`\" pulumi-lang-dotnet=\"`AuthServers`\" pulumi-lang-go=\"`authServers`\" pulumi-lang-python=\"`auth_servers`\" pulumi-lang-yaml=\"`authServers`\" pulumi-lang-java=\"`authServers`\" pulumi-lang-hcl=\"`auth_servers`\"\u003e`authServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`acctServers`\" pulumi-lang-dotnet=\"`AcctServers`\" pulumi-lang-go=\"`acctServers`\" pulumi-lang-python=\"`acct_servers`\" pulumi-lang-yaml=\"`acctServers`\" pulumi-lang-java=\"`acctServers`\" pulumi-lang-hcl=\"`acct_servers`\"\u003e`acctServers`\u003c/span\u003e is ignored\n  * `auth_servers_*` are ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaServers`\" pulumi-lang-dotnet=\"`CoaServers`\" pulumi-lang-go=\"`coaServers`\" pulumi-lang-python=\"`coa_servers`\" pulumi-lang-yaml=\"`coaServers`\" pulumi-lang-java=\"`coaServers`\" pulumi-lang-hcl=\"`coa_servers`\"\u003e`coaServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`radsec`\" pulumi-lang-dotnet=\"`Radsec`\" pulumi-lang-go=\"`radsec`\" pulumi-lang-python=\"`radsec`\" pulumi-lang-yaml=\"`radsec`\" pulumi-lang-java=\"`radsec`\" pulumi-lang-hcl=\"`radsec`\"\u003e`radsec`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaEnabled`\" pulumi-lang-dotnet=\"`CoaEnabled`\" pulumi-lang-go=\"`coaEnabled`\" pulumi-lang-python=\"`coa_enabled`\" pulumi-lang-yaml=\"`coaEnabled`\" pulumi-lang-java=\"`coaEnabled`\" pulumi-lang-hcl=\"`coa_enabled`\"\u003e`coaEnabled`\u003c/span\u003e is assumed\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authServerRetries`\" pulumi-lang-dotnet=\"`AuthServerRetries`\" pulumi-lang-go=\"`authServerRetries`\" pulumi-lang-python=\"`auth_server_retries`\" pulumi-lang-yaml=\"`authServerRetries`\" pulumi-lang-java=\"`authServerRetries`\" pulumi-lang-hcl=\"`auth_server_retries`\"\u003e`authServerRetries`\u003c/span\u003e.\n"
                },
                "network": {
                    "type": "string",
                    "description": "Which network the mist nac server resides in\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "In case there is a static IP for this network, we can specify it using source ip\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApPortConfigRadiusConfig:DeviceprofileApPortConfigRadiusConfig": {
            "properties": {
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled\n"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApPortConfigRadiusConfigAcctServer:DeviceprofileApPortConfigRadiusConfigAcctServer"
                    },
                    "description": "RADIUS accounting servers used by this Junos configuration\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApPortConfigRadiusConfigAuthServer:DeviceprofileApPortConfigRadiusConfigAuthServer"
                    },
                    "description": "RADIUS authentication servers used by this Junos configuration\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "Number of RADIUS authentication request retries before failover\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS authentication server timeout, in seconds\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS Change of Authorization (CoA) is enabled\n"
                },
                "coaPort": {
                    "type": "integer",
                    "description": "UDP port used for RADIUS Change of Authorization (CoA)\n"
                },
                "network": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Network where the RADIUS server resides; if the network has a static IP, Mist uses it as the source IP\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Explicit source IP address for RADIUS traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "acctInterimInterval",
                        "authServersRetries",
                        "authServersTimeout",
                        "coaEnabled",
                        "coaPort"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApPortConfigRadiusConfigAcctServer:DeviceprofileApPortConfigRadiusConfigAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS accounting server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this accounting server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS accounting server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:org/DeviceprofileApPortConfigRadiusConfigAuthServer:DeviceprofileApPortConfigRadiusConfigAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS authentication server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this authentication server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS authentication server\n"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS authentication server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "host",
                        "requireMessageAuthenticator",
                        "secret"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApPortConfigRadsec:DeviceprofileApPortConfigRadsec": {
            "properties": {
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS Change of Authorization (CoA) is enabled for RadSec traffic\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether RadSec is enabled\n"
                },
                "idleTimeout": {
                    "type": "string",
                    "description": "Idle timeout, in seconds, for RadSec connections\n"
                },
                "mxclusterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Edge cluster IDs used as RadSec proxies when the WLAN does not use mxtunnel\n"
                },
                "proxyHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "RadSec proxy hostnames advertised to APs\n"
                },
                "serverName": {
                    "type": "string",
                    "description": "TLS server name to verify against the CA certificates in Org Setting. Only if not Mist Edge.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApPortConfigRadsecServer:DeviceprofileApPortConfigRadsecServer"
                    },
                    "description": "External RadSec servers. Only if not Mist Edge.\n"
                },
                "useMxedge": {
                    "type": "boolean",
                    "description": "Whether to use organization Mist Edge instances as RadSec proxies\n"
                },
                "useSiteMxedge": {
                    "type": "boolean",
                    "description": "Whether to use site Mist Edge instances when this WLAN does not use mxtunnel\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "coaEnabled",
                        "useSiteMxedge"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApPortConfigRadsecServer:DeviceprofileApPortConfigRadsecServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RadSec server\n"
                },
                "port": {
                    "type": "integer",
                    "description": "TCP port used by the RadSec server\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileApPwrConfig:DeviceprofileApPwrConfig": {
            "properties": {
                "base": {
                    "type": "integer",
                    "description": "Additional power to request during negotiating with PSE over PoE, in mW\n"
                },
                "preferUsbOverWifi": {
                    "type": "boolean",
                    "description": "Whether to enable power out to peripheral, meanwhile will reduce power to Wi-Fi (only for AP45 at power mode)\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "base",
                        "preferUsbOverWifi"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApRadioConfig:DeviceprofileApRadioConfig": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM can be disabled for individual radio-band settings\n"
                },
                "antGain24": {
                    "type": "integer",
                    "description": "Antenna gain for 2.4G - for models with external antenna only\n"
                },
                "antGain5": {
                    "type": "integer",
                    "description": "Antenna gain for 5G - for models with external antenna only\n"
                },
                "antGain6": {
                    "type": "integer",
                    "description": "Antenna gain for 6G - for models with external antenna only\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Selected radio chain mode for AP models that support antenna mode control\n"
                },
                "antennaSelect": {
                    "type": "string",
                    "description": "Internal or external antenna selection for AP models with selectable antennas\n"
                },
                "band24": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApRadioConfigBand24:DeviceprofileApRadioConfigBand24",
                    "description": "2.4 GHz radio settings for this access point\n"
                },
                "band24Usage": {
                    "type": "string",
                    "description": "Radio usage mode for the 2.4 GHz-capable radio\n"
                },
                "band5": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApRadioConfigBand5:DeviceprofileApRadioConfigBand5",
                    "description": "5 GHz radio settings for this access point\n"
                },
                "band5On24Radio": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApRadioConfigBand5On24Radio:DeviceprofileApRadioConfigBand5On24Radio",
                    "description": "5 GHz settings used when the 2.4 GHz radio operates in 5 GHz mode\n"
                },
                "band6": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApRadioConfigBand6:DeviceprofileApRadioConfigBand6",
                    "description": "6 GHz radio settings for this access point\n"
                },
                "fullAutomaticRrm": {
                    "type": "boolean",
                    "description": "Let RRM control everything, only the \u003cspan pulumi-lang-nodejs=\"`channels`\" pulumi-lang-dotnet=\"`Channels`\" pulumi-lang-go=\"`channels`\" pulumi-lang-python=\"`channels`\" pulumi-lang-yaml=\"`channels`\" pulumi-lang-java=\"`channels`\" pulumi-lang-hcl=\"`channels`\"\u003e`channels`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`antGain`\" pulumi-lang-dotnet=\"`AntGain`\" pulumi-lang-go=\"`antGain`\" pulumi-lang-python=\"`ant_gain`\" pulumi-lang-yaml=\"`antGain`\" pulumi-lang-java=\"`antGain`\" pulumi-lang-hcl=\"`ant_gain`\"\u003e`antGain`\u003c/span\u003e will be honored (i.e. disabled/bandwidth/power/band_24_usage are all controlled by RRM)\n"
                },
                "indoorUse": {
                    "type": "boolean",
                    "description": "To make an outdoor operate indoor. For an outdoor-ap, some channels are disallowed by default, this allows the user to use it as an indoor-ap\n"
                },
                "rrmManaged": {
                    "type": "boolean",
                    "description": "Enable RRM to manage all radio settings (ignores all\u003cspan pulumi-lang-nodejs=\" bandXxx \" pulumi-lang-dotnet=\" BandXxx \" pulumi-lang-go=\" bandXxx \" pulumi-lang-python=\" band_xxx \" pulumi-lang-yaml=\" bandXxx \" pulumi-lang-java=\" bandXxx \" pulumi-lang-hcl=\" band_xxx \"\u003e bandXxx \u003c/span\u003econfigs)\n"
                },
                "scanningEnabled": {
                    "type": "boolean",
                    "description": "Whether scanning radio is enabled\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "fullAutomaticRrm"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApRadioConfigBand24:DeviceprofileApRadioConfigBand24": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 2.4 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 2.4 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 2.4 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 2.4 GHz radio\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "For Device. (primary) channel for the band, 0 means using the Site Setting\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 2.4 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 2.4 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "channel",
                        "disabled",
                        "preamble"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApRadioConfigBand5:DeviceprofileApRadioConfigBand5": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 5 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antennaBeamPattern": {
                    "type": "string",
                    "description": "Beam pattern used by the 5 GHz radio antenna\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 5 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 5 GHz radio\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "For Device. (primary) channel for the band, 0 means using the Site Setting\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 5 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "channel",
                        "disabled",
                        "preamble"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApRadioConfigBand5On24Radio:DeviceprofileApRadioConfigBand5On24Radio": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 5 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antennaBeamPattern": {
                    "type": "string",
                    "description": "Beam pattern used by the 5 GHz radio antenna\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 5 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 5 GHz radio\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "For Device. (primary) channel for the band, 0 means using the Site Setting\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 5 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "channel",
                        "disabled",
                        "preamble"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApRadioConfigBand6:DeviceprofileApRadioConfigBand6": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 6 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 6 GHz radio\n"
                },
                "antennaBeamPattern": {
                    "type": "string",
                    "description": "Beam pattern used by the 6 GHz radio antenna\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 6 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 6 GHz radio\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "For Device. (primary) channel for the band, 0 means using the Site Setting\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 6 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 6 GHz radio\n"
                },
                "standardPower": {
                    "type": "boolean",
                    "description": "For 6GHz Only, standard-power operation, AFC (Automatic Frequency Coordination) will be performed, and we'll fall back to Low Power Indoor if AFC failed\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "channel",
                        "disabled",
                        "preamble",
                        "standardPower"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApUplinkPortConfig:DeviceprofileApUplinkPortConfig": {
            "properties": {
                "dot1x": {
                    "type": "boolean",
                    "description": "Whether to do 802.1x against uplink switch. When enabled, AP cert will be used to do EAP-TLS and the Org's CA Cert has to be provisioned at the switch\n"
                },
                "keepWlansUpIfDown": {
                    "type": "boolean",
                    "description": "By default, WLANs are disabled when uplink is down. In some scenario, like SiteSurvey, one would want the AP to keep sending beacons.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "dot1x"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApUsbConfig:DeviceprofileApUsbConfig": {
            "properties": {
                "cacert": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e. CA certificate used to validate the Imagotag service certificate\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e, channel selection, not needed by default, required for manual channel override only\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable any usb config\n"
                },
                "host": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e. Imagotag service host or IP address contacted by the AP\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e. TCP port used to reach the Imagotag service\n"
                },
                "type": {
                    "type": "string",
                    "description": "USB integration type for this legacy AP USB configuration\n"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`imagotag`\" pulumi-lang-dotnet=\"`Imagotag`\" pulumi-lang-go=\"`imagotag`\" pulumi-lang-python=\"`imagotag`\" pulumi-lang-yaml=\"`imagotag`\" pulumi-lang-java=\"`imagotag`\" pulumi-lang-hcl=\"`imagotag`\"\u003e`imagotag`\u003c/span\u003e, whether to turn on SSL verification\n"
                },
                "vlanId": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`solum`\" pulumi-lang-dotnet=\"`Solum`\" pulumi-lang-go=\"`solum`\" pulumi-lang-python=\"`solum`\" pulumi-lang-yaml=\"`solum`\" pulumi-lang-java=\"`solum`\" pulumi-lang-hcl=\"`solum`\"\u003e`solum`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hanshow`\" pulumi-lang-dotnet=\"`Hanshow`\" pulumi-lang-go=\"`hanshow`\" pulumi-lang-python=\"`hanshow`\" pulumi-lang-yaml=\"`hanshow`\" pulumi-lang-java=\"`hanshow`\" pulumi-lang-hcl=\"`hanshow`\"\u003e`hanshow`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "cacert",
                        "host"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileApZigbeeConfig:DeviceprofileApZigbeeConfig": {
            "properties": {
                "allowJoin": {
                    "type": "string",
                    "description": "Join policy for new Zigbee devices on this AP\n"
                },
                "channel": {
                    "type": "integer",
                    "description": "Zigbee channel (2.4 GHz). \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means auto; valid fixed values are 11–26\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable Zigbee on this AP\n"
                },
                "extendedPanId": {
                    "type": "string",
                    "description": "Extended PAN ID in hex string format; only applicable when \u003cspan pulumi-lang-nodejs=\"`panId`\" pulumi-lang-dotnet=\"`PanId`\" pulumi-lang-go=\"`panId`\" pulumi-lang-python=\"`pan_id`\" pulumi-lang-yaml=\"`panId`\" pulumi-lang-java=\"`panId`\" pulumi-lang-hcl=\"`pan_id`\"\u003e`panId`\u003c/span\u003e is also specified\n"
                },
                "panId": {
                    "type": "string",
                    "description": "PAN ID in hex string format; if not specified, assigned automatically\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowJoin",
                        "channel",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayBgpConfig:DeviceprofileGatewayBgpConfig": {
            "properties": {
                "authKey": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e\n"
                },
                "bfdMinimumInterval": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, when\u003cspan pulumi-lang-nodejs=\" bfdMultiplier \" pulumi-lang-dotnet=\" BfdMultiplier \" pulumi-lang-go=\" bfdMultiplier \" pulumi-lang-python=\" bfd_multiplier \" pulumi-lang-yaml=\" bfdMultiplier \" pulumi-lang-java=\" bfdMultiplier \" pulumi-lang-hcl=\" bfd_multiplier \"\u003e bfdMultiplier \u003c/span\u003eis configured alone. Default:\n  * 1000 if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e\n  * 350 \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\" pulumi-lang-hcl=\"`internal`\"\u003e`internal`\u003c/span\u003e\n"
                },
                "bfdMultiplier": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, when\u003cspan pulumi-lang-nodejs=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-dotnet=\" BfdMinimumIntervalIsConfigured \" pulumi-lang-go=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-python=\" bfd_minimum_interval_is_configured \" pulumi-lang-yaml=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-java=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-hcl=\" bfd_minimum_interval_is_configured \"\u003e bfdMinimumIntervalIsConfigured \u003c/span\u003ealone\n"
                },
                "disableBfd": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. BFD provides faster path failure detection and is enabled by default\n"
                },
                "export": {
                    "type": "string",
                    "description": "Routing policy applied to routes exported by this BGP session\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Default export policies if no per-neighbor policies defined\n"
                },
                "extendedV4Nexthop": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. By default, either inet/net6 unicast depending on neighbor IP family (v4 or v6). For v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this\n"
                },
                "gracefulRestartTime": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means disable\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Default is 90.\n"
                },
                "import": {
                    "type": "string",
                    "description": "Routing policy applied to routes imported by this BGP session\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Default import policies if no per-neighbor policies defined\n"
                },
                "localAs": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. BGPLocal AS. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`)\n"
                },
                "neighborAs": {
                    "type": "string",
                    "description": "Neighbor AS. If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\" pulumi-lang-hcl=\"`internal`\"\u003e`internal`\u003c/span\u003e, must be equal to \u003cspan pulumi-lang-nodejs=\"`localAs`\" pulumi-lang-dotnet=\"`LocalAs`\" pulumi-lang-go=\"`localAs`\" pulumi-lang-python=\"`local_as`\" pulumi-lang-yaml=\"`localAs`\" pulumi-lang-java=\"`localAs`\" pulumi-lang-hcl=\"`local_as`\"\u003e`localAs`\u003c/span\u003e. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`)\n"
                },
                "neighbors": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayBgpConfigNeighbors:DeviceprofileGatewayBgpConfigNeighbors"
                    },
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. If per-neighbor as is desired. Property key is the neighbor address\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e; networks where BGP neighbors can connect to or from\n"
                },
                "noPrivateAs": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. If true, we will not advertise private ASNs (AS 64512-65534) to this neighbor\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. By default, we'll re-advertise all learned BGP routers toward overlay\n"
                },
                "tunnelName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e; tunnel name used for this BGP session\n"
                },
                "type": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e; BGP session type, internal or external\n"
                },
                "via": {
                    "type": "string",
                    "description": "Transport used for this BGP session, such as LAN, tunnel, VPN, or WAN\n"
                },
                "vpnName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e; VPN name used for this BGP session\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e; WAN interface name used for this BGP session\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/DeviceprofileGatewayBgpConfigNeighbors:DeviceprofileGatewayBgpConfigNeighbors": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "If true, the BGP session to this neighbor will be administratively disabled/shutdown\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Export policy applied only to this BGP neighbor\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "BGP hold time for this neighbor, in seconds\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Import policy applied only to this BGP neighbor\n"
                },
                "multihopTtl": {
                    "type": "integer",
                    "description": "Assuming BGP neighbor is directly connected\n"
                },
                "neighborAs": {
                    "type": "string",
                    "description": "Neighbor AS. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`)\n"
                },
                "tunnelVia": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e, primary or secondary tunnel associated with this BGP neighbor\n"
                }
            },
            "type": "object",
            "required": [
                "neighborAs"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled",
                        "neighborAs",
                        "tunnelVia"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayDhcpdConfig:DeviceprofileGatewayDhcpdConfig": {
            "properties": {
                "config": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayDhcpdConfigConfig:DeviceprofileGatewayDhcpdConfigConfig"
                    },
                    "description": "Property key is the network name\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, disable the DHCP server\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayDhcpdConfigConfig:DeviceprofileGatewayDhcpdConfigConfig": {
            "properties": {
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, DNS servers advertised to DHCP clients\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, DNS search suffixes advertised to DHCP clients\n",
                    "deprecationMessage": "Configuring \u003cspan pulumi-lang-nodejs=\"`dnsSuffix`\" pulumi-lang-dotnet=\"`DnsSuffix`\" pulumi-lang-go=\"`dnsSuffix`\" pulumi-lang-python=\"`dns_suffix`\" pulumi-lang-yaml=\"`dnsSuffix`\" pulumi-lang-java=\"`dnsSuffix`\" pulumi-lang-hcl=\"`dns_suffix`\"\u003e`dnsSuffix`\u003c/span\u003e is deprecated and will not be supported in the future, please configure Code 15 or Code 119 in Server \u003cspan pulumi-lang-nodejs=\"`options`\" pulumi-lang-dotnet=\"`Options`\" pulumi-lang-go=\"`options`\" pulumi-lang-python=\"`options`\" pulumi-lang-yaml=\"`options`\" pulumi-lang-java=\"`options`\" pulumi-lang-hcl=\"`options`\"\u003e`options`\u003c/span\u003e instead"
                },
                "fixedBindings": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayDhcpdConfigConfigFixedBindings:DeviceprofileGatewayDhcpdConfigConfigFixedBindings"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, fixed client bindings for local DHCP service\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e - optional, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\" pulumi-lang-hcl=\"`ip`\"\u003e`ip`\u003c/span\u003e will be used if not provided\n"
                },
                "ip6End": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, ending IPv6 address for the DHCP lease pool\n"
                },
                "ip6Start": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, starting IPv6 address for the DHCP lease pool\n"
                },
                "ipEnd": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, ending IPv4 address for the DHCP lease pool\n"
                },
                "ipStart": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, starting IPv4 address for the DHCP lease pool\n"
                },
                "leaseTime": {
                    "type": "integer",
                    "description": "In seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]\n"
                },
                "options": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayDhcpdConfigConfigOptions:DeviceprofileGatewayDhcpdConfigConfigOptions"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, custom DHCP options advertised to clients\n"
                },
                "serverIdOverride": {
                    "type": "boolean",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`serverIdOverride`\" pulumi-lang-dotnet=\"`ServerIdOverride`\" pulumi-lang-go=\"`serverIdOverride`\" pulumi-lang-python=\"`server_id_override`\" pulumi-lang-yaml=\"`serverIdOverride`\" pulumi-lang-java=\"`serverIdOverride`\" pulumi-lang-hcl=\"`server_id_override`\"\u003e`serverIdOverride`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, \nshould overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv4 DHCP servers\n"
                },
                "serversv6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv6 DHCP servers\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 DHCP mode for this network\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 DHCP mode for this network\n"
                },
                "vendorEncapsulated": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayDhcpdConfigConfigVendorEncapsulated:DeviceprofileGatewayDhcpdConfigConfigVendorEncapsulated"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, vendor-encapsulated DHCP options advertised to clients\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayDhcpdConfigConfigFixedBindings:DeviceprofileGatewayDhcpdConfigConfigFixedBindings": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Reserved IPv4 address for this fixed DHCP binding\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Reserved IPv6 address for this fixed DHCP binding\n"
                },
                "name": {
                    "type": "string",
                    "description": "Friendly name for this fixed DHCP binding\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayDhcpdConfigConfigOptions:DeviceprofileGatewayDhcpdConfigConfigOptions": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this DHCP option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this DHCP option\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayDhcpdConfigConfigVendorEncapsulated:DeviceprofileGatewayDhcpdConfigConfigVendorEncapsulated": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this vendor option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this vendor option\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayExtraRoutes6:DeviceprofileGatewayExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv6 address for the gateway extra route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/DeviceprofileGatewayExtraRoutes:DeviceprofileGatewayExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv4 address for the gateway extra route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/DeviceprofileGatewayIdpProfiles:DeviceprofileGatewayIdpProfiles": {
            "properties": {
                "baseProfile": {
                    "type": "string",
                    "description": "Built-in IDP baseline profile inherited before applying overwrites\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the IDP profile\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization for the IDP profile\n"
                },
                "overwrites": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayIdpProfilesOverwrite:DeviceprofileGatewayIdpProfilesOverwrite"
                    },
                    "description": "IDP signature override rules applied on top of the base profile\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayIdpProfilesOverwrite:DeviceprofileGatewayIdpProfilesOverwrite": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Enforcement action applied when this overwrite rule matches\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayIdpProfilesOverwriteMatching:DeviceprofileGatewayIdpProfilesOverwriteMatching",
                    "description": "Criteria that select signatures for this overwrite rule\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for this IDP profile overwrite rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayIdpProfilesOverwriteMatching:DeviceprofileGatewayIdpProfilesOverwriteMatching": {
            "properties": {
                "attackNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Signature names matched by the IDP profile overwrite\n"
                },
                "dstSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination subnets matched by the IDP profile overwrite\n"
                },
                "severities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Threat levels matched by the IDP profile overwrite\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayIpConfigs:DeviceprofileGatewayIpConfigs": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Static IPv6 address for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "IPv4 netmask or prefix length for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "IPv6 netmask or prefix length for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "secondaryIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional IPv4 addresses in CIDR notation for this gateway network interface\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for this gateway network interface\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for this gateway network interface\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "secondaryIps",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayNetwork:DeviceprofileGatewayNetwork": {
            "properties": {
                "disallowMistServices": {
                    "type": "boolean",
                    "description": "Whether to disallow Mist Devices in the network\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "IPv4 gateway address for this network\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "IPv6 gateway address for this network\n"
                },
                "internalAccess": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkInternalAccess:DeviceprofileGatewayNetworkInternalAccess",
                    "description": "Internal access settings for this network\n"
                },
                "internetAccess": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkInternetAccess:DeviceprofileGatewayNetworkInternetAccess",
                    "description": "Direct internet access and NAT settings for this network\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to allow clients in the network to talk to each other\n"
                },
                "multicast": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkMulticast:DeviceprofileGatewayNetworkMulticast",
                    "description": "Settings for multicast routing on this network\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the organization network\n"
                },
                "routedForNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Other network names this network can route to, for example through BGP, OSPF or static routes\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "IPv4 subnet CIDR for this network\n"
                },
                "subnet6": {
                    "type": "string",
                    "description": "IPv6 subnet CIDR for this network\n"
                },
                "tenants": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkTenants:DeviceprofileGatewayNetworkTenants"
                    },
                    "description": "Tenant address mappings associated with this network\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID or variable associated with this network\n"
                },
                "vpnAccess": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkVpnAccess:DeviceprofileGatewayNetworkVpnAccess"
                    },
                    "description": "VPN access settings keyed by VPN name for this network\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "subnet"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disallowMistServices",
                        "name",
                        "subnet"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayNetworkInternalAccess:DeviceprofileGatewayNetworkInternalAccess": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether internal access is enabled for this network\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayNetworkInternetAccess:DeviceprofileGatewayNetworkInternetAccess": {
            "properties": {
                "createSimpleServicePolicy": {
                    "type": "boolean",
                    "description": "Whether Mist should create simple service policies for restricted internet access\n"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkInternetAccessDestinationNat:DeviceprofileGatewayNetworkInternetAccessDestinationNat"
                    },
                    "description": "Destination NAT rules for direct internet access\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether direct internet access is enabled for this network\n"
                },
                "restricted": {
                    "type": "boolean",
                    "description": "By default, all access is allowed, to only allow certain traffic, make \u003cspan pulumi-lang-nodejs=\"`restricted`\" pulumi-lang-dotnet=\"`Restricted`\" pulumi-lang-go=\"`restricted`\" pulumi-lang-python=\"`restricted`\" pulumi-lang-yaml=\"`restricted`\" pulumi-lang-java=\"`restricted`\" pulumi-lang-hcl=\"`restricted`\"\u003e`restricted`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and define service_policies\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkInternetAccessStaticNat:DeviceprofileGatewayNetworkInternetAccessStaticNat"
                    },
                    "description": "Static NAT rules for direct internet access\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "createSimpleServicePolicy",
                        "restricted"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayNetworkInternetAccessDestinationNat:DeviceprofileGatewayNetworkInternetAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this direct internet destination NAT rule\n"
                },
                "port": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be a Port (i.e. \"443\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayNetworkInternetAccessStaticNat:DeviceprofileGatewayNetworkInternetAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP address. Must be an IP address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this direct internet static NAT rule\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity. Can be a Variable (i.e. \"{{myvar}}\")\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name"
            ]
        },
        "junipermist:org/DeviceprofileGatewayNetworkMulticast:DeviceprofileGatewayNetworkMulticast": {
            "properties": {
                "disableIgmp": {
                    "type": "boolean",
                    "description": "If the network will only be the source of the multicast traffic, IGMP can be disabled\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether multicast support is enabled for this network\n"
                },
                "groups": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkMulticastGroups:DeviceprofileGatewayNetworkMulticastGroups"
                    },
                    "description": "Multicast group-to-RP mappings for this network\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableIgmp"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayNetworkMulticastGroups:DeviceprofileGatewayNetworkMulticastGroups": {
            "properties": {
                "rpIp": {
                    "type": "string",
                    "description": "RP (rendezvous point) IP address\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayNetworkTenants:DeviceprofileGatewayNetworkTenants": {
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP addresses or subnets assigned to this tenant in the network\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayNetworkVpnAccess:DeviceprofileGatewayNetworkVpnAccess": {
            "properties": {
                "advertisedSubnet": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to advertise an aggregated subnet toward HUB this is useful when there are multiple networks on SPOKE's side\n"
                },
                "allowPing": {
                    "type": "boolean",
                    "description": "Whether to allow ping from vpn into this routed network\n"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkVpnAccessDestinationNat:DeviceprofileGatewayNetworkVpnAccessDestinationNat"
                    },
                    "description": "Destination NAT rules applied for VPN access to this network\n"
                },
                "natPool": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (usually at Spoke), but some hosts needs to be reachable from Hub, a subnet is required to create and advertise the route to Hub\n"
                },
                "noReadvertiseToLanBgp": {
                    "type": "boolean",
                    "description": "toward LAN-side BGP peers\n"
                },
                "noReadvertiseToLanOspf": {
                    "type": "boolean",
                    "description": "toward LAN-side OSPF peers\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "otherVrfs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Other VRFs that can receive leaked routes from this spoke network\n"
                },
                "routed": {
                    "type": "boolean",
                    "description": "Whether this network is routable\n"
                },
                "sourceNat": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkVpnAccessSourceNat:DeviceprofileGatewayNetworkVpnAccessSourceNat",
                    "description": "Source NAT settings used when non-routed spoke hosts must be reachable from the hub\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetworkVpnAccessStaticNat:DeviceprofileGatewayNetworkVpnAccessStaticNat"
                    },
                    "description": "Static NAT rules applied for VPN access to this network\n"
                },
                "summarizedSubnet": {
                    "type": "string",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "summarizedSubnetToLanBgp": {
                    "type": "string",
                    "description": "toward LAN-side BGP peers\n"
                },
                "summarizedSubnetToLanOspf": {
                    "type": "string",
                    "description": "toward LAN-side OSPF peers\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "noReadvertiseToLanBgp",
                        "noReadvertiseToLanOspf",
                        "otherVrfs",
                        "sourceNat",
                        "staticNat"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayNetworkVpnAccessDestinationNat:DeviceprofileGatewayNetworkVpnAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this VPN destination NAT rule\n"
                },
                "port": {
                    "type": "string",
                    "description": "Destination port or variable for this VPN destination NAT rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayNetworkVpnAccessSourceNat:DeviceprofileGatewayNetworkVpnAccessSourceNat": {
            "properties": {
                "externalIp": {
                    "type": "string",
                    "description": "External source NAT IP or subnet used when spoke hosts must be reachable from the hub\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayNetworkVpnAccessStaticNat:DeviceprofileGatewayNetworkVpnAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP address. Must be an IP address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this VPN static NAT rule\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name"
            ]
        },
        "junipermist:org/DeviceprofileGatewayOobIpConfig:DeviceprofileGatewayOobIpConfig": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Default gateway for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "IPv4 netmask or prefix length for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "node1": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayOobIpConfigNode1:DeviceprofileGatewayOobIpConfigNode1",
                    "description": "Out-of-band management IP configuration override for node1 in an HA cluster\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for the out-of-band management interface\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "For host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID used for out-of-band management traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "node1",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayOobIpConfigNode1:DeviceprofileGatewayOobIpConfigNode1": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Default gateway for the node1 out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the node1 out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "IPv4 netmask or prefix length for the node1 out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e; used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for the node1 out-of-band management interface\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "Whether to use \u003cspan pulumi-lang-nodejs=\"`mgmtJunos`\" pulumi-lang-dotnet=\"`MgmtJunos`\" pulumi-lang-go=\"`mgmtJunos`\" pulumi-lang-python=\"`mgmt_junos`\" pulumi-lang-yaml=\"`mgmtJunos`\" pulumi-lang-java=\"`mgmtJunos`\" pulumi-lang-hcl=\"`mgmt_junos`\"\u003e`mgmtJunos`\u003c/span\u003e for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID used for node1 out-of-band management traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayPathPreferences:DeviceprofileGatewayPathPreferences": {
            "properties": {
                "paths": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayPathPreferencesPath:DeviceprofileGatewayPathPreferencesPath"
                    },
                    "description": "Candidate paths evaluated for this gateway path preference\n"
                },
                "strategy": {
                    "type": "string",
                    "description": "Selection strategy used to evaluate the candidate paths\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "strategy"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayPathPreferencesPath:DeviceprofileGatewayPathPreferencesPath": {
            "properties": {
                "cost": {
                    "type": "integer",
                    "description": "Relative cost assigned to this path for gateway path selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "For SSR Only. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, if this specific path is undesired\n"
                },
                "gatewayIp": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, if a different gateway is desired\n"
                },
                "internetAccess": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e, if this vpn path can be used for internet\n"
                },
                "name": {
                    "type": "string",
                    "description": "Required when \n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e: the name of the VPN Path to use \n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e: the name of the WAN interface to use\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e\n"
                },
                "targetIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of destination IP addresses to replace when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "Gateway path source type, such as local network, WAN interface, VPN path, or tunnel\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e; WAN interface name associated with the VPN path\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "junipermist:org/DeviceprofileGatewayPortConfig:DeviceprofileGatewayPortConfig": {
            "properties": {
                "aeDisableLacp": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. To disable LCP support for the AE interface\n"
                },
                "aeIdx": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Users could force to use the designated AE name (must be an integer between 0 and 127)\n"
                },
                "aeLacpForceUp": {
                    "type": "boolean",
                    "description": "For SRX only, if \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.Sets the state of the interface as UP when the peer has limited LACP capability. Use case: When a device connected to this AE port is ZTPing for the first time, it will not have LACP configured on the other end. **Note:** Turning this on will enable force-up on one of the interfaces in the bundle only\n"
                },
                "aggregated": {
                    "type": "boolean",
                    "description": "Whether the port participates in an aggregated Ethernet interface\n"
                },
                "critical": {
                    "type": "boolean",
                    "description": "To generate port up/down alarm, set it to true\n"
                },
                "description": {
                    "type": "string",
                    "description": "Interface Description. Can be a variable (i.e. \"{{myvar}}\")\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "Whether Ethernet autonegotiation is disabled on the port\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Port admin up (true) / down (false)\n"
                },
                "dslType": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dsl`\" pulumi-lang-dotnet=\"`Dsl`\" pulumi-lang-go=\"`dsl`\" pulumi-lang-python=\"`dsl`\" pulumi-lang-yaml=\"`dsl`\" pulumi-lang-java=\"`dsl`\" pulumi-lang-hcl=\"`dsl`\"\u003e`dsl`\u003c/span\u003e. DSL technology used by the WAN port\n"
                },
                "dslVci": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dsl`\" pulumi-lang-dotnet=\"`Dsl`\" pulumi-lang-go=\"`dsl`\" pulumi-lang-python=\"`dsl`\" pulumi-lang-yaml=\"`dsl`\" pulumi-lang-java=\"`dsl`\" pulumi-lang-hcl=\"`dsl`\"\u003e`dsl`\u003c/span\u003e, 16 bit int\n"
                },
                "dslVpi": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dsl`\" pulumi-lang-dotnet=\"`Dsl`\" pulumi-lang-go=\"`dsl`\" pulumi-lang-python=\"`dsl`\" pulumi-lang-yaml=\"`dsl`\" pulumi-lang-java=\"`dsl`\" pulumi-lang-hcl=\"`dsl`\"\u003e`dsl`\u003c/span\u003e, 8 bit int\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Ethernet duplex mode configured on the port\n"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfigIpConfig:DeviceprofileGatewayPortConfigIpConfig",
                    "description": "Layer 3 IP configuration for the port\n"
                },
                "lteApn": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. APN used by the LTE uplink\n"
                },
                "lteAuth": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. Authentication method used by the LTE uplink\n"
                },
                "lteBackup": {
                    "type": "boolean",
                    "description": "Whether the LTE uplink is used as a backup WAN connection\n"
                },
                "ltePassword": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. Password used for LTE uplink authentication\n",
                    "secret": true
                },
                "lteUsername": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. Username used for LTE uplink authentication\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Layer 3 MTU configured on the port\n"
                },
                "name": {
                    "type": "string",
                    "description": "Interface name used to derive device configuration\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, name of the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Network`\" pulumi-lang-dotnet=\"`junipermist.org.Network`\" pulumi-lang-go=\"`org.Network`\" pulumi-lang-python=\"`org.Network`\" pulumi-lang-yaml=\"`junipermist.org.Network`\" pulumi-lang-java=\"`junipermist.org.Network`\" pulumi-lang-hcl=\"`mist_org_network`\"\u003e`junipermist.org.Network`\u003c/span\u003e resource\n"
                },
                "outerVlanId": {
                    "type": "integer",
                    "description": "For Q-in-Q. Outer VLAN ID used for QinQ encapsulation\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Whether PoE output is disabled on the port\n"
                },
                "poeKeepStateWhenReboot": {
                    "type": "boolean",
                    "description": "Whether Perpetual PoE capabilities are enabled for a port\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Only for SRX and if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, the name of the Network to be used as the Untagged VLAN\n"
                },
                "preserveDscp": {
                    "type": "boolean",
                    "description": "Whether to preserve dscp when sending traffic over VPN (SSR-only)\n"
                },
                "redundant": {
                    "type": "boolean",
                    "description": "If HA mode. Whether the port participates in the redundant Ethernet configuration\n"
                },
                "redundantGroup": {
                    "type": "integer",
                    "description": "If HA mode, SRX Only - support redundancy-group. 1-128 for physical SRX, 1-64 for virtual SRX\n"
                },
                "rethIdx": {
                    "type": "string",
                    "description": "For SRX only and if HA Mode\n"
                },
                "rethNode": {
                    "type": "string",
                    "description": "If HA mode. Node associated with the redundant Ethernet interface\n"
                },
                "rethNodes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If HA mode and for SSR only. Per-network node assignment used for VLAN-based redundancy\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Link speed configured on the port\n"
                },
                "ssrNoVirtualMac": {
                    "type": "boolean",
                    "description": "When SSR is running as VM, this is required on certain hosting platforms\n"
                },
                "svrPortRange": {
                    "type": "string",
                    "description": "For SSR only. Port range configured on the interface\n"
                },
                "trafficShaping": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfigTrafficShaping:DeviceprofileGatewayPortConfigTrafficShaping",
                    "description": "Traffic shaping settings applied to the port\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Logical usage assigned to the port\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID or variable used when the WAN interface is carried on a VLAN\n"
                },
                "vpnPaths": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfigVpnPaths:DeviceprofileGatewayPortConfigVpnPaths"
                    },
                    "description": "Per-VPN path settings for traffic that uses this port\n"
                },
                "wanArpPolicer": {
                    "type": "string",
                    "description": "Only when \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadband`\" pulumi-lang-dotnet=\"`Broadband`\" pulumi-lang-go=\"`broadband`\" pulumi-lang-python=\"`broadband`\" pulumi-lang-yaml=\"`broadband`\" pulumi-lang-java=\"`broadband`\" pulumi-lang-hcl=\"`broadband`\"\u003e`broadband`\u003c/span\u003e. ARP policer profile applied to the WAN port\n"
                },
                "wanExtIp": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, optional. If spoke should reach this port by a different IP\n"
                },
                "wanExtIp6": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, optional. If spoke should reach this port by a different IPv6\n"
                },
                "wanExtraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfigWanExtraRoutes:DeviceprofileGatewayPortConfigWanExtraRoutes"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Property Key is the destination CIDR (e.g. \"100.100.100.0/24\")\n"
                },
                "wanExtraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfigWanExtraRoutes6:DeviceprofileGatewayPortConfigWanExtraRoutes6"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Property Key is the destination CIDR (e.g. \"2a02:1234:420a:10c9::/64\")\n"
                },
                "wanNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Networks reachable through this WAN port for policy definition\n"
                },
                "wanProbeOverride": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfigWanProbeOverride:DeviceprofileGatewayPortConfigWanProbeOverride",
                    "description": "Optional WAN health probe override settings for this port\n"
                },
                "wanSourceNat": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfigWanSourceNat:DeviceprofileGatewayPortConfigWanSourceNat",
                    "description": "Source NAT settings applied to traffic leaving this WAN port\n"
                },
                "wanSpeedtestMode": {
                    "type": "string",
                    "description": "Controls whether Marvis or the scheduler can run speed tests on this WAN port\n"
                },
                "wanType": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. WAN uplink type configured on the port\n"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled",
                        "usage",
                        "wanSpeedtestMode"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayPortConfigIpConfig:DeviceprofileGatewayPortConfigIpConfig": {
            "properties": {
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Resolver server IP addresses used by this interface, except on out-of-band interfaces such as vme, em0, or fxp0\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes used by this interface, except on out-of-band interfaces such as vme, em0, or fxp0\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "Except for out-of_band interface (vme/em0/fxp0). Interface Default Gateway IP address (i.e. \"192.168.1.1\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "Except for out-of_band interface (vme/em0/fxp0). Interface Default Gateway IPv6 Address (i.e. \"2001:db8::1\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Interface IP address (i.e. \"192.168.1.8\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Interface IPv6 Address (i.e. \"2001:db8::123\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e. Interface Netmask (i.e. \"/24\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e. Interface IPv6 Netmask (i.e. \"/64\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "network": {
                    "type": "string",
                    "description": "Optional, the network to be used for mgmt\n"
                },
                "poserPassword": {
                    "type": "string",
                    "description": "Password used for PPPoE when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pppoe`\" pulumi-lang-dotnet=\"`Pppoe`\" pulumi-lang-go=\"`pppoe`\" pulumi-lang-python=\"`pppoe`\" pulumi-lang-yaml=\"`pppoe`\" pulumi-lang-java=\"`pppoe`\" pulumi-lang-hcl=\"`pppoe`\"\u003e`pppoe`\u003c/span\u003e\n",
                    "secret": true
                },
                "pppoeAuth": {
                    "type": "string",
                    "description": "Authentication protocol used for PPPoE when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pppoe`\" pulumi-lang-dotnet=\"`Pppoe`\" pulumi-lang-go=\"`pppoe`\" pulumi-lang-python=\"`pppoe`\" pulumi-lang-yaml=\"`pppoe`\" pulumi-lang-java=\"`pppoe`\" pulumi-lang-hcl=\"`pppoe`\"\u003e`pppoe`\u003c/span\u003e\n"
                },
                "pppoeUsername": {
                    "type": "string",
                    "description": "Username used for PPPoE when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pppoe`\" pulumi-lang-dotnet=\"`Pppoe`\" pulumi-lang-go=\"`pppoe`\" pulumi-lang-python=\"`pppoe`\" pulumi-lang-yaml=\"`pppoe`\" pulumi-lang-java=\"`pppoe`\" pulumi-lang-hcl=\"`pppoe`\"\u003e`pppoe`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 assignment mode for this gateway port interface\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 assignment mode for this gateway port interface\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayPortConfigTrafficShaping:DeviceprofileGatewayPortConfigTrafficShaping": {
            "properties": {
                "classPercentages": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Traffic class bandwidth percentages for high, medium, low, and best-effort queues\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether traffic shaping is enabled\n"
                },
                "maxTxKbps": {
                    "type": "integer",
                    "description": "Maximum transmit bandwidth for the interface, in Kbps\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayPortConfigVpnPaths:DeviceprofileGatewayPortConfigVpnPaths": {
            "properties": {
                "bfdProfile": {
                    "type": "string",
                    "description": "BFD profile used for this VPN path when the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e\n"
                },
                "bfdUseTunnelMode": {
                    "type": "boolean",
                    "description": "Only if the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e. Whether to use tunnel mode. SSR only\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Only if the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e. For a given VPN, when `path_selection.strategy`==\u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e, the preference for a path (lower is preferred)\n"
                },
                "role": {
                    "type": "string",
                    "description": "Gateway role for this VPN path; valid values depend on the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e\n"
                },
                "trafficShaping": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfigVpnPathsTrafficShaping:DeviceprofileGatewayPortConfigVpnPathsTrafficShaping",
                    "description": "Traffic shaping settings applied to this VPN path\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayPortConfigVpnPathsTrafficShaping:DeviceprofileGatewayPortConfigVpnPathsTrafficShaping": {
            "properties": {
                "classPercentages": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Traffic class bandwidth percentages for high, medium, low, and best-effort queues\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether traffic shaping is enabled\n"
                },
                "maxTxKbps": {
                    "type": "integer",
                    "description": "Maximum transmit bandwidth for the interface, in Kbps\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayPortConfigWanExtraRoutes6:DeviceprofileGatewayPortConfigWanExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv6 next-hop address for this WAN extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayPortConfigWanExtraRoutes:DeviceprofileGatewayPortConfigWanExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv4 next-hop address for this WAN extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayPortConfigWanProbeOverride:DeviceprofileGatewayPortConfigWanProbeOverride": {
            "properties": {
                "ip6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of IPv6 probe host addresses used by this WAN override\n"
                },
                "ips": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of IPv4 probe host addresses used by this WAN override\n"
                },
                "probeProfile": {
                    "type": "string",
                    "description": "WAN probe profile used for health checks on this port\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayPortConfigWanSourceNat:DeviceprofileGatewayPortConfigWanSourceNat": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Or to disable the source-nat\n"
                },
                "nat6Pool": {
                    "type": "string",
                    "description": "If alternative\u003cspan pulumi-lang-nodejs=\" natPool \" pulumi-lang-dotnet=\" NatPool \" pulumi-lang-go=\" natPool \" pulumi-lang-python=\" nat_pool \" pulumi-lang-yaml=\" natPool \" pulumi-lang-java=\" natPool \" pulumi-lang-hcl=\" nat_pool \"\u003e natPool \u003c/span\u003eis desired\n"
                },
                "natPool": {
                    "type": "string",
                    "description": "If alternative\u003cspan pulumi-lang-nodejs=\" natPool \" pulumi-lang-dotnet=\" NatPool \" pulumi-lang-go=\" natPool \" pulumi-lang-python=\" nat_pool \" pulumi-lang-yaml=\" natPool \" pulumi-lang-java=\" natPool \" pulumi-lang-hcl=\" nat_pool \"\u003e natPool \u003c/span\u003eis desired\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayRoutingPolicies:DeviceprofileGatewayRoutingPolicies": {
            "properties": {
                "terms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayRoutingPoliciesTerm:DeviceprofileGatewayRoutingPoliciesTerm"
                    },
                    "description": "Ordered terms evaluated by this gateway routing policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayRoutingPoliciesTerm:DeviceprofileGatewayRoutingPoliciesTerm": {
            "properties": {
                "actions": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayRoutingPoliciesTermActions:DeviceprofileGatewayRoutingPoliciesTermActions",
                    "description": "Policy actions applied when this routing policy term matches\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayRoutingPoliciesTermMatching:DeviceprofileGatewayRoutingPoliciesTermMatching",
                    "description": "Route match criteria that must be satisfied before actions are applied\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayRoutingPoliciesTermActions:DeviceprofileGatewayRoutingPoliciesTermActions": {
            "properties": {
                "accept": {
                    "type": "boolean",
                    "description": "Whether to accept routes that match this term\n"
                },
                "addCommunities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to add to routes that match this term\n"
                },
                "addTargetVrfs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSR target VRFs to add when leaking routes from hub to spoke\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to set when this term is used as an export policy\n"
                },
                "excludeAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AS path values to exclude when this term is used as an export policy\n"
                },
                "excludeCommunities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to exclude from routes that match this term\n"
                },
                "exportCommunities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities allowed for export when this term is used as an export policy\n"
                },
                "localPreference": {
                    "type": "string",
                    "description": "Preference value to set when this term is used as an import policy\n"
                },
                "prependAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AS path values to prepend when this term is used as an export policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayRoutingPoliciesTermMatching:DeviceprofileGatewayRoutingPoliciesTermMatching": {
            "properties": {
                "asPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities that routes must match\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Configured network names that routes must match\n"
                },
                "prefixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Route prefixes that routes must match\n"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`aggregate`\" pulumi-lang-dotnet=\"`Aggregate`\" pulumi-lang-go=\"`aggregate`\" pulumi-lang-python=\"`aggregate`\" pulumi-lang-yaml=\"`aggregate`\" pulumi-lang-java=\"`aggregate`\" pulumi-lang-hcl=\"`aggregate`\"\u003e`aggregate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\" pulumi-lang-hcl=\"`bgp`\"\u003e`bgp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`direct`\" pulumi-lang-dotnet=\"`Direct`\" pulumi-lang-go=\"`direct`\" pulumi-lang-python=\"`direct`\" pulumi-lang-yaml=\"`direct`\" pulumi-lang-java=\"`direct`\" pulumi-lang-hcl=\"`direct`\"\u003e`direct`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ospf`\" pulumi-lang-dotnet=\"`Ospf`\" pulumi-lang-go=\"`ospf`\" pulumi-lang-python=\"`ospf`\" pulumi-lang-yaml=\"`ospf`\" pulumi-lang-java=\"`ospf`\" pulumi-lang-hcl=\"`ospf`\"\u003e`ospf`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e (SRX Only)\n"
                },
                "routeExists": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayRoutingPoliciesTermMatchingRouteExists:DeviceprofileGatewayRoutingPoliciesTermMatchingRouteExists",
                    "description": "Existing route condition that must be satisfied before this term matches\n"
                },
                "vpnNeighborMacs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Overlay neighbor MAC addresses used as match criteria for BGP sessions with \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e\n"
                },
                "vpnPathSla": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayRoutingPoliciesTermMatchingVpnPathSla:DeviceprofileGatewayRoutingPoliciesTermMatchingVpnPathSla",
                    "description": "SLA thresholds used when matching a VPN path\n"
                },
                "vpnPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Overlay path names used as match criteria for BGP sessions with \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayRoutingPoliciesTermMatchingRouteExists:DeviceprofileGatewayRoutingPoliciesTermMatchingRouteExists": {
            "properties": {
                "route": {
                    "type": "string",
                    "description": "Prefix that must exist for this condition to match\n"
                },
                "vrfName": {
                    "type": "string",
                    "description": "Name of the VRF instance where the route is checked; can also be a VPN or WAN name when applicable\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "vrfName"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayRoutingPoliciesTermMatchingVpnPathSla:DeviceprofileGatewayRoutingPoliciesTermMatchingVpnPathSla": {
            "properties": {
                "maxJitter": {
                    "type": "integer",
                    "description": "Maximum jitter threshold allowed for the VPN path\n"
                },
                "maxLatency": {
                    "type": "integer",
                    "description": "Maximum latency threshold allowed for the VPN path\n"
                },
                "maxLoss": {
                    "type": "integer",
                    "description": "Maximum packet-loss threshold allowed for the VPN path\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicy:DeviceprofileGatewayServicePolicy": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined, optional otherwise (override the servicepolicy action). enum: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\" pulumi-lang-hcl=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\" pulumi-lang-hcl=\"`deny`\"\u003e`deny`\u003c/span\u003e\n"
                },
                "antivirus": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicyAntivirus:DeviceprofileGatewayServicePolicyAntivirus",
                    "description": "Malware and virus inspection settings applied by this service policy\n"
                },
                "appqoe": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicyAppqoe:DeviceprofileGatewayServicePolicyAppqoe",
                    "description": "Application QoE settings applied by this service policy\n"
                },
                "ewfs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicyEwf:DeviceprofileGatewayServicePolicyEwf"
                    },
                    "description": "Enhanced web filtering rules applied by this service policy\n"
                },
                "idp": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicyIdp:DeviceprofileGatewayServicePolicyIdp",
                    "description": "Intrusion detection and prevention settings applied by this service policy\n"
                },
                "localRouting": {
                    "type": "boolean",
                    "description": "Whether the policy permits access within the same VRF\n"
                },
                "name": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined, optional otherwise (override the servicepolicy name)\n"
                },
                "pathPreference": {
                    "type": "string",
                    "description": "By default, we derive all paths available and use them. Optionally, you can customize by using \u003cspan pulumi-lang-nodejs=\"`pathPreference`\" pulumi-lang-dotnet=\"`PathPreference`\" pulumi-lang-go=\"`pathPreference`\" pulumi-lang-python=\"`path_preference`\" pulumi-lang-yaml=\"`pathPreference`\" pulumi-lang-java=\"`pathPreference`\" pulumi-lang-hcl=\"`path_preference`\"\u003e`pathPreference`\u003c/span\u003e\n"
                },
                "servicepolicyId": {
                    "type": "string",
                    "description": "Organization-level service policy identifier used to link and override selected attributes\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined. List of Applications / Destinations\n"
                },
                "skyatp": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicySkyatp:DeviceprofileGatewayServicePolicySkyatp",
                    "description": "Threat inspection settings provided by Sky ATP for this service policy\n"
                },
                "sslProxy": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicySslProxy:DeviceprofileGatewayServicePolicySslProxy",
                    "description": "TLS inspection settings applied by this service policy\n"
                },
                "syslog": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicySyslog:DeviceprofileGatewayServicePolicySyslog",
                    "description": "Remote logging settings applied by this service policy\n"
                },
                "tenants": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined. List of Networks / Users\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicyAntivirus:DeviceprofileGatewayServicePolicyAntivirus": {
            "properties": {
                "avprofileId": {
                    "type": "string",
                    "description": "Organization-level antivirus profile ID; takes precedence over inline \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e settings\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether antivirus inspection is enabled for the service policy\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Antivirus profile name to apply, such as \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noftp`\" pulumi-lang-dotnet=\"`Noftp`\" pulumi-lang-go=\"`noftp`\" pulumi-lang-python=\"`noftp`\" pulumi-lang-yaml=\"`noftp`\" pulumi-lang-java=\"`noftp`\" pulumi-lang-hcl=\"`noftp`\"\u003e`noftp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`httponly`\" pulumi-lang-dotnet=\"`Httponly`\" pulumi-lang-go=\"`httponly`\" pulumi-lang-python=\"`httponly`\" pulumi-lang-yaml=\"`httponly`\" pulumi-lang-java=\"`httponly`\" pulumi-lang-hcl=\"`httponly`\"\u003e`httponly`\u003c/span\u003e, or an AV profile key\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicyAppqoe:DeviceprofileGatewayServicePolicyAppqoe": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether application QoE is enabled for the service policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicyEwf:DeviceprofileGatewayServicePolicyEwf": {
            "properties": {
                "alertOnly": {
                    "type": "boolean",
                    "description": "Whether matching enhanced web filtering traffic is logged without being blocked\n"
                },
                "blockMessage": {
                    "type": "string",
                    "description": "Message returned when enhanced web filtering blocks a request\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this enhanced web filtering rule is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Enhanced web filtering profile applied by this rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicyIdp:DeviceprofileGatewayServicePolicyIdp": {
            "properties": {
                "alertOnly": {
                    "type": "boolean",
                    "description": "Whether to alert without enforcing IDP prevention actions\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether IDP inspection is enabled for the policy\n"
                },
                "idpprofileId": {
                    "type": "string",
                    "description": "org_level IDP Profile can be used, this takes precedence over \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e\n"
                },
                "profile": {
                    "type": "string",
                    "description": "enum: `Custom`, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e (default), \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e or keys from idp_profiles\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicySkyatp:DeviceprofileGatewayServicePolicySkyatp": {
            "properties": {
                "dnsDgaDetection": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicySkyatpDnsDgaDetection:DeviceprofileGatewayServicePolicySkyatpDnsDgaDetection",
                    "description": "Detection settings for DNS DGA threats provided by Sky ATP\n"
                },
                "dnsTunnelDetection": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicySkyatpDnsTunnelDetection:DeviceprofileGatewayServicePolicySkyatpDnsTunnelDetection",
                    "description": "Detection settings for DNS tunneling threats provided by Sky ATP\n"
                },
                "httpInspection": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicySkyatpHttpInspection:DeviceprofileGatewayServicePolicySkyatpHttpInspection",
                    "description": "Web traffic inspection settings provided by Sky ATP\n"
                },
                "iotDevicePolicy": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicySkyatpIotDevicePolicy:DeviceprofileGatewayServicePolicySkyatpIotDevicePolicy",
                    "description": "Device threat policy settings provided by Sky ATP for IoT clients\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicySkyatpDnsDgaDetection:DeviceprofileGatewayServicePolicySkyatpDnsDgaDetection": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP DNS DGA detection is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Sky ATP DNS DGA detection profile to apply\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicySkyatpDnsTunnelDetection:DeviceprofileGatewayServicePolicySkyatpDnsTunnelDetection": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP DNS tunneling detection is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Sky ATP DNS tunneling detection profile to apply\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicySkyatpHttpInspection:DeviceprofileGatewayServicePolicySkyatpHttpInspection": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP HTTP inspection is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Sky ATP HTTP inspection profile to apply\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicySkyatpIotDevicePolicy:DeviceprofileGatewayServicePolicySkyatpIotDevicePolicy": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP IoT device policy inspection is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicySslProxy:DeviceprofileGatewayServicePolicySslProxy": {
            "properties": {
                "ciphersCategory": {
                    "type": "string",
                    "description": "Allowed cipher strength category for SSL proxy inspection\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SSL proxy inspection is enabled for the service policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayServicePolicySyslog:DeviceprofileGatewayServicePolicySyslog": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether syslog logging is enabled for the service policy\n"
                },
                "serverNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Names of syslog servers that receive logs for this service policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigs:DeviceprofileGatewayTunnelConfigs": {
            "properties": {
                "autoProvision": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigsAutoProvision:DeviceprofileGatewayTunnelConfigsAutoProvision",
                    "description": "Provider auto-provisioning settings for tunnel endpoints\n"
                },
                "ikeLifetime": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Must be between 180 and 86400\n"
                },
                "ikeMode": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. IKE negotiation mode for the tunnel\n"
                },
                "ikeProposals": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigsIkeProposal:DeviceprofileGatewayTunnelConfigsIkeProposal"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`, IKE proposals used for custom IPsec negotiation\n"
                },
                "ipsecLifetime": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Must be between 180 and 86400\n"
                },
                "ipsecProposals": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigsIpsecProposal:DeviceprofileGatewayTunnelConfigsIpsecProposal"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. IPsec proposals used for custom IPsec negotiation\n"
                },
                "localId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`zscaler-ipsec`, \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`jse-ipsec` or \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`\n"
                },
                "localSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Local protected subnets advertised by this tunnel\n"
                },
                "mode": {
                    "type": "string",
                    "description": "Tunnel failover mode used for primary and secondary endpoints\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination networks reachable through this tunnel\n"
                },
                "primary": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigsPrimary:DeviceprofileGatewayTunnelConfigsPrimary",
                    "description": "Main remote tunnel endpoint settings\n"
                },
                "probe": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigsProbe:DeviceprofileGatewayTunnelConfigsProbe",
                    "description": "Tunnel health probe settings\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Tunnel protocol for custom tunnel negotiation\n"
                },
                "provider": {
                    "type": "string",
                    "description": "Tunnel provider used when auto provisioning is disabled\n"
                },
                "psk": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`zscaler-ipsec`, \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`jse-ipsec` or \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`\n",
                    "secret": true
                },
                "remoteSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Remote protected subnets reached through policy-based IPsec\n"
                },
                "secondary": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigsSecondary:DeviceprofileGatewayTunnelConfigsSecondary",
                    "description": "Backup remote tunnel endpoint settings\n"
                },
                "version": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-gre` or \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Tunnel version value for custom tunnel configuration\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigsAutoProvision:DeviceprofileGatewayTunnelConfigsAutoProvision": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Enable auto provisioning for the tunnel. If enabled, the \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\" pulumi-lang-hcl=\"`primary`\"\u003e`primary`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`secondary`\" pulumi-lang-dotnet=\"`Secondary`\" pulumi-lang-go=\"`secondary`\" pulumi-lang-python=\"`secondary`\" pulumi-lang-yaml=\"`secondary`\" pulumi-lang-java=\"`secondary`\" pulumi-lang-hcl=\"`secondary`\"\u003e`secondary`\u003c/span\u003e nodes will be ignored.\n"
                },
                "latlng": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigsAutoProvisionLatlng:DeviceprofileGatewayTunnelConfigsAutoProvisionLatlng",
                    "description": "Geographic coordinate override used for tunnel POP selection\n"
                },
                "primary": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigsAutoProvisionPrimary:DeviceprofileGatewayTunnelConfigsAutoProvisionPrimary",
                    "description": "Main auto-provisioned tunnel endpoint settings\n"
                },
                "provider": {
                    "type": "string",
                    "description": "Tunnel provider used for automatic endpoint provisioning\n"
                },
                "region": {
                    "type": "string",
                    "description": "API override for POP selection in the case user wants to override the auto discovery of remote network location and force the tunnel to use the specified peer location.\n"
                },
                "secondary": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigsAutoProvisionSecondary:DeviceprofileGatewayTunnelConfigsAutoProvisionSecondary",
                    "description": "Backup auto-provisioned tunnel endpoint settings\n"
                },
                "serviceConnection": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`prisma-ipsec`. By default, we'll use the location of the site to determine the optimal Remote Network location, optionally,\u003cspan pulumi-lang-nodejs=\" serviceConnection \" pulumi-lang-dotnet=\" ServiceConnection \" pulumi-lang-go=\" serviceConnection \" pulumi-lang-python=\" service_connection \" pulumi-lang-yaml=\" serviceConnection \" pulumi-lang-java=\" serviceConnection \" pulumi-lang-hcl=\" service_connection \"\u003e serviceConnection \u003c/span\u003ecan be considered, then we'll also consider this along with the site location. Define\u003cspan pulumi-lang-nodejs=\" serviceConnection \" pulumi-lang-dotnet=\" ServiceConnection \" pulumi-lang-go=\" serviceConnection \" pulumi-lang-python=\" service_connection \" pulumi-lang-yaml=\" serviceConnection \" pulumi-lang-java=\" serviceConnection \" pulumi-lang-hcl=\" service_connection \"\u003e serviceConnection \u003c/span\u003eif the traffic is to be routed to a specific service connection. This field takes a service connection name that is configured in the Prisma cloud, Prisma Access Setup \u003e Service Connections.\n"
                }
            },
            "type": "object",
            "required": [
                "provider"
            ]
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigsAutoProvisionLatlng:DeviceprofileGatewayTunnelConfigsAutoProvisionLatlng": {
            "properties": {
                "lat": {
                    "type": "number",
                    "description": "Geographic latitude used for POP selection override\n"
                },
                "lng": {
                    "type": "number",
                    "description": "Geographic longitude used for POP selection override\n"
                }
            },
            "type": "object",
            "required": [
                "lat",
                "lng"
            ]
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigsAutoProvisionPrimary:DeviceprofileGatewayTunnelConfigsAutoProvisionPrimary": {
            "properties": {
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Probe IP addresses used to monitor auto-provisioned tunnel reachability\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WAN interface names used by the auto-provisioned tunnel endpoint\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigsAutoProvisionSecondary:DeviceprofileGatewayTunnelConfigsAutoProvisionSecondary": {
            "properties": {
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Probe IP addresses used to monitor auto-provisioned tunnel reachability\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WAN interface names used by the auto-provisioned tunnel endpoint\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigsIkeProposal:DeviceprofileGatewayTunnelConfigsIkeProposal": {
            "properties": {
                "authAlgo": {
                    "type": "string",
                    "description": "Integrity algorithm used by this IKE proposal\n"
                },
                "dhGroup": {
                    "type": "string",
                    "description": "Diffie-Hellman group used by this IKE proposal\n"
                },
                "encAlgo": {
                    "type": "string",
                    "description": "Cipher algorithm used by this IKE proposal\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigsIpsecProposal:DeviceprofileGatewayTunnelConfigsIpsecProposal": {
            "properties": {
                "authAlgo": {
                    "type": "string",
                    "description": "Integrity algorithm used by this IPsec proposal\n"
                },
                "dhGroup": {
                    "type": "string",
                    "description": "Diffie-Hellman group used by this IPsec proposal\n"
                },
                "encAlgo": {
                    "type": "string",
                    "description": "Cipher algorithm used by this IPsec proposal\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigsPrimary:DeviceprofileGatewayTunnelConfigsPrimary": {
            "properties": {
                "hosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Remote gateway host addresses for this tunnel node\n"
                },
                "internalIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Internal IP addresses configured on this tunnel node\n"
                },
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Health-check IP addresses used to monitor this tunnel node\n"
                },
                "remoteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IKE identities expected from this tunnel node\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Interface names that source tunnel traffic for this node\n"
                }
            },
            "type": "object",
            "required": [
                "hosts",
                "wanNames"
            ]
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigsProbe:DeviceprofileGatewayTunnelConfigsProbe": {
            "properties": {
                "interval": {
                    "type": "integer",
                    "description": "How often to trigger the probe\n"
                },
                "threshold": {
                    "type": "integer",
                    "description": "Number of consecutive misses before declaring the tunnel down\n"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Time within which to complete the connectivity check\n"
                },
                "type": {
                    "type": "string",
                    "description": "Protocol used by the custom IPsec tunnel health probe\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileGatewayTunnelConfigsSecondary:DeviceprofileGatewayTunnelConfigsSecondary": {
            "properties": {
                "hosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Remote gateway host addresses for this tunnel node\n"
                },
                "internalIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Internal IP addresses configured on this tunnel node\n"
                },
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Health-check IP addresses used to monitor this tunnel node\n"
                },
                "remoteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IKE identities expected from this tunnel node\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Interface names that source tunnel traffic for this node\n"
                }
            },
            "type": "object",
            "required": [
                "hosts",
                "wanNames"
            ]
        },
        "junipermist:org/DeviceprofileGatewayTunnelProviderOptions:DeviceprofileGatewayTunnelProviderOptions": {
            "properties": {
                "jse": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelProviderOptionsJse:DeviceprofileGatewayTunnelProviderOptionsJse",
                    "description": "Juniper Secure Edge provisioning options for tunnel endpoints\n"
                },
                "prisma": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelProviderOptionsPrisma:DeviceprofileGatewayTunnelProviderOptionsPrisma",
                    "description": "Palo Alto Prisma Access provisioning options for tunnel endpoints\n"
                },
                "zscaler": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelProviderOptionsZscaler:DeviceprofileGatewayTunnelProviderOptionsZscaler",
                    "description": "Provider settings for Zscaler tunnel endpoints\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayTunnelProviderOptionsJse:DeviceprofileGatewayTunnelProviderOptionsJse": {
            "properties": {
                "numUsers": {
                    "type": "integer",
                    "description": "User capacity to provision on Juniper Secure Edge\n"
                },
                "orgName": {
                    "type": "string",
                    "description": "JSE Organization name\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayTunnelProviderOptionsPrisma:DeviceprofileGatewayTunnelProviderOptionsPrisma": {
            "properties": {
                "serviceAccountName": {
                    "type": "string",
                    "description": "For prisma-ipsec, service account name to used for tunnel auto provisioning\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayTunnelProviderOptionsZscaler:DeviceprofileGatewayTunnelProviderOptionsZscaler": {
            "properties": {
                "aupBlockInternetUntilAccepted": {
                    "type": "boolean",
                    "description": "Whether Zscaler blocks internet access until the Acceptable Use Policy is accepted\n"
                },
                "aupEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display Acceptable Use Policy (AUP)\n"
                },
                "aupForceSslInspection": {
                    "type": "boolean",
                    "description": "Proxy HTTPs traffic, requiring Zscaler cert to be installed in browser\n"
                },
                "aupTimeoutInDays": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`aupEnabled`\" pulumi-lang-dotnet=\"`AupEnabled`\" pulumi-lang-go=\"`aupEnabled`\" pulumi-lang-python=\"`aup_enabled`\" pulumi-lang-yaml=\"`aupEnabled`\" pulumi-lang-java=\"`aupEnabled`\" pulumi-lang-hcl=\"`aup_enabled`\"\u003e`aupEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Days before AUP is requested again\n"
                },
                "authRequired": {
                    "type": "boolean",
                    "description": "Enable this option to enforce user authentication\n"
                },
                "cautionEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display caution notification for non-authenticated users\n"
                },
                "dnBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                },
                "idleTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, idle Time to Disassociation\n"
                },
                "ofwEnabled": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enable the firewall control option\n"
                },
                "subLocations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelProviderOptionsZscalerSubLocation:DeviceprofileGatewayTunnelProviderOptionsZscalerSubLocation"
                    },
                    "description": "Per-network Zscaler sub-location settings\n"
                },
                "surrogateIp": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Map a user to a private IP address so it applies the user's policies, instead of the location's policies\n"
                },
                "surrogateIpEnforcedForKnownBrowsers": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enforce surrogate IP for known browsers\n"
                },
                "surrogateRefreshTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP_enforced_for_known_browsers`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, must be lower or equal than \u003cspan pulumi-lang-nodejs=\"`idleTimeInMinutes`\" pulumi-lang-dotnet=\"`IdleTimeInMinutes`\" pulumi-lang-go=\"`idleTimeInMinutes`\" pulumi-lang-python=\"`idle_time_in_minutes`\" pulumi-lang-yaml=\"`idleTimeInMinutes`\" pulumi-lang-java=\"`idleTimeInMinutes`\" pulumi-lang-hcl=\"`idle_time_in_minutes`\"\u003e`idleTimeInMinutes`\u003c/span\u003e, refresh Time for re-validation of Surrogacy\n"
                },
                "upBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                },
                "xffForwardEnabled": {
                    "type": "boolean",
                    "description": "Location uses proxy chaining to forward traffic\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayTunnelProviderOptionsZscalerSubLocation:DeviceprofileGatewayTunnelProviderOptionsZscalerSubLocation": {
            "properties": {
                "aupBlockInternetUntilAccepted": {
                    "type": "boolean",
                    "description": "Whether this sub-location blocks internet access until the Acceptable Use Policy is accepted\n"
                },
                "aupEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display Acceptable Use Policy (AUP)\n"
                },
                "aupForceSslInspection": {
                    "type": "boolean",
                    "description": "Proxy HTTPs traffic, requiring Zscaler cert to be installed in browser\n"
                },
                "aupTimeoutInDays": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`aupEnabled`\" pulumi-lang-dotnet=\"`AupEnabled`\" pulumi-lang-go=\"`aupEnabled`\" pulumi-lang-python=\"`aup_enabled`\" pulumi-lang-yaml=\"`aupEnabled`\" pulumi-lang-java=\"`aupEnabled`\" pulumi-lang-hcl=\"`aup_enabled`\"\u003e`aupEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Days before AUP is requested again\n"
                },
                "authRequired": {
                    "type": "boolean",
                    "description": "Enable this option to authenticate users\n"
                },
                "cautionEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display caution notification for non-authenticated users\n"
                },
                "dnBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                },
                "idleTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, idle Time to Disassociation\n"
                },
                "name": {
                    "type": "string",
                    "description": "Network name\n"
                },
                "ofwEnabled": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enable the firewall control option\n"
                },
                "surrogateIp": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Map a user to a private IP address so it applies the user's policies, instead of the location's policies\n"
                },
                "surrogateIpEnforcedForKnownBrowsers": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enforce surrogate IP for known browsers\n"
                },
                "surrogateRefreshTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP_enforced_for_known_browsers`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, must be lower or equal than \u003cspan pulumi-lang-nodejs=\"`idleTimeInMinutes`\" pulumi-lang-dotnet=\"`IdleTimeInMinutes`\" pulumi-lang-go=\"`idleTimeInMinutes`\" pulumi-lang-python=\"`idle_time_in_minutes`\" pulumi-lang-yaml=\"`idleTimeInMinutes`\" pulumi-lang-java=\"`idleTimeInMinutes`\" pulumi-lang-hcl=\"`idle_time_in_minutes`\"\u003e`idleTimeInMinutes`\u003c/span\u003e, refresh Time for re-validation of Surrogacy\n"
                },
                "upBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayVrfConfig:DeviceprofileGatewayVrfConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable VRF (when supported on the device)\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileGatewayVrfInstances:DeviceprofileGatewayVrfInstances": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network names included in this gateway VRF instance\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchAclPolicy:DeviceprofileSwitchAclPolicy": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchAclPolicyAction:DeviceprofileSwitchAclPolicyAction"
                    },
                    "description": "Destination tag actions evaluated for sources matching this ACL policy\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the ACL policy\n"
                },
                "srcTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source ACL tags that select traffic for this ACL policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchAclPolicyAction:DeviceprofileSwitchAclPolicyAction": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Allow or deny decision applied to traffic matching the destination tag\n"
                },
                "dstTag": {
                    "type": "string",
                    "description": "Destination ACL tag matched by this policy action\n"
                }
            },
            "type": "object",
            "required": [
                "dstTag"
            ]
        },
        "junipermist:org/DeviceprofileSwitchAclTags:DeviceprofileSwitchAclTags": {
            "properties": {
                "etherTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Layer 2 EtherTypes matched by this ACL tag; defaults to \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e\n"
                },
                "gbpTag": {
                    "type": "integer",
                    "description": "Required if\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamicGbp`\" pulumi-lang-dotnet=\"`DynamicGbp`\" pulumi-lang-go=\"`dynamicGbp`\" pulumi-lang-python=\"`dynamic_gbp`\" pulumi-lang-yaml=\"`dynamicGbp`\" pulumi-lang-java=\"`dynamicGbp`\" pulumi-lang-hcl=\"`dynamic_gbp`\"\u003e`dynamicGbp`\u003c/span\u003e (gbp_tag received from RADIUS)\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gbpResource`\" pulumi-lang-dotnet=\"`GbpResource`\" pulumi-lang-go=\"`gbpResource`\" pulumi-lang-python=\"`gbp_resource`\" pulumi-lang-yaml=\"`gbpResource`\" pulumi-lang-java=\"`gbpResource`\" pulumi-lang-hcl=\"`gbp_resource`\"\u003e`gbpResource`\u003c/span\u003e\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e (applying gbp tag against matching conditions)\n"
                },
                "macs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client or resource MAC addresses matched by this ACL tag\n"
                },
                "network": {
                    "type": "string",
                    "description": "If:\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\" pulumi-lang-hcl=\"`mac`\"\u003e`mac`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\" pulumi-lang-hcl=\"`resource`\"\u003e`resource`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e if from matching network (vlan)\n"
                },
                "portUsage": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`portUsage`\" pulumi-lang-dotnet=\"`PortUsage`\" pulumi-lang-go=\"`portUsage`\" pulumi-lang-python=\"`port_usage`\" pulumi-lang-yaml=\"`portUsage`\" pulumi-lang-java=\"`portUsage`\" pulumi-lang-hcl=\"`port_usage`\"\u003e`portUsage`\u003c/span\u003e. Switch port usage name matched by this ACL tag\n"
                },
                "radiusGroup": {
                    "type": "string",
                    "description": "Required if:\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e\nif from matching radius_group\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchAclTagsSpec:DeviceprofileSwitchAclTagsSpec"
                    },
                    "description": "Layer 4 protocol and destination-port constraints for this ACL tag\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP subnets matched by this ACL tag\n"
                },
                "type": {
                    "type": "string",
                    "description": "Classifier type that determines which ACL tag fields are evaluated\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "junipermist:org/DeviceprofileSwitchAclTagsSpec:DeviceprofileSwitchAclTagsSpec": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Matched dst port, \"0\" means any\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\" pulumi-lang-hcl=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`gre`\" pulumi-lang-dotnet=\"`Gre`\" pulumi-lang-go=\"`gre`\" pulumi-lang-python=\"`gre`\" pulumi-lang-yaml=\"`gre`\" pulumi-lang-java=\"`gre`\" pulumi-lang-hcl=\"`gre`\"\u003e`gre`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e / `:protocol_number`, \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254, default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchDhcpSnooping:DeviceprofileSwitchDhcpSnooping": {
            "properties": {
                "allNetworks": {
                    "type": "boolean",
                    "description": "Whether DHCP snooping applies to all configured networks\n"
                },
                "enableArpSpoofCheck": {
                    "type": "boolean",
                    "description": "Enable for dynamic ARP inspection check\n"
                },
                "enableIpSourceGuard": {
                    "type": "boolean",
                    "description": "Enable for check for forging source IP address\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether DHCP snooping is enabled\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network names with DHCP snooping enabled when \u003cspan pulumi-lang-nodejs=\"`allNetworks`\" pulumi-lang-dotnet=\"`AllNetworks`\" pulumi-lang-go=\"`allNetworks`\" pulumi-lang-python=\"`all_networks`\" pulumi-lang-yaml=\"`allNetworks`\" pulumi-lang-java=\"`allNetworks`\" pulumi-lang-hcl=\"`all_networks`\"\u003e`allNetworks`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchDhcpdConfig:DeviceprofileSwitchDhcpdConfig": {
            "properties": {
                "config": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpdConfigConfig:DeviceprofileSwitchDhcpdConfigConfig"
                    },
                    "description": "Property key is the network name\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether switch DHCP server or relay configuration is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchDhcpdConfigConfig:DeviceprofileSwitchDhcpdConfigConfig": {
            "properties": {
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, DNS servers advertised to DHCP clients\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, DNS search suffixes advertised to DHCP clients\n"
                },
                "fixedBindings": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpdConfigConfigFixedBindings:DeviceprofileSwitchDhcpdConfigConfigFixedBindings"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, fixed client bindings for DHCP service\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e - optional, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\" pulumi-lang-hcl=\"`ip`\"\u003e`ip`\u003c/span\u003e will be used if not provided\n"
                },
                "ipEnd": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, ending IPv4 address for the DHCP lease pool\n"
                },
                "ipEnd6": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, ending IPv6 address for the DHCP lease pool\n"
                },
                "ipStart": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, starting IPv4 address for the DHCP lease pool\n"
                },
                "ipStart6": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, starting IPv6 address for the DHCP lease pool\n"
                },
                "leaseTime": {
                    "type": "integer",
                    "description": "In seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]\n"
                },
                "options": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpdConfigConfigOptions:DeviceprofileSwitchDhcpdConfigConfigOptions"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, custom DHCP options advertised to clients\n"
                },
                "serverIdOverride": {
                    "type": "boolean",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`serverIdOverride`\" pulumi-lang-dotnet=\"`ServerIdOverride`\" pulumi-lang-go=\"`serverIdOverride`\" pulumi-lang-python=\"`server_id_override`\" pulumi-lang-yaml=\"`serverIdOverride`\" pulumi-lang-java=\"`serverIdOverride`\" pulumi-lang-hcl=\"`server_id_override`\"\u003e`serverIdOverride`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, \nshould overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv4 DHCP servers\n"
                },
                "servers6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv6 DHCP servers\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 DHCP mode for this switch network\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 DHCP mode for this switch network\n"
                },
                "vendorEncapsulated": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpdConfigConfigVendorEncapsulated:DeviceprofileSwitchDhcpdConfigConfigVendorEncapsulated"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\" pulumi-lang-hcl=\"`server`\"\u003e`server`\u003c/span\u003e, vendor-encapsulated DHCP options advertised to clients\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "leaseTime"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchDhcpdConfigConfigFixedBindings:DeviceprofileSwitchDhcpdConfigConfigFixedBindings": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Reserved IPv4 address for this fixed DHCP binding\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Reserved IPv6 address for this fixed DHCP binding\n"
                },
                "name": {
                    "type": "string",
                    "description": "Friendly name for this fixed DHCP binding\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchDhcpdConfigConfigOptions:DeviceprofileSwitchDhcpdConfigConfigOptions": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this DHCP option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this DHCP option\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchDhcpdConfigConfigVendorEncapsulated:DeviceprofileSwitchDhcpdConfigConfigVendorEncapsulated": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this vendor option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this vendor option\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchEvpnConfig:DeviceprofileSwitchEvpnConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether EVPN configuration is enabled on the switch\n"
                },
                "role": {
                    "type": "string",
                    "description": "EVPN topology role for the switch\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchExtraRoutes6:DeviceprofileSwitchExtraRoutes6": {
            "properties": {
                "discard": {
                    "type": "boolean",
                    "description": "Whether to install a discard route; this takes precedence over next-hop settings\n"
                },
                "metric": {
                    "type": "integer",
                    "description": "Route metric for the IPv6 static route\n"
                },
                "nextQualified": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchExtraRoutes6NextQualified:DeviceprofileSwitchExtraRoutes6NextQualified"
                    },
                    "description": "Qualified next-hop settings keyed by IPv6 next-hop address\n"
                },
                "noResolve": {
                    "type": "boolean",
                    "description": "Whether to prevent recursive next-hop resolution for the IPv6 static route\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for the IPv6 static route\n"
                },
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv6 address or ECMP next-hop IPv6 addresses for the route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/DeviceprofileSwitchExtraRoutes6NextQualified:DeviceprofileSwitchExtraRoutes6NextQualified": {
            "properties": {
                "metric": {
                    "type": "integer",
                    "description": "Route metric for this qualified IPv6 next hop\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for this qualified IPv6 next hop\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchExtraRoutes:DeviceprofileSwitchExtraRoutes": {
            "properties": {
                "discard": {
                    "type": "boolean",
                    "description": "Whether to install a discard route; this takes precedence over next-hop settings\n"
                },
                "metric": {
                    "type": "integer",
                    "description": "Route metric for the IPv4 static route\n"
                },
                "nextQualified": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchExtraRoutesNextQualified:DeviceprofileSwitchExtraRoutesNextQualified"
                    },
                    "description": "Qualified next-hop settings keyed by IPv4 next-hop address\n"
                },
                "noResolve": {
                    "type": "boolean",
                    "description": "Whether to prevent recursive next-hop resolution for the IPv4 static route\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for the IPv4 static route\n"
                },
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv4 address or ECMP next-hop IPv4 addresses for the route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/DeviceprofileSwitchExtraRoutesNextQualified:DeviceprofileSwitchExtraRoutesNextQualified": {
            "properties": {
                "metric": {
                    "type": "integer",
                    "description": "Route metric for this qualified IPv4 next hop\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for this qualified IPv4 next hop\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchIotConfig:DeviceprofileSwitchIotConfig": {
            "properties": {
                "alarmClass": {
                    "type": "string",
                    "description": "Alarm severity class raised for input-triggered switch IOT port events\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this switch IOT port is enabled\n"
                },
                "inputSrc": {
                    "type": "string",
                    "description": "Only for `OUT` ports. Input port that triggers this output port\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for the switch IOT port\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchIpConfig:DeviceprofileSwitchIpConfig": {
            "properties": {
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Configured DNS server addresses for Junos management traffic\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes configured for Junos management traffic\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "Default gateway IPv4 address for this Junos IP configuration\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Configured IPv4 address for this Junos IP configuration\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e\n"
                },
                "network": {
                    "type": "string",
                    "description": "Management network for this IP configuration; used as the default source network for outbound SSH, DNS, NTP, TACACS+, RADIUS, syslog, and SNMP\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for this Junos IP configuration\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchMistNac:DeviceprofileSwitchMistNac": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Mist NAC RadSec is enabled for the switch\n"
                },
                "network": {
                    "type": "string",
                    "description": "Switch network used for Mist NAC RadSec connectivity\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchNetworks:DeviceprofileSwitchNetworks": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Only required for EVPN-VXLAN networks, IPv4 Virtual Gateway\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "Only required for EVPN-VXLAN networks, IPv6 Virtual Gateway\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "whether to stop clients to talk to each other, default is false (when enabled, a unique\u003cspan pulumi-lang-nodejs=\" isolationVlanId \" pulumi-lang-dotnet=\" IsolationVlanId \" pulumi-lang-go=\" isolationVlanId \" pulumi-lang-python=\" isolation_vlan_id \" pulumi-lang-yaml=\" isolationVlanId \" pulumi-lang-java=\" isolationVlanId \" pulumi-lang-hcl=\" isolation_vlan_id \"\u003e isolationVlanId \u003c/span\u003eis required). NOTE: this features requires uplink device to also a be Juniper device and \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e to be set. See also \u003cspan pulumi-lang-nodejs=\"`interIsolationNetworkLink`\" pulumi-lang-dotnet=\"`InterIsolationNetworkLink`\" pulumi-lang-go=\"`interIsolationNetworkLink`\" pulumi-lang-python=\"`inter_isolation_network_link`\" pulumi-lang-yaml=\"`interIsolationNetworkLink`\" pulumi-lang-java=\"`interIsolationNetworkLink`\" pulumi-lang-hcl=\"`inter_isolation_network_link`\"\u003e`interIsolationNetworkLink`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`communityVlanId`\" pulumi-lang-dotnet=\"`CommunityVlanId`\" pulumi-lang-go=\"`communityVlanId`\" pulumi-lang-python=\"`community_vlan_id`\" pulumi-lang-yaml=\"`communityVlanId`\" pulumi-lang-java=\"`communityVlanId`\" pulumi-lang-hcl=\"`community_vlan_id`\"\u003e`communityVlanId`\u003c/span\u003e in port_usage\n"
                },
                "isolationVlanId": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Unique VLAN ID used for client isolation\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "Optional for pure switching, required when L3 / routing features are used\n"
                },
                "subnet6": {
                    "type": "string",
                    "description": "Optional for pure switching, required when L3 / routing features are used\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN identifier for this switch network\n"
                }
            },
            "type": "object",
            "required": [
                "vlanId"
            ]
        },
        "junipermist:org/DeviceprofileSwitchOobIpConfig:DeviceprofileSwitchOobIpConfig": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Default gateway for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e\n"
                },
                "network": {
                    "type": "string",
                    "description": "Optional, the network to be used for mgmt\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for the out-of-band management interface\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "For host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchOspfAreas:DeviceprofileSwitchOspfAreas": {
            "properties": {
                "includeLoopback": {
                    "type": "boolean",
                    "description": "Whether loopback interfaces are included in this OSPF area\n"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchOspfAreasNetworks:DeviceprofileSwitchOspfAreasNetworks"
                    },
                    "description": "OSPF network settings keyed by network name\n"
                },
                "type": {
                    "type": "string",
                    "description": "Area type for this OSPF area\n"
                }
            },
            "type": "object",
            "required": [
                "networks"
            ]
        },
        "junipermist:org/DeviceprofileSwitchOspfAreasNetworks:DeviceprofileSwitchOspfAreasNetworks": {
            "properties": {
                "authKeys": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\" pulumi-lang-hcl=\"`md5`\"\u003e`md5`\u003c/span\u003e. Property key is the key number\n"
                },
                "authPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e, the password, max length is 8\n"
                },
                "authType": {
                    "type": "string",
                    "description": "Authentication method used by this OSPF network\n"
                },
                "bfdMinimumInterval": {
                    "type": "integer",
                    "description": "Minimum BFD interval for this OSPF network, in milliseconds\n"
                },
                "deadInterval": {
                    "type": "integer",
                    "description": "OSPF dead interval for this network, in seconds\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Routing policy used to export routes from this OSPF network\n"
                },
                "helloInterval": {
                    "type": "integer",
                    "description": "OSPF hello interval for this network, in seconds\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Routing policy used to import routes for this OSPF network\n"
                },
                "interfaceType": {
                    "type": "string",
                    "description": "OSPF interface type used for this network\n"
                },
                "metric": {
                    "type": "integer",
                    "description": "OSPF metric assigned to this network\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "By default, we'll re-advertise all learned OSPF routes toward overlay\n"
                },
                "passive": {
                    "type": "boolean",
                    "description": "Whether to send OSPF-Hello\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchOtherIpConfigs:DeviceprofileSwitchOtherIpConfigs": {
            "properties": {
                "evpnAnycast": {
                    "type": "boolean",
                    "description": "For EVPN, whether anycast is desired\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e; IPv4 address for the additional Junos L3 presence\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e; IPv6 address for the additional Junos L3 presence\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Optional IPv4 netmask; \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e definition will be used if defined\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "Optional IPv6 prefix length; \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e from \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e definition will be used if defined\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 assignment mode for the additional Junos L3 presence\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 assignment mode for the additional Junos L3 presence\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchPortConfig:DeviceprofileSwitchPortConfig": {
            "properties": {
                "aeDisableLacp": {
                    "type": "boolean",
                    "description": "To disable LACP support for the AE interface\n"
                },
                "aeIdx": {
                    "type": "integer",
                    "description": "Users could force to use the designated AE name\n"
                },
                "aeLacpForceUp": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, sets the state of the interface as UP when the peer has limited LACP capability. Use case: When a device connected to this AE port is ZTPing for the first time, it will not have LACP configured on the other end. **Note:** Turning this on will enable force-up on one of the interfaces in the bundle only\n"
                },
                "aeLacpPassive": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, sets LACP to passive mode on this AE interface; by default, active (fast) mode is used\n"
                },
                "aeLacpSlow": {
                    "type": "boolean",
                    "description": "To use slow timeout\n"
                },
                "aggregated": {
                    "type": "boolean",
                    "description": "Whether this port is configured as an aggregated Ethernet member\n"
                },
                "critical": {
                    "type": "boolean",
                    "description": "To generate port up/down alarm\n"
                },
                "description": {
                    "type": "string",
                    "description": "Human-readable description for this Junos port\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`speed`\" pulumi-lang-dotnet=\"`Speed`\" pulumi-lang-go=\"`speed`\" pulumi-lang-python=\"`speed`\" pulumi-lang-yaml=\"`speed`\" pulumi-lang-java=\"`speed`\" pulumi-lang-hcl=\"`speed`\"\u003e`speed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`duplex`\" pulumi-lang-dotnet=\"`Duplex`\" pulumi-lang-go=\"`duplex`\" pulumi-lang-python=\"`duplex`\" pulumi-lang-yaml=\"`duplex`\" pulumi-lang-java=\"`duplex`\" pulumi-lang-hcl=\"`duplex`\"\u003e`duplex`\u003c/span\u003e are specified, whether to disable autonegotiation\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Link duplex mode for this Junos port\n"
                },
                "dynamicUsage": {
                    "type": "string",
                    "description": "Enable dynamic usage for this port. Set to \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e to enable.\n"
                },
                "esilag": {
                    "type": "boolean",
                    "description": "Whether this Junos port participates in an ESI-LAG\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names. Required if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`inet`\" pulumi-lang-dotnet=\"`Inet`\" pulumi-lang-go=\"`inet`\" pulumi-lang-python=\"`inet`\" pulumi-lang-yaml=\"`inet`\" pulumi-lang-java=\"`inet`\" pulumi-lang-hcl=\"`inet`\"\u003e`inet`\u003c/span\u003e\n"
                },
                "noLocalOverwrite": {
                    "type": "boolean",
                    "description": "Prevent helpdesk to override the port config\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Whether PoE capabilities are disabled for this Junos port\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlanTunnel`\" pulumi-lang-dotnet=\"`VlanTunnel`\" pulumi-lang-go=\"`vlanTunnel`\" pulumi-lang-python=\"`vlan_tunnel`\" pulumi-lang-yaml=\"`vlanTunnel`\" pulumi-lang-java=\"`vlanTunnel`\" pulumi-lang-hcl=\"`vlan_tunnel`\"\u003e`vlanTunnel`\u003c/span\u003e. Q-in-Q tunneling using All-in-one bundling. This also enables standard L2PT for interfaces that are not encapsulation tunnel interfaces and uses MAC rewrite operation. [View more information](https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/topic-map/q-in-q.html#id-understanding-qinq-tunneling-and-vlan-translation)\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Link speed for this Junos port\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Port usage name. For Q-in-Q, use \u003cspan pulumi-lang-nodejs=\"`vlanTunnel`\" pulumi-lang-dotnet=\"`VlanTunnel`\" pulumi-lang-go=\"`vlanTunnel`\" pulumi-lang-python=\"`vlan_tunnel`\" pulumi-lang-yaml=\"`vlanTunnel`\" pulumi-lang-java=\"`vlanTunnel`\" pulumi-lang-hcl=\"`vlan_tunnel`\"\u003e`vlanTunnel`\u003c/span\u003e. If EVPN is used, use \u003cspan pulumi-lang-nodejs=\"`evpnUplink`\" pulumi-lang-dotnet=\"`EvpnUplink`\" pulumi-lang-go=\"`evpnUplink`\" pulumi-lang-python=\"`evpn_uplink`\" pulumi-lang-yaml=\"`evpnUplink`\" pulumi-lang-java=\"`evpnUplink`\" pulumi-lang-hcl=\"`evpn_uplink`\"\u003e`evpnUplink`\u003c/span\u003eor \u003cspan pulumi-lang-nodejs=\"`evpnDownlink`\" pulumi-lang-dotnet=\"`EvpnDownlink`\" pulumi-lang-go=\"`evpnDownlink`\" pulumi-lang-python=\"`evpn_downlink`\" pulumi-lang-yaml=\"`evpnDownlink`\" pulumi-lang-java=\"`evpnDownlink`\" pulumi-lang-hcl=\"`evpn_downlink`\"\u003e`evpnDownlink`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "mtu",
                        "usage"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchPortMirroring:DeviceprofileSwitchPortMirroring": {
            "properties": {
                "inputNetworksIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Networks whose ingress traffic is mirrored\n"
                },
                "inputPortIdsEgresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Switch ports whose egress traffic is mirrored\n"
                },
                "inputPortIdsIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Switch ports whose ingress traffic is mirrored\n"
                },
                "outputIpAddress": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputNetwork": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputPortId": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "inputNetworksIngresses",
                        "inputPortIdsEgresses",
                        "inputPortIdsIngresses"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchPortUsages:DeviceprofileSwitchPortUsages": {
            "properties": {
                "allNetworks": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e. Whether to trunk all network/vlans\n"
                },
                "allowDhcpd": {
                    "type": "boolean",
                    "description": "Only applies when \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: ports become trusted ports allowing DHCP server traffic, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).\n"
                },
                "allowMultipleSupplicants": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "bypassAuthWhenServerDown": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for known clients if set to true when RADIUS server is down\n"
                },
                "bypassAuthWhenServerDownForUnknownClient": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for all (including unknown clients) if set to true when RADIUS server is down\n"
                },
                "bypassAuthWhenServerDownForVoip": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for VOIP if set to true when RADIUS server is down\n"
                },
                "communityVlanId": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. To be used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks. Signaling that this port connects to the networks isolated but wired clients belong to the same community can talk to each other\n"
                },
                "description": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. If speed and duplex are specified, whether to disable autonegotiation\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether the port is disabled\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Link duplex mode for this port usage\n"
                },
                "dynamicVlanNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Networks or VLANs that RADIUS can return for dynamic VLAN assignment\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Whether to enable MAC Auth\n"
                },
                "enableQos": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "guestNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)\n"
                },
                "interIsolationNetworkLink": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`interIsolationNetworkLink`\" pulumi-lang-dotnet=\"`InterIsolationNetworkLink`\" pulumi-lang-go=\"`interIsolationNetworkLink`\" pulumi-lang-python=\"`inter_isolation_network_link`\" pulumi-lang-yaml=\"`interIsolationNetworkLink`\" pulumi-lang-java=\"`interIsolationNetworkLink`\" pulumi-lang-hcl=\"`inter_isolation_network_link`\"\u003e`interIsolationNetworkLink`\u003c/span\u003e is used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks, signaling that this port connects to isolated networks\n"
                },
                "interSwitchLink": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e is used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks. NOTE: \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e works only between Juniper devices. This has to be applied to both ports connected together\n"
                },
                "macAuthOnly": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "macAuthPreferred": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`macAuthOnly`\" pulumi-lang-dotnet=\"`MacAuthOnly`\" pulumi-lang-go=\"`macAuthOnly`\" pulumi-lang-python=\"`mac_auth_only`\" pulumi-lang-yaml=\"`macAuthOnly`\" pulumi-lang-java=\"`macAuthOnly`\" pulumi-lang-hcl=\"`mac_auth_only`\"\u003e`macAuthOnly`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, dot1x will be given priority then mac_auth. Enable this to prefer\u003cspan pulumi-lang-nodejs=\" macAuth \" pulumi-lang-dotnet=\" MacAuth \" pulumi-lang-go=\" macAuth \" pulumi-lang-python=\" mac_auth \" pulumi-lang-yaml=\" macAuth \" pulumi-lang-java=\" macAuth \" pulumi-lang-hcl=\" mac_auth \"\u003e macAuth \u003c/span\u003eover dot1x.\n"
                },
                "macAuthProtocol": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. MAC authentication protocol to use; ignored if Mist NAC is enabled\n"
                },
                "macLimit": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e max number of mac addresses, default is 0 for unlimited, otherwise range is 1 to 16383 (upper bound constrained by platform)\n"
                },
                "mode": {
                    "type": "string",
                    "description": "Switching mode for this port usage\n"
                },
                "mtu": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. Value between 256 and 9216, default value is 1514.\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e. Network or VLAN names to trunk\n"
                },
                "persistMac": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\" pulumi-lang-hcl=\"`access`\"\u003e`access`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Whether the port should retain dynamically learned MAC addresses\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether PoE capabilities are disabled for a port\n"
                },
                "poeKeepStateWhenReboot": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether Perpetual PoE is enabled; keeps PoE state across reboots\n"
                },
                "poePriority": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. PoE priority for ports using this port usage\n"
                },
                "portAuth": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. 802.1X authentication mode for this port usage\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Native network/vlan for untagged traffic\n"
                },
                "reauthInterval": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e reauthentication interval range between 10 and 65535 (default: 3600)\n"
                },
                "resetDefaultWhen": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Condition that resets a dynamic port to the default port usage\n"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortUsagesRule:DeviceprofileSwitchPortUsagesRule"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Dynamic matching rules that select the port usage to apply\n"
                },
                "serverFailNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Sets server fail fallback vlan\n"
                },
                "serverFailRetryInterval": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Interval, in seconds. Sets the wait time before retrying authentication after RADIUS failure to reduce client flapping. Range 120-65535\n"
                },
                "serverRejectNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. When RADIUS server reject / fails\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Link speed for this port usage\n"
                },
                "stormControl": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortUsagesStormControl:DeviceprofileSwitchPortUsagesStormControl",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Storm-control settings for this port usage\n"
                },
                "stpDisable": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`stpRequired`\" pulumi-lang-dotnet=\"`StpRequired`\" pulumi-lang-go=\"`stpRequired`\" pulumi-lang-python=\"`stp_required`\" pulumi-lang-yaml=\"`stpRequired`\" pulumi-lang-java=\"`stpRequired`\" pulumi-lang-hcl=\"`stp_required`\"\u003e`stpRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. Drop bridge protocol data units (BPDUs ) that enter any interface or a specified interface\n"
                },
                "stpEdge": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. When enabled, the port is not expected to receive BPDU frames\n"
                },
                "stpNoRootPort": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "stpP2p": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "stpRequired": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether to remain in block state if no BPDU is received\n"
                },
                "useVstp": {
                    "type": "boolean",
                    "description": "If this is connected to a vstp network\n"
                },
                "voipNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "description",
                        "networks",
                        "serverFailRetryInterval"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchPortUsagesRule:DeviceprofileSwitchPortUsagesRule": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Optional description of the rule\n"
                },
                "equals": {
                    "type": "string",
                    "description": "Exact value that the selected source attribute must match\n"
                },
                "equalsAnies": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of values where any match satisfies this dynamic rule\n"
                },
                "expression": {
                    "type": "string",
                    "description": "\"[0:3]\":\"abcdef\" \u003e \"abc\"\n\"split(.)[1]\": \"a.b.c\" \u003e \"b\"\n\"split(-)[1][0:3]: \"a1234-b5678-c90\" \u003e \"b56\"\n"
                },
                "src": {
                    "type": "string",
                    "description": "Source attribute evaluated by this dynamic rule\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Port usage name to apply when this dynamic rule matches\n"
                }
            },
            "type": "object",
            "required": [
                "src"
            ]
        },
        "junipermist:org/DeviceprofileSwitchPortUsagesStormControl:DeviceprofileSwitchPortUsagesStormControl": {
            "properties": {
                "disablePort": {
                    "type": "boolean",
                    "description": "Whether to disable the port when storm control is triggered\n"
                },
                "noBroadcast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on broadcast traffic\n"
                },
                "noMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on multicast traffic\n"
                },
                "noRegisteredMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on registered multicast traffic\n"
                },
                "noUnknownUnicast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on unknown unicast traffic\n"
                },
                "percentage": {
                    "type": "integer",
                    "description": "Bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRadiusConfig:DeviceprofileSwitchRadiusConfig": {
            "properties": {
                "acctImmediateUpdate": {
                    "type": "boolean",
                    "description": "Whether immediate RADIUS accounting updates are sent\n"
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled\n"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRadiusConfigAcctServer:DeviceprofileSwitchRadiusConfigAcctServer"
                    },
                    "description": "RADIUS accounting servers used by this switch configuration\n"
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "Selection strategy for RADIUS authentication servers\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRadiusConfigAuthServer:DeviceprofileSwitchRadiusConfigAuthServer"
                    },
                    "description": "RADIUS authentication servers used by this switch configuration\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS Change of Authorization (CoA) is enabled\n"
                },
                "coaPort": {
                    "type": "string",
                    "description": "UDP port used for RADIUS Change of Authorization (CoA)\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "Whether fast 802.1X timers are enabled for RADIUS authentication\n"
                },
                "network": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003eor \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Explicit source IP address for RADIUS traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "acctInterimInterval",
                        "authServersRetries",
                        "authServersTimeout",
                        "coaPort"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchRadiusConfigAcctServer:DeviceprofileSwitchRadiusConfigAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS accounting server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this accounting server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS accounting server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:org/DeviceprofileSwitchRadiusConfigAuthServer:DeviceprofileSwitchRadiusConfigAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS authentication server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this authentication server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS authentication server\n"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS authentication server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslog:DeviceprofileSwitchRemoteSyslog": {
            "properties": {
                "archive": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogArchive:DeviceprofileSwitchRemoteSyslogArchive",
                    "description": "Retention settings for generated syslog archive files\n"
                },
                "cacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CA certificates used to verify TLS syslog servers\n"
                },
                "console": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogConsole:DeviceprofileSwitchRemoteSyslogConsole",
                    "description": "Log forwarding filters for console messages sent to remote syslog\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether remote syslog forwarding is enabled\n"
                },
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogFile:DeviceprofileSwitchRemoteSyslogFile"
                    },
                    "description": "Local syslog file definitions to generate and forward\n"
                },
                "network": {
                    "type": "string",
                    "description": "Source network used for syslog traffic. If \u003cspan pulumi-lang-nodejs=\"`sourceAddress`\" pulumi-lang-dotnet=\"`SourceAddress`\" pulumi-lang-go=\"`sourceAddress`\" pulumi-lang-python=\"`source_address`\" pulumi-lang-yaml=\"`sourceAddress`\" pulumi-lang-java=\"`sourceAddress`\" pulumi-lang-hcl=\"`source_address`\"\u003e`sourceAddress`\u003c/span\u003e is configured, Mist uses the VLAN first; otherwise it uses \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e\n"
                },
                "sendToAllServers": {
                    "type": "boolean",
                    "description": "Whether each log entry is sent to all configured remote syslog servers\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogServer:DeviceprofileSwitchRemoteSyslogServer"
                    },
                    "description": "Remote syslog server destinations\n"
                },
                "timeFormat": {
                    "type": "string",
                    "description": "Timestamp format used in forwarded syslog messages\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogUser:DeviceprofileSwitchRemoteSyslogUser"
                    },
                    "description": "User-specific syslog logging rules\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogArchive:DeviceprofileSwitchRemoteSyslogArchive": {
            "properties": {
                "files": {
                    "type": "string",
                    "description": "Number of archived syslog files to retain\n"
                },
                "size": {
                    "type": "string",
                    "description": "Maximum size of each archived syslog file, such as 5m\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogConsole:DeviceprofileSwitchRemoteSyslogConsole": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogConsoleContent:DeviceprofileSwitchRemoteSyslogConsoleContent"
                    },
                    "description": "Syslog facilities and severities forwarded from console logs\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogConsoleContent:DeviceprofileSwitchRemoteSyslogConsoleContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogFile:DeviceprofileSwitchRemoteSyslogFile": {
            "properties": {
                "archive": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogFileArchive:DeviceprofileSwitchRemoteSyslogFileArchive",
                    "description": "Retention settings for this generated syslog file\n"
                },
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogFileContent:DeviceprofileSwitchRemoteSyslogFileContent"
                    },
                    "description": "Syslog facilities and severities written to this file\n"
                },
                "enableTls": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, enable TLS for this syslog file destination\n"
                },
                "explicitPriority": {
                    "type": "boolean",
                    "description": "Whether to include explicit syslog priority values in file output\n"
                },
                "file": {
                    "type": "string",
                    "description": "Generated syslog file name\n"
                },
                "match": {
                    "type": "string",
                    "description": "Expression used to filter log messages written to this file\n"
                },
                "structuredData": {
                    "type": "boolean",
                    "description": "Whether to include structured syslog data in file output\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogFileArchive:DeviceprofileSwitchRemoteSyslogFileArchive": {
            "properties": {
                "files": {
                    "type": "string",
                    "description": "Number of archived syslog files to retain\n"
                },
                "size": {
                    "type": "string",
                    "description": "Maximum size of each archived syslog file, such as 5m\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogFileContent:DeviceprofileSwitchRemoteSyslogFileContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogServer:DeviceprofileSwitchRemoteSyslogServer": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogServerContent:DeviceprofileSwitchRemoteSyslogServerContent"
                    },
                    "description": "Syslog facilities and severities sent to this server\n"
                },
                "explicitPriority": {
                    "type": "boolean",
                    "description": "Whether to include explicit syslog priority values in messages sent to this server\n"
                },
                "facility": {
                    "type": "string",
                    "description": "Default syslog facility for messages sent to this server\n"
                },
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the remote syslog server\n"
                },
                "match": {
                    "type": "string",
                    "description": "Expression used to filter log messages sent to this server\n"
                },
                "port": {
                    "type": "string",
                    "description": "Network port used by the remote syslog server\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Transport protocol used for this remote syslog server\n"
                },
                "routingInstance": {
                    "type": "string",
                    "description": "Routing instance used to reach this remote syslog server\n"
                },
                "serverName": {
                    "type": "string",
                    "description": "TLS server name used when verifying the remote syslog server certificate\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Default syslog severity for messages sent to this server\n"
                },
                "sourceAddress": {
                    "type": "string",
                    "description": "Source address for syslog traffic. If configured, Mist uses the VLAN first; otherwise it uses \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e\n"
                },
                "structuredData": {
                    "type": "boolean",
                    "description": "Whether to include structured syslog data in messages sent to this server\n"
                },
                "tag": {
                    "type": "string",
                    "description": "Syslog tag value added to messages sent to this server\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogServerContent:DeviceprofileSwitchRemoteSyslogServerContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogUser:DeviceprofileSwitchRemoteSyslogUser": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslogUserContent:DeviceprofileSwitchRemoteSyslogUserContent"
                    },
                    "description": "Syslog facilities and severities logged for this user rule\n"
                },
                "match": {
                    "type": "string",
                    "description": "Expression used to filter user log messages\n"
                },
                "user": {
                    "type": "string",
                    "description": "Account name or wildcard matched by this syslog rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRemoteSyslogUserContent:DeviceprofileSwitchRemoteSyslogUserContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRoutingPolicies:DeviceprofileSwitchRoutingPolicies": {
            "properties": {
                "terms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRoutingPoliciesTerm:DeviceprofileSwitchRoutingPoliciesTerm"
                    },
                    "description": "Ordered terms evaluated by this switch routing policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRoutingPoliciesTerm:DeviceprofileSwitchRoutingPoliciesTerm": {
            "properties": {
                "matching": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchRoutingPoliciesTermMatching:DeviceprofileSwitchRoutingPoliciesTermMatching",
                    "description": "Route match criteria that must be satisfied before actions are applied\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the switch routing policy term\n"
                },
                "routingPolicyTermActions": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchRoutingPoliciesTermRoutingPolicyTermActions:DeviceprofileSwitchRoutingPoliciesTermRoutingPolicyTermActions",
                    "description": "Policy actions applied when this routing policy term matches\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "junipermist:org/DeviceprofileSwitchRoutingPoliciesTermMatching:DeviceprofileSwitchRoutingPoliciesTermMatching": {
            "properties": {
                "asPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities that routes must match\n"
                },
                "prefixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Route prefixes that routes must match\n"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\" pulumi-lang-hcl=\"`bgp`\"\u003e`bgp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`direct`\" pulumi-lang-dotnet=\"`Direct`\" pulumi-lang-go=\"`direct`\" pulumi-lang-python=\"`direct`\" pulumi-lang-yaml=\"`direct`\" pulumi-lang-java=\"`direct`\" pulumi-lang-hcl=\"`direct`\"\u003e`direct`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`evpn`\" pulumi-lang-dotnet=\"`Evpn`\" pulumi-lang-go=\"`evpn`\" pulumi-lang-python=\"`evpn`\" pulumi-lang-yaml=\"`evpn`\" pulumi-lang-java=\"`evpn`\" pulumi-lang-hcl=\"`evpn`\"\u003e`evpn`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ospf`\" pulumi-lang-dotnet=\"`Ospf`\" pulumi-lang-go=\"`ospf`\" pulumi-lang-python=\"`ospf`\" pulumi-lang-yaml=\"`ospf`\" pulumi-lang-java=\"`ospf`\" pulumi-lang-hcl=\"`ospf`\"\u003e`ospf`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchRoutingPoliciesTermRoutingPolicyTermActions:DeviceprofileSwitchRoutingPoliciesTermRoutingPolicyTermActions": {
            "properties": {
                "accept": {
                    "type": "boolean",
                    "description": "Whether to accept routes that match this term\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to set when this term is used as an export policy\n"
                },
                "localPreference": {
                    "type": "string",
                    "description": "Optional, for an import policy,\u003cspan pulumi-lang-nodejs=\" localPreference \" pulumi-lang-dotnet=\" LocalPreference \" pulumi-lang-go=\" localPreference \" pulumi-lang-python=\" local_preference \" pulumi-lang-yaml=\" localPreference \" pulumi-lang-java=\" localPreference \" pulumi-lang-hcl=\" local_preference \"\u003e localPreference \u003c/span\u003ecan be changed, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "prependAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AS path values to prepend when this term is used as an export policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfig:DeviceprofileSwitchSnmpConfig": {
            "properties": {
                "clientLists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigClientList:DeviceprofileSwitchSnmpConfigClientList"
                    },
                    "description": "SNMP client allowlists that can be referenced by communities\n"
                },
                "contact": {
                    "type": "string",
                    "description": "Administrative contact string advertised through SNMP\n"
                },
                "description": {
                    "type": "string",
                    "description": "Device description string advertised through SNMP\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SNMP is enabled\n"
                },
                "engineId": {
                    "type": "string",
                    "description": "SNMP engine ID used for SNMPv3\n"
                },
                "engineIdType": {
                    "type": "string",
                    "description": "Method used to derive the SNMP engine ID\n"
                },
                "location": {
                    "type": "string",
                    "description": "Physical location string advertised through SNMP\n"
                },
                "name": {
                    "type": "string",
                    "description": "System name advertised through SNMP\n"
                },
                "network": {
                    "type": "string",
                    "description": "Management network used for SNMP traffic\n"
                },
                "trapGroups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigTrapGroup:DeviceprofileSwitchSnmpConfigTrapGroup"
                    },
                    "description": "SNMP trap group definitions\n"
                },
                "v2cConfigs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV2cConfig:DeviceprofileSwitchSnmpConfigV2cConfig"
                    },
                    "description": "SNMPv2c community configuration entries for this SNMP profile\n"
                },
                "v3Config": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3Config:DeviceprofileSwitchSnmpConfigV3Config",
                    "description": "SNMPv3 user, VACM, notify, and target configuration\n"
                },
                "views": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigView:DeviceprofileSwitchSnmpConfigView"
                    },
                    "description": "SNMP MIB view definitions\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigClientList:DeviceprofileSwitchSnmpConfigClientList": {
            "properties": {
                "clientListName": {
                    "type": "string",
                    "description": "Name of the SNMP client list\n"
                },
                "clients": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SNMP client IP addresses or CIDR ranges allowed by this list\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigTrapGroup:DeviceprofileSwitchSnmpConfigTrapGroup": {
            "properties": {
                "categories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trap categories included in this SNMP trap group\n"
                },
                "groupName": {
                    "type": "string",
                    "description": "Trap group name for this SNMP trap group\n"
                },
                "targets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trap target addresses for this SNMP trap group\n"
                },
                "version": {
                    "type": "string",
                    "description": "SNMP trap protocol version used by this group\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV2cConfig:DeviceprofileSwitchSnmpConfigV2cConfig": {
            "properties": {
                "authorization": {
                    "type": "string",
                    "description": "Access level for the SNMPv2c community\n"
                },
                "clientListName": {
                    "type": "string",
                    "description": "SNMP client list name referenced by this community\n"
                },
                "communityName": {
                    "type": "string",
                    "description": "SNMPv2c community string name\n"
                },
                "view": {
                    "type": "string",
                    "description": "SNMP view name that must be defined in the views list\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3Config:DeviceprofileSwitchSnmpConfigV3Config": {
            "properties": {
                "notifies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigNotify:DeviceprofileSwitchSnmpConfigV3ConfigNotify"
                    },
                    "description": "SNMPv3 notification definitions used for traps and informs\n"
                },
                "notifyFilters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigNotifyFilter:DeviceprofileSwitchSnmpConfigV3ConfigNotifyFilter"
                    },
                    "description": "SNMPv3 notification filter profiles\n"
                },
                "targetAddresses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigTargetAddress:DeviceprofileSwitchSnmpConfigV3ConfigTargetAddress"
                    },
                    "description": "SNMPv3 notification target addresses\n"
                },
                "targetParameters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigTargetParameter:DeviceprofileSwitchSnmpConfigV3ConfigTargetParameter"
                    },
                    "description": "SNMPv3 target parameter profiles\n"
                },
                "usms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigUsm:DeviceprofileSwitchSnmpConfigV3ConfigUsm"
                    },
                    "description": "SNMPv3 USM engine configurations\n"
                },
                "vacm": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacm:DeviceprofileSwitchSnmpConfigV3ConfigVacm",
                    "description": "SNMPv3 VACM access control configuration\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigNotify:DeviceprofileSwitchSnmpConfigV3ConfigNotify": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Identifier for this SNMPv3 notification definition\n"
                },
                "tag": {
                    "type": "string",
                    "description": "Notification tag used to select target addresses\n"
                },
                "type": {
                    "type": "string",
                    "description": "Delivery mode for this SNMPv3 notification, such as trap or inform\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "tag",
                "type"
            ]
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigNotifyFilter:DeviceprofileSwitchSnmpConfigV3ConfigNotifyFilter": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigNotifyFilterContent:DeviceprofileSwitchSnmpConfigV3ConfigNotifyFilterContent"
                    },
                    "description": "OID filter rules in this notification filter profile\n"
                },
                "profileName": {
                    "type": "string",
                    "description": "Notification filter profile name\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigNotifyFilterContent:DeviceprofileSwitchSnmpConfigV3ConfigNotifyFilterContent": {
            "properties": {
                "include": {
                    "type": "boolean",
                    "description": "Whether the matching OID subtree is included\n"
                },
                "oid": {
                    "type": "string",
                    "description": "Matched OID subtree for this notification filter rule\n"
                }
            },
            "type": "object",
            "required": [
                "oid"
            ]
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigTargetAddress:DeviceprofileSwitchSnmpConfigV3ConfigTargetAddress": {
            "properties": {
                "address": {
                    "type": "string",
                    "description": "IP address or hostname of the SNMP target\n"
                },
                "addressMask": {
                    "type": "string",
                    "description": "Mask applied to the SNMP target address\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the SNMP target\n"
                },
                "tagList": {
                    "type": "string",
                    "description": "Set of notification tags for this target address; use spaces between multiple tags\n"
                },
                "targetAddressName": {
                    "type": "string",
                    "description": "Name of the SNMP target address entry\n"
                },
                "targetParameters": {
                    "type": "string",
                    "description": "Target parameter profile referenced by this target address\n"
                }
            },
            "type": "object",
            "required": [
                "address",
                "addressMask",
                "targetAddressName"
            ]
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigTargetParameter:DeviceprofileSwitchSnmpConfigV3ConfigTargetParameter": {
            "properties": {
                "messageProcessingModel": {
                    "type": "string",
                    "description": "SNMP message processing model used by this target parameter profile\n"
                },
                "name": {
                    "type": "string",
                    "description": "Target parameter profile name\n"
                },
                "notifyFilter": {
                    "type": "string",
                    "description": "Notification filter profile referenced by this target parameter profile\n"
                },
                "securityLevel": {
                    "type": "string",
                    "description": "Required security level for this target parameter profile\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "Required security model for this target parameter profile\n"
                },
                "securityName": {
                    "type": "string",
                    "description": "USM security name referenced by this target parameter profile\n"
                }
            },
            "type": "object",
            "required": [
                "messageProcessingModel",
                "name"
            ]
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigUsm:DeviceprofileSwitchSnmpConfigV3ConfigUsm": {
            "properties": {
                "engineType": {
                    "type": "string",
                    "description": "SNMP engine type used for this USM configuration\n"
                },
                "remoteEngineId": {
                    "type": "string",
                    "description": "Required only if \u003cspan pulumi-lang-nodejs=\"`engineType`\" pulumi-lang-dotnet=\"`EngineType`\" pulumi-lang-go=\"`engineType`\" pulumi-lang-python=\"`engine_type`\" pulumi-lang-yaml=\"`engineType`\" pulumi-lang-java=\"`engineType`\" pulumi-lang-hcl=\"`engine_type`\"\u003e`engineType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`remoteEngine`\" pulumi-lang-dotnet=\"`RemoteEngine`\" pulumi-lang-go=\"`remoteEngine`\" pulumi-lang-python=\"`remote_engine`\" pulumi-lang-yaml=\"`remoteEngine`\" pulumi-lang-java=\"`remoteEngine`\" pulumi-lang-hcl=\"`remote_engine`\"\u003e`remoteEngine`\u003c/span\u003e\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigUsmUser:DeviceprofileSwitchSnmpConfigV3ConfigUsmUser"
                    },
                    "description": "SNMPv3 USM users for this engine\n"
                }
            },
            "type": "object",
            "required": [
                "engineType"
            ]
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigUsmUser:DeviceprofileSwitchSnmpConfigV3ConfigUsmUser": {
            "properties": {
                "authenticationPassword": {
                    "type": "string",
                    "description": "Not required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\" pulumi-lang-hcl=\"`authentication_type`\"\u003e`authenticationType`\u003c/span\u003e==`authentication-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters.\n",
                    "secret": true
                },
                "authenticationType": {
                    "type": "string",
                    "description": "Authentication protocol used by this SNMPv3 USM user\n"
                },
                "encryptionPassword": {
                    "type": "string",
                    "description": "Not required if \u003cspan pulumi-lang-nodejs=\"`encryptionType`\" pulumi-lang-dotnet=\"`EncryptionType`\" pulumi-lang-go=\"`encryptionType`\" pulumi-lang-python=\"`encryption_type`\" pulumi-lang-yaml=\"`encryptionType`\" pulumi-lang-java=\"`encryptionType`\" pulumi-lang-hcl=\"`encryption_type`\"\u003e`encryptionType`\u003c/span\u003e==`privacy-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters\n",
                    "secret": true
                },
                "encryptionType": {
                    "type": "string",
                    "description": "Privacy protocol used by this SNMPv3 USM user\n"
                },
                "name": {
                    "type": "string",
                    "description": "Username for the SNMPv3 USM user\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacm:DeviceprofileSwitchSnmpConfigV3ConfigVacm": {
            "properties": {
                "accesses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacmAccess:DeviceprofileSwitchSnmpConfigV3ConfigVacmAccess"
                    },
                    "description": "VACM access rules for SNMPv3\n"
                },
                "securityToGroup": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacmSecurityToGroup:DeviceprofileSwitchSnmpConfigV3ConfigVacmSecurityToGroup",
                    "description": "VACM security-name to group mappings\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacmAccess:DeviceprofileSwitchSnmpConfigV3ConfigVacmAccess": {
            "properties": {
                "groupName": {
                    "type": "string",
                    "description": "SNMP VACM group name\n"
                },
                "prefixLists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacmAccessPrefixList:DeviceprofileSwitchSnmpConfigV3ConfigVacmAccessPrefixList"
                    },
                    "description": "Context prefix rules for this VACM group\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacmAccessPrefixList:DeviceprofileSwitchSnmpConfigV3ConfigVacmAccessPrefixList": {
            "properties": {
                "contextPrefix": {
                    "type": "string",
                    "description": "Context prefix for this VACM access rule. Required only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`contextPrefix`\" pulumi-lang-dotnet=\"`ContextPrefix`\" pulumi-lang-go=\"`contextPrefix`\" pulumi-lang-python=\"`context_prefix`\" pulumi-lang-yaml=\"`contextPrefix`\" pulumi-lang-java=\"`contextPrefix`\" pulumi-lang-hcl=\"`context_prefix`\"\u003e`contextPrefix`\u003c/span\u003e\n"
                },
                "notifyView": {
                    "type": "string",
                    "description": "Notify view name referenced by this VACM access rule\n"
                },
                "readView": {
                    "type": "string",
                    "description": "Read view name referenced by this VACM access rule\n"
                },
                "securityLevel": {
                    "type": "string",
                    "description": "Required security level for this VACM access rule\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "Required security model for this VACM access rule\n"
                },
                "type": {
                    "type": "string",
                    "description": "VACM context matching type for this access rule\n"
                },
                "writeView": {
                    "type": "string",
                    "description": "Write view name referenced by this VACM access rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacmSecurityToGroup:DeviceprofileSwitchSnmpConfigV3ConfigVacmSecurityToGroup": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacmSecurityToGroupContent:DeviceprofileSwitchSnmpConfigV3ConfigVacmSecurityToGroupContent"
                    },
                    "description": "VACM security-name to group mapping entries\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "Required security model for these VACM group mappings\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigV3ConfigVacmSecurityToGroupContent:DeviceprofileSwitchSnmpConfigV3ConfigVacmSecurityToGroupContent": {
            "properties": {
                "group": {
                    "type": "string",
                    "description": "VACM group name referenced by this mapping\n"
                },
                "securityName": {
                    "type": "string",
                    "description": "Name of the SNMP security principal mapped to a VACM group\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSnmpConfigView:DeviceprofileSwitchSnmpConfigView": {
            "properties": {
                "include": {
                    "type": "boolean",
                    "description": "Whether the root OID is included in this SNMP view\n"
                },
                "oid": {
                    "type": "string",
                    "description": "Root OID for this SNMP view\n"
                },
                "viewName": {
                    "type": "string",
                    "description": "Name of the SNMP MIB view definition\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchStpConfig:DeviceprofileSwitchStpConfig": {
            "properties": {
                "bridgePriority": {
                    "type": "string",
                    "description": "Switch STP priority. Range [0, 4k, 8k.. 60k] in steps of 4k. Bridge priority applies to both VSTP and RSTP.\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSwitchMgmt:DeviceprofileSwitchSwitchMgmt": {
            "properties": {
                "apAffinityThreshold": {
                    "type": "integer",
                    "description": "AP affinity threshold for switch management. If set in both site settings and organization settings, the site setting value is used.\n"
                },
                "cliBanner": {
                    "type": "string",
                    "description": "Set Banners for switches. Allows markup formatting\n"
                },
                "cliIdleTimeout": {
                    "type": "integer",
                    "description": "Sets timeout for switches\n"
                },
                "configRevertTimer": {
                    "type": "integer",
                    "description": "Rollback timer for commit confirmed\n"
                },
                "dhcpOptionFqdn": {
                    "type": "boolean",
                    "description": "Enable to provide the FQDN with DHCP option 81\n"
                },
                "disableOobDownAlarm": {
                    "type": "boolean",
                    "description": "Whether to suppress alarms when the switch out-of-band management interface is down\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the switch\n"
                },
                "localAccounts": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSwitchMgmtLocalAccounts:DeviceprofileSwitchSwitchMgmtLocalAccounts"
                    },
                    "description": "Local switch user accounts keyed by username\n"
                },
                "mxedgeProxyHost": {
                    "type": "string",
                    "description": "IP address or FQDN of the Mist Edge used to proxy the switch management traffic to the Mist Cloud\n"
                },
                "mxedgeProxyPort": {
                    "type": "string",
                    "description": "Mist Edge port used to proxy the switch management traffic to the Mist Cloud. Value in range 1-65535\n"
                },
                "protectRe": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchSwitchMgmtProtectRe:DeviceprofileSwitchSwitchMgmtProtectRe",
                    "description": "Control-plane protection settings for the switch\n"
                },
                "removeExistingConfigs": {
                    "type": "boolean",
                    "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed.\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "Root password for local switch access\n",
                    "secret": true
                },
                "tacacs": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchSwitchMgmtTacacs:DeviceprofileSwitchSwitchMgmtTacacs",
                    "description": "Management authentication settings using TACACS+\n"
                },
                "useMxedgeProxy": {
                    "type": "boolean",
                    "description": "Whether to use Mist Edge as a proxy for switch management traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "configRevertTimer"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchSwitchMgmtLocalAccounts:DeviceprofileSwitchSwitchMgmtLocalAccounts": {
            "properties": {
                "password": {
                    "type": "string",
                    "description": "Local password for the switch user account\n",
                    "secret": true
                },
                "role": {
                    "type": "string",
                    "description": "Access role granted to the local switch user account\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSwitchMgmtProtectRe:DeviceprofileSwitchSwitchMgmtProtectRe": {
            "properties": {
                "allowedServices": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "optionally, services we'll allow. enum: \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\" pulumi-lang-hcl=\"`ssh`\"\u003e`ssh`\u003c/span\u003e\n"
                },
                "customs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSwitchMgmtProtectReCustom:DeviceprofileSwitchSwitchMgmtProtectReCustom"
                    },
                    "description": "Additional ACL entries allowed by the Protect RE policy\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled, all traffic that is not essential to our operation will be dropped\ne.g. ntp / dns / traffic to mist will be allowed by default\n     if dhcpd is enabled, we'll make sure it works\n"
                },
                "hitCount": {
                    "type": "boolean",
                    "description": "Whether to enable hit count for Protect_RE policy\n"
                },
                "trustedHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trusted host or subnet entries allowed by the Protect RE policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowedServices",
                        "customs",
                        "trustedHosts"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchSwitchMgmtProtectReCustom:DeviceprofileSwitchSwitchMgmtProtectReCustom": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "matched dst port, \"0\" means any. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source subnets matched by this custom Protect RE ACL\n"
                }
            },
            "type": "object",
            "required": [
                "subnets"
            ]
        },
        "junipermist:org/DeviceprofileSwitchSwitchMgmtTacacs:DeviceprofileSwitchSwitchMgmtTacacs": {
            "properties": {
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSwitchMgmtTacacsAcctServer:DeviceprofileSwitchSwitchMgmtTacacsAcctServer"
                    },
                    "description": "TACACS+ accounting servers used for switch management sessions\n"
                },
                "defaultRole": {
                    "type": "string",
                    "description": "Default switch-management role to use for TACACS+ logins\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether TACACS+ is enabled for switch management authentication\n"
                },
                "network": {
                    "type": "string",
                    "description": "Source network used for connectivity to the TACACS+ servers\n"
                },
                "tacplusServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSwitchMgmtTacacsTacplusServer:DeviceprofileSwitchSwitchMgmtTacacsTacplusServer"
                    },
                    "description": "TACACS+ authentication servers used for switch management logins\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchSwitchMgmtTacacsAcctServer:DeviceprofileSwitchSwitchMgmtTacacsAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the TACACS+ accounting server\n"
                },
                "port": {
                    "type": "string",
                    "description": "TCP port used by the TACACS+ accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this TACACS+ accounting server\n",
                    "secret": true
                },
                "timeout": {
                    "type": "integer",
                    "description": "TACACS+ accounting server timeout, in seconds\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeout"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchSwitchMgmtTacacsTacplusServer:DeviceprofileSwitchSwitchMgmtTacacsTacplusServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the TACACS+ authentication server\n"
                },
                "port": {
                    "type": "string",
                    "description": "TCP port used by the TACACS+ authentication server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this TACACS+ authentication server\n",
                    "secret": true
                },
                "timeout": {
                    "type": "integer",
                    "description": "TACACS+ authentication server timeout, in seconds\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeout"
                    ]
                }
            }
        },
        "junipermist:org/DeviceprofileSwitchVrfConfig:DeviceprofileSwitchVrfConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable VRF (when supported on the device)\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchVrfInstances:DeviceprofileSwitchVrfInstances": {
            "properties": {
                "evpnAutoLoopbackSubnet": {
                    "type": "string",
                    "description": "IPv4 subnet used for automatic EVPN loopback addresses in this VRF instance\n"
                },
                "evpnAutoLoopbackSubnet6": {
                    "type": "string",
                    "description": "IPv6 subnet used for automatic EVPN loopback addresses in this VRF instance\n"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrfInstancesExtraRoutes:DeviceprofileSwitchVrfInstancesExtraRoutes"
                    },
                    "description": "Additional IPv4 static routes configured for this VRF instance\n"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrfInstancesExtraRoutes6:DeviceprofileSwitchVrfInstancesExtraRoutes6"
                    },
                    "description": "Additional IPv6 static routes configured for this VRF instance\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Names of switch networks included in this VRF instance\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchVrfInstancesExtraRoutes6:DeviceprofileSwitchVrfInstancesExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv6 next-hop address for this VRF extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchVrfInstancesExtraRoutes:DeviceprofileSwitchVrfInstancesExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv4 next-hop address for this VRF extra route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/DeviceprofileSwitchVrrpConfig:DeviceprofileSwitchVrrpConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether VRRP configuration is enabled\n"
                },
                "groups": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrrpConfigGroups:DeviceprofileSwitchVrrpConfigGroups"
                    },
                    "description": "VRRP groups keyed by group name\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/DeviceprofileSwitchVrrpConfigGroups:DeviceprofileSwitchVrrpConfigGroups": {
            "properties": {
                "preempt": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, allow preemption (a backup router can preempt a primary router)\n"
                },
                "priority": {
                    "type": "integer",
                    "description": "VRRP priority for this router in the group\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/EvpnTopologyEvpnOptions:EvpnTopologyEvpnOptions": {
            "properties": {
                "autoLoopbackSubnet": {
                    "type": "string",
                    "description": "Optional, for dhcp_relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server_id-overrides\n"
                },
                "autoLoopbackSubnet6": {
                    "type": "string",
                    "description": "Optional, for dhcp_relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server_id-overrides\n"
                },
                "autoRouterIdSubnet": {
                    "type": "string",
                    "description": "Optional, this generates\u003cspan pulumi-lang-nodejs=\" routerId \" pulumi-lang-dotnet=\" RouterId \" pulumi-lang-go=\" routerId \" pulumi-lang-python=\" router_id \" pulumi-lang-yaml=\" routerId \" pulumi-lang-java=\" routerId \" pulumi-lang-hcl=\" router_id \"\u003e routerId \u003c/span\u003eautomatically, if specified, \u003cspan pulumi-lang-nodejs=\"`routerIdPrefix`\" pulumi-lang-dotnet=\"`RouterIdPrefix`\" pulumi-lang-go=\"`routerIdPrefix`\" pulumi-lang-python=\"`router_id_prefix`\" pulumi-lang-yaml=\"`routerIdPrefix`\" pulumi-lang-java=\"`routerIdPrefix`\" pulumi-lang-hcl=\"`router_id_prefix`\"\u003e`routerIdPrefix`\u003c/span\u003e is ignored\n"
                },
                "autoRouterIdSubnet6": {
                    "type": "string",
                    "description": "Optional, this generates\u003cspan pulumi-lang-nodejs=\" routerId \" pulumi-lang-dotnet=\" RouterId \" pulumi-lang-go=\" routerId \" pulumi-lang-python=\" router_id \" pulumi-lang-yaml=\" routerId \" pulumi-lang-java=\" routerId \" pulumi-lang-hcl=\" router_id \"\u003e routerId \u003c/span\u003eautomatically, if specified, \u003cspan pulumi-lang-nodejs=\"`routerIdPrefix`\" pulumi-lang-dotnet=\"`RouterIdPrefix`\" pulumi-lang-go=\"`routerIdPrefix`\" pulumi-lang-python=\"`router_id_prefix`\" pulumi-lang-yaml=\"`routerIdPrefix`\" pulumi-lang-java=\"`routerIdPrefix`\" pulumi-lang-hcl=\"`router_id_prefix`\"\u003e`routerIdPrefix`\u003c/span\u003e is ignored\n"
                },
                "coreAsBorder": {
                    "type": "boolean",
                    "description": "Optional, for ERB or CLOS, you can either use esilag to upstream routers or to also be the virtual-gateway. When \u003cspan pulumi-lang-nodejs=\"`routedAt`\" pulumi-lang-dotnet=\"`RoutedAt`\" pulumi-lang-go=\"`routedAt`\" pulumi-lang-python=\"`routed_at`\" pulumi-lang-yaml=\"`routedAt`\" pulumi-lang-java=\"`routedAt`\" pulumi-lang-hcl=\"`routed_at`\"\u003e`routedAt`\u003c/span\u003e != \u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e, whether to do virtual-gateway at core as well\n"
                },
                "enableInbandMgmt": {
                    "type": "boolean",
                    "description": "Whether to route management traffic inband; routes will be propagated to downstream switches\n"
                },
                "enableInbandZtp": {
                    "type": "boolean",
                    "description": "if the mangement traffic goes inbnd, during installation, only the border/core switches are connected to the Internet to allow initial configuration to be pushed down and leave the downstream access switches stay in the Factory Default state enabling inband-ztp allows upstream switches to use LLDP to assign IP and gives Internet to downstream switches in that state\n"
                },
                "overlay": {
                    "$ref": "#/types/junipermist:org/EvpnTopologyEvpnOptionsOverlay:EvpnTopologyEvpnOptionsOverlay",
                    "description": "EVPN overlay BGP settings for the topology\n"
                },
                "perVlanVgaV4Mac": {
                    "type": "boolean",
                    "description": "Only for by Core-Distribution architecture when `evpn_options.routed_at`==\u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e. By default, JUNOS uses 00-00-5e-00-01-01 as the virtual-gateway-address's v4_mac. If enabled, 00-00-5e-00-0X-YY will be used (where XX=vlan_id/256, YY=vlan_id%256)\n"
                },
                "perVlanVgaV6Mac": {
                    "type": "boolean",
                    "description": "Only for by Core-Distribution architecture when `evpn_options.routed_at`==\u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e. By default, JUNOS uses 00-00-5e-00-02-01 as the virtual-gateway-address's v6_mac. If enabled, 00-00-5e-00-1X-YY will be used (where XX=vlan_id/256, YY=vlan_id%256)\n"
                },
                "routedAt": {
                    "type": "string",
                    "description": "Topology tier where EVPN virtual gateway routing is placed\n"
                },
                "underlay": {
                    "$ref": "#/types/junipermist:org/EvpnTopologyEvpnOptionsUnderlay:EvpnTopologyEvpnOptionsUnderlay",
                    "description": "EVPN underlay BGP and subnet settings for the topology\n"
                },
                "vsInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/EvpnTopologyEvpnOptionsVsInstances:EvpnTopologyEvpnOptionsVsInstances"
                    },
                    "description": "Virtual-switch instance mappings used to segregate EVPN networks\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "autoLoopbackSubnet",
                        "autoLoopbackSubnet6",
                        "autoRouterIdSubnet",
                        "coreAsBorder",
                        "enableInbandZtp",
                        "perVlanVgaV4Mac",
                        "perVlanVgaV6Mac",
                        "routedAt"
                    ]
                }
            }
        },
        "junipermist:org/EvpnTopologyEvpnOptionsOverlay:EvpnTopologyEvpnOptionsOverlay": {
            "properties": {
                "as": {
                    "type": "integer",
                    "description": "Overlay BGP Local AS Number\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "as"
                    ]
                }
            }
        },
        "junipermist:org/EvpnTopologyEvpnOptionsUnderlay:EvpnTopologyEvpnOptionsUnderlay": {
            "properties": {
                "asBase": {
                    "type": "integer",
                    "description": "Underlay BGP Base AS Number\n"
                },
                "routedIdPrefix": {
                    "type": "string",
                    "description": "Prefix length used for automatically derived underlay router identifiers\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "Underlay subnet, by default, `10.255.240.0/20`, or `fd31:5700::/64` for ipv6\n"
                },
                "useIpv6": {
                    "type": "boolean",
                    "description": "If v6 is desired for underlay\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "asBase",
                        "useIpv6"
                    ]
                }
            }
        },
        "junipermist:org/EvpnTopologyEvpnOptionsVsInstances:EvpnTopologyEvpnOptionsVsInstances": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names included in this virtual-switch instance\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/EvpnTopologySwitches:EvpnTopologySwitches": {
            "properties": {
                "deviceprofileId": {
                    "type": "string",
                    "description": "Associated device profile identifier for the switch. Use the Assign Org Device Profile endpoint to assign a Device Profile to the switch.\n"
                },
                "downlinkIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP addresses used by this switch for EVPN downlinks\n"
                },
                "downlinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Switch MAC addresses connected as downlinks from this topology member\n"
                },
                "esilaglinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Switch MAC addresses connected through ESI-LAG from this topology member\n"
                },
                "evpnId": {
                    "type": "integer",
                    "description": "Topology identifier number for this EVPN switch member\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Switch MAC address used to identify the topology member\n"
                },
                "model": {
                    "type": "string",
                    "description": "Switch model for this topology member\n"
                },
                "pod": {
                    "type": "integer",
                    "description": "Optionally, for distribution / access / esilag-access, they can be placed into different pods. e.g. \n  * for CLOS, to group dist / access switches into pods\n  * for ERB/CRB, to group dist / esilag-access into pods\n"
                },
                "pods": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of pod numbers this switch participates in\n"
                },
                "role": {
                    "type": "string",
                    "description": "EVPN topology role for this switch\n"
                },
                "routerId": {
                    "type": "string",
                    "description": "Routing identifier used by this switch for EVPN routing\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Associated site for this EVPN topology switch\n"
                },
                "suggestedDownlinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Builder-suggested downlink switch MAC addresses\n"
                },
                "suggestedEsilaglinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Builder-suggested ESI-LAG switch MAC addresses\n"
                },
                "suggestedUplinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Builder-suggested uplink switch MAC addresses\n"
                },
                "uplinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Switch MAC addresses connected as uplinks from this topology member\n"
                }
            },
            "type": "object",
            "required": [
                "role"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "deviceprofileId",
                        "downlinkIps",
                        "downlinks",
                        "esilaglinks",
                        "evpnId",
                        "mac",
                        "model",
                        "pod",
                        "pods",
                        "role",
                        "routerId",
                        "siteId",
                        "suggestedDownlinks",
                        "suggestedEsilaglinks",
                        "suggestedUplinks",
                        "uplinks"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateBgpConfig:GatewaytemplateBgpConfig": {
            "properties": {
                "authKey": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e\n"
                },
                "bfdMinimumInterval": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, when\u003cspan pulumi-lang-nodejs=\" bfdMultiplier \" pulumi-lang-dotnet=\" BfdMultiplier \" pulumi-lang-go=\" bfdMultiplier \" pulumi-lang-python=\" bfd_multiplier \" pulumi-lang-yaml=\" bfdMultiplier \" pulumi-lang-java=\" bfdMultiplier \" pulumi-lang-hcl=\" bfd_multiplier \"\u003e bfdMultiplier \u003c/span\u003eis configured alone. Default:\n  * 1000 if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e\n  * 350 \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\" pulumi-lang-hcl=\"`internal`\"\u003e`internal`\u003c/span\u003e\n"
                },
                "bfdMultiplier": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, when\u003cspan pulumi-lang-nodejs=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-dotnet=\" BfdMinimumIntervalIsConfigured \" pulumi-lang-go=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-python=\" bfd_minimum_interval_is_configured \" pulumi-lang-yaml=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-java=\" bfdMinimumIntervalIsConfigured \" pulumi-lang-hcl=\" bfd_minimum_interval_is_configured \"\u003e bfdMinimumIntervalIsConfigured \u003c/span\u003ealone\n"
                },
                "disableBfd": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. BFD provides faster path failure detection and is enabled by default\n"
                },
                "export": {
                    "type": "string",
                    "description": "Routing policy applied to routes exported by this BGP session\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Default export policies if no per-neighbor policies defined\n"
                },
                "extendedV4Nexthop": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. By default, either inet/net6 unicast depending on neighbor IP family (v4 or v6). For v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this\n"
                },
                "gracefulRestartTime": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means disable\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Default is 90.\n"
                },
                "import": {
                    "type": "string",
                    "description": "Routing policy applied to routes imported by this BGP session\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Default import policies if no per-neighbor policies defined\n"
                },
                "localAs": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. BGPLocal AS. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`)\n"
                },
                "neighborAs": {
                    "type": "string",
                    "description": "Neighbor AS. If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\" pulumi-lang-hcl=\"`internal`\"\u003e`internal`\u003c/span\u003e, must be equal to \u003cspan pulumi-lang-nodejs=\"`localAs`\" pulumi-lang-dotnet=\"`LocalAs`\" pulumi-lang-go=\"`localAs`\" pulumi-lang-python=\"`local_as`\" pulumi-lang-yaml=\"`localAs`\" pulumi-lang-java=\"`localAs`\" pulumi-lang-hcl=\"`local_as`\"\u003e`localAs`\u003c/span\u003e. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`)\n"
                },
                "neighbors": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateBgpConfigNeighbors:GatewaytemplateBgpConfigNeighbors"
                    },
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. If per-neighbor as is desired. Property key is the neighbor address\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e; networks where BGP neighbors can connect to or from\n"
                },
                "noPrivateAs": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. If true, we will not advertise private ASNs (AS 64512-65534) to this neighbor\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. By default, we'll re-advertise all learned BGP routers toward overlay\n"
                },
                "tunnelName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e; tunnel name used for this BGP session\n"
                },
                "type": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e; BGP session type, internal or external\n"
                },
                "via": {
                    "type": "string",
                    "description": "Transport used for this BGP session, such as LAN, tunnel, VPN, or WAN\n"
                },
                "vpnName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e; VPN name used for this BGP session\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e; WAN interface name used for this BGP session\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/GatewaytemplateBgpConfigNeighbors:GatewaytemplateBgpConfigNeighbors": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "If true, the BGP session to this neighbor will be administratively disabled/shutdown\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Export policy applied only to this BGP neighbor\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "BGP hold time for this neighbor, in seconds\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Import policy applied only to this BGP neighbor\n"
                },
                "multihopTtl": {
                    "type": "integer",
                    "description": "Assuming BGP neighbor is directly connected\n"
                },
                "neighborAs": {
                    "type": "string",
                    "description": "Neighbor AS. Value must be in range 1-4294967295 or a variable (e.g. `{{as_variable}}`)\n"
                },
                "tunnelVia": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\" pulumi-lang-hcl=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e, primary or secondary tunnel associated with this BGP neighbor\n"
                }
            },
            "type": "object",
            "required": [
                "neighborAs"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled",
                        "neighborAs",
                        "tunnelVia"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateDhcpdConfig:GatewaytemplateDhcpdConfig": {
            "properties": {
                "config": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateDhcpdConfigConfig:GatewaytemplateDhcpdConfigConfig"
                    },
                    "description": "Property key is the network name\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, disable the DHCP server\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateDhcpdConfigConfig:GatewaytemplateDhcpdConfigConfig": {
            "properties": {
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, DNS servers advertised to DHCP clients\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, DNS search suffixes advertised to DHCP clients\n",
                    "deprecationMessage": "Configuring \u003cspan pulumi-lang-nodejs=\"`dnsSuffix`\" pulumi-lang-dotnet=\"`DnsSuffix`\" pulumi-lang-go=\"`dnsSuffix`\" pulumi-lang-python=\"`dns_suffix`\" pulumi-lang-yaml=\"`dnsSuffix`\" pulumi-lang-java=\"`dnsSuffix`\" pulumi-lang-hcl=\"`dns_suffix`\"\u003e`dnsSuffix`\u003c/span\u003e is deprecated and will not be supported in the future, please configure Code 15 or Code 119 in Server \u003cspan pulumi-lang-nodejs=\"`options`\" pulumi-lang-dotnet=\"`Options`\" pulumi-lang-go=\"`options`\" pulumi-lang-python=\"`options`\" pulumi-lang-yaml=\"`options`\" pulumi-lang-java=\"`options`\" pulumi-lang-hcl=\"`options`\"\u003e`options`\u003c/span\u003e instead"
                },
                "fixedBindings": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateDhcpdConfigConfigFixedBindings:GatewaytemplateDhcpdConfigConfigFixedBindings"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, fixed client bindings for local DHCP service\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e - optional, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\" pulumi-lang-hcl=\"`ip`\"\u003e`ip`\u003c/span\u003e will be used if not provided\n"
                },
                "ip6End": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, ending IPv6 address for the DHCP lease pool\n"
                },
                "ip6Start": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, starting IPv6 address for the DHCP lease pool\n"
                },
                "ipEnd": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, ending IPv4 address for the DHCP lease pool\n"
                },
                "ipStart": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, starting IPv4 address for the DHCP lease pool\n"
                },
                "leaseTime": {
                    "type": "integer",
                    "description": "In seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]\n"
                },
                "options": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateDhcpdConfigConfigOptions:GatewaytemplateDhcpdConfigConfigOptions"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, custom DHCP options advertised to clients\n"
                },
                "serverIdOverride": {
                    "type": "boolean",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`serverIdOverride`\" pulumi-lang-dotnet=\"`ServerIdOverride`\" pulumi-lang-go=\"`serverIdOverride`\" pulumi-lang-python=\"`server_id_override`\" pulumi-lang-yaml=\"`serverIdOverride`\" pulumi-lang-java=\"`serverIdOverride`\" pulumi-lang-hcl=\"`server_id_override`\"\u003e`serverIdOverride`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, \nshould overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv4 DHCP servers\n"
                },
                "serversv6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`relay`\" pulumi-lang-dotnet=\"`Relay`\" pulumi-lang-go=\"`relay`\" pulumi-lang-python=\"`relay`\" pulumi-lang-yaml=\"`relay`\" pulumi-lang-java=\"`relay`\" pulumi-lang-hcl=\"`relay`\"\u003e`relay`\u003c/span\u003e, upstream IPv6 DHCP servers\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 DHCP mode for this network\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 DHCP mode for this network\n"
                },
                "vendorEncapsulated": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateDhcpdConfigConfigVendorEncapsulated:GatewaytemplateDhcpdConfigConfigVendorEncapsulated"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, vendor-encapsulated DHCP options advertised to clients\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateDhcpdConfigConfigFixedBindings:GatewaytemplateDhcpdConfigConfigFixedBindings": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Reserved IPv4 address for this fixed DHCP binding\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Reserved IPv6 address for this fixed DHCP binding\n"
                },
                "name": {
                    "type": "string",
                    "description": "Friendly name for this fixed DHCP binding\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateDhcpdConfigConfigOptions:GatewaytemplateDhcpdConfigConfigOptions": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this DHCP option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this DHCP option\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateDhcpdConfigConfigVendorEncapsulated:GatewaytemplateDhcpdConfigConfigVendorEncapsulated": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Data type used to encode this vendor option value\n"
                },
                "value": {
                    "type": "string",
                    "description": "Option value to send for this vendor option\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateExtraRoutes6:GatewaytemplateExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv6 address for the gateway extra route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/GatewaytemplateExtraRoutes:GatewaytemplateExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv4 address for the gateway extra route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/GatewaytemplateGatewayMgmt:GatewaytemplateGatewayMgmt": {
            "properties": {
                "adminSshkeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSR-only SSH public keys for administrative access\n"
                },
                "appProbing": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateGatewayMgmtAppProbing:GatewaytemplateGatewayMgmtAppProbing",
                    "description": "Application probing configuration for gateway monitoring\n"
                },
                "appUsage": {
                    "type": "boolean",
                    "description": "Consumes uplink bandwidth, requires WA license\n"
                },
                "autoSignatureUpdate": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateGatewayMgmtAutoSignatureUpdate:GatewaytemplateGatewayMgmtAutoSignatureUpdate",
                    "description": "Schedule for automatic security signature updates\n"
                },
                "configRevertTimer": {
                    "type": "integer",
                    "description": "Rollback timer for commit confirmed\n"
                },
                "disableConsole": {
                    "type": "boolean",
                    "description": "For SSR and SRX, disable console port\n"
                },
                "disableOob": {
                    "type": "boolean",
                    "description": "For SSR and SRX, disable management interface\n"
                },
                "disableUsb": {
                    "type": "boolean",
                    "description": "For SSR and SRX, disable usb interface\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the gateway\n"
                },
                "probeHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IPv4 probe targets used for gateway connectivity checks\n"
                },
                "probeHostsv6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IPv6 probe targets used for gateway connectivity checks\n"
                },
                "protectRe": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateGatewayMgmtProtectRe:GatewaytemplateGatewayMgmtProtectRe",
                    "description": "Control-plane protection settings for the gateway\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "SRX only. Root password for local gateway access\n",
                    "secret": true
                },
                "securityLogSourceAddress": {
                    "type": "string",
                    "description": "IPv4 source address used for gateway security log traffic\n"
                },
                "securityLogSourceInterface": {
                    "type": "string",
                    "description": "Source interface used for gateway security log traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "configRevertTimer",
                        "disableConsole",
                        "disableOob",
                        "disableUsb",
                        "fipsEnabled"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateGatewayMgmtAppProbing:GatewaytemplateGatewayMgmtAppProbing": {
            "properties": {
                "apps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Predefined application keys to probe\n"
                },
                "customApps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateGatewayMgmtAppProbingCustomApp:GatewaytemplateGatewayMgmtAppProbingCustomApp"
                    },
                    "description": "User-defined application probe definitions\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether gateway application probing is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateGatewayMgmtAppProbingCustomApp:GatewaytemplateGatewayMgmtAppProbingCustomApp": {
            "properties": {
                "address": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e. IP address probed by the ICMP custom app\n"
                },
                "appType": {
                    "type": "string",
                    "description": "Category label used for this custom application probe\n"
                },
                "hostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e. Hostnames or URLs probed by this custom app\n"
                },
                "key": {
                    "type": "string",
                    "description": "Stable key used to identify this custom application probe\n",
                    "secret": true
                },
                "name": {
                    "type": "string",
                    "description": "Display name for this custom application probe\n"
                },
                "network": {
                    "type": "string",
                    "description": "Gateway network used as the source context for this probe\n"
                },
                "packetSize": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e. ICMP packet size used by this custom app probe\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Probe protocol used by this custom application definition\n"
                },
                "url": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e. HTTP URL or hostname probed by this custom app\n"
                },
                "vrf": {
                    "type": "string",
                    "description": "Gateway VRF used as the source context for this probe\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateGatewayMgmtAutoSignatureUpdate:GatewaytemplateGatewayMgmtAutoSignatureUpdate": {
            "properties": {
                "dayOfWeek": {
                    "type": "string",
                    "description": "Scheduled weekday for automatic signature updates\n"
                },
                "enable": {
                    "type": "boolean",
                    "description": "Whether automatic security signature updates are enabled\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "Optional, Mist will decide the timing\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enable"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateGatewayMgmtProtectRe:GatewaytemplateGatewayMgmtProtectRe": {
            "properties": {
                "allowedServices": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Built-in services explicitly allowed by the Protect RE policy\n"
                },
                "customs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateGatewayMgmtProtectReCustom:GatewaytemplateGatewayMgmtProtectReCustom"
                    },
                    "description": "Additional ACL entries allowed by the Protect RE policy\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled, all traffic that is not essential to our operation will be dropped\ne.g. ntp / dns / traffic to mist will be allowed by default\n     if dhcpd is enabled, we'll make sure it works\n"
                },
                "hitCount": {
                    "type": "boolean",
                    "description": "Whether to enable hit count for Protect_RE policy\n"
                },
                "trustedHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trusted host or subnet entries allowed by the Protect RE policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateGatewayMgmtProtectReCustom:GatewaytemplateGatewayMgmtProtectReCustom": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Matched dst port, \"0\" means any\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Transport protocol matched by this custom Protect RE ACL\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source subnets matched by this custom Protect RE ACL\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateIdpProfiles:GatewaytemplateIdpProfiles": {
            "properties": {
                "baseProfile": {
                    "type": "string",
                    "description": "Built-in IDP baseline profile inherited before applying overwrites\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the IDP profile\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization for the IDP profile\n"
                },
                "overwrites": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateIdpProfilesOverwrite:GatewaytemplateIdpProfilesOverwrite"
                    },
                    "description": "IDP signature override rules applied on top of the base profile\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateIdpProfilesOverwrite:GatewaytemplateIdpProfilesOverwrite": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Enforcement action applied when this overwrite rule matches\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateIdpProfilesOverwriteMatching:GatewaytemplateIdpProfilesOverwriteMatching",
                    "description": "Criteria that select signatures for this overwrite rule\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for this IDP profile overwrite rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateIdpProfilesOverwriteMatching:GatewaytemplateIdpProfilesOverwriteMatching": {
            "properties": {
                "attackNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Signature names matched by the IDP profile overwrite\n"
                },
                "dstSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination subnets matched by the IDP profile overwrite\n"
                },
                "severities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Threat levels matched by the IDP profile overwrite\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateIpConfigs:GatewaytemplateIpConfigs": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Static IPv6 address for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "IPv4 netmask or prefix length for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "IPv6 netmask or prefix length for the gateway network interface when \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "secondaryIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional IPv4 addresses in CIDR notation for this gateway network interface\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for this gateway network interface\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for this gateway network interface\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "secondaryIps",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateNetwork:GatewaytemplateNetwork": {
            "properties": {
                "disallowMistServices": {
                    "type": "boolean",
                    "description": "Whether to disallow Mist Devices in the network\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "IPv4 gateway address for this network\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "IPv6 gateway address for this network\n"
                },
                "internalAccess": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateNetworkInternalAccess:GatewaytemplateNetworkInternalAccess",
                    "description": "Internal access settings for this network\n"
                },
                "internetAccess": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateNetworkInternetAccess:GatewaytemplateNetworkInternetAccess",
                    "description": "Direct internet access and NAT settings for this network\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to allow clients in the network to talk to each other\n"
                },
                "multicast": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateNetworkMulticast:GatewaytemplateNetworkMulticast",
                    "description": "Settings for multicast routing on this network\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the organization network\n"
                },
                "routedForNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Other network names this network can route to, for example through BGP, OSPF or static routes\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "IPv4 subnet CIDR for this network\n"
                },
                "subnet6": {
                    "type": "string",
                    "description": "IPv6 subnet CIDR for this network\n"
                },
                "tenants": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateNetworkTenants:GatewaytemplateNetworkTenants"
                    },
                    "description": "Tenant address mappings associated with this network\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID or variable associated with this network\n"
                },
                "vpnAccess": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateNetworkVpnAccess:GatewaytemplateNetworkVpnAccess"
                    },
                    "description": "VPN access settings keyed by VPN name for this network\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "subnet"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disallowMistServices",
                        "name",
                        "subnet"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateNetworkInternalAccess:GatewaytemplateNetworkInternalAccess": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether internal access is enabled for this network\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateNetworkInternetAccess:GatewaytemplateNetworkInternetAccess": {
            "properties": {
                "createSimpleServicePolicy": {
                    "type": "boolean",
                    "description": "Whether Mist should create simple service policies for restricted internet access\n"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateNetworkInternetAccessDestinationNat:GatewaytemplateNetworkInternetAccessDestinationNat"
                    },
                    "description": "Destination NAT rules for direct internet access\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether direct internet access is enabled for this network\n"
                },
                "restricted": {
                    "type": "boolean",
                    "description": "By default, all access is allowed, to only allow certain traffic, make \u003cspan pulumi-lang-nodejs=\"`restricted`\" pulumi-lang-dotnet=\"`Restricted`\" pulumi-lang-go=\"`restricted`\" pulumi-lang-python=\"`restricted`\" pulumi-lang-yaml=\"`restricted`\" pulumi-lang-java=\"`restricted`\" pulumi-lang-hcl=\"`restricted`\"\u003e`restricted`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and define service_policies\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateNetworkInternetAccessStaticNat:GatewaytemplateNetworkInternetAccessStaticNat"
                    },
                    "description": "Static NAT rules for direct internet access\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "createSimpleServicePolicy",
                        "restricted"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateNetworkInternetAccessDestinationNat:GatewaytemplateNetworkInternetAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this direct internet destination NAT rule\n"
                },
                "port": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be a Port (i.e. \"443\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateNetworkInternetAccessStaticNat:GatewaytemplateNetworkInternetAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP address. Must be an IP address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this direct internet static NAT rule\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity. Can be a Variable (i.e. \"{{myvar}}\")\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name"
            ]
        },
        "junipermist:org/GatewaytemplateNetworkMulticast:GatewaytemplateNetworkMulticast": {
            "properties": {
                "disableIgmp": {
                    "type": "boolean",
                    "description": "If the network will only be the source of the multicast traffic, IGMP can be disabled\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether multicast support is enabled for this network\n"
                },
                "groups": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateNetworkMulticastGroups:GatewaytemplateNetworkMulticastGroups"
                    },
                    "description": "Multicast group-to-RP mappings for this network\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableIgmp"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateNetworkMulticastGroups:GatewaytemplateNetworkMulticastGroups": {
            "properties": {
                "rpIp": {
                    "type": "string",
                    "description": "RP (rendezvous point) IP address\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateNetworkTenants:GatewaytemplateNetworkTenants": {
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP addresses or subnets assigned to this tenant in the network\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateNetworkVpnAccess:GatewaytemplateNetworkVpnAccess": {
            "properties": {
                "advertisedSubnet": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to advertise an aggregated subnet toward HUB this is useful when there are multiple networks on SPOKE's side\n"
                },
                "allowPing": {
                    "type": "boolean",
                    "description": "Whether to allow ping from vpn into this routed network\n"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateNetworkVpnAccessDestinationNat:GatewaytemplateNetworkVpnAccessDestinationNat"
                    },
                    "description": "Destination NAT rules applied for VPN access to this network\n"
                },
                "natPool": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (usually at Spoke), but some hosts needs to be reachable from Hub, a subnet is required to create and advertise the route to Hub\n"
                },
                "noReadvertiseToLanBgp": {
                    "type": "boolean",
                    "description": "toward LAN-side BGP peers\n"
                },
                "noReadvertiseToLanOspf": {
                    "type": "boolean",
                    "description": "toward LAN-side OSPF peers\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "otherVrfs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Other VRFs that can receive leaked routes from this spoke network\n"
                },
                "routed": {
                    "type": "boolean",
                    "description": "Whether this network is routable\n"
                },
                "sourceNat": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateNetworkVpnAccessSourceNat:GatewaytemplateNetworkVpnAccessSourceNat",
                    "description": "Source NAT settings used when non-routed spoke hosts must be reachable from the hub\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateNetworkVpnAccessStaticNat:GatewaytemplateNetworkVpnAccessStaticNat"
                    },
                    "description": "Static NAT rules applied for VPN access to this network\n"
                },
                "summarizedSubnet": {
                    "type": "string",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "summarizedSubnetToLanBgp": {
                    "type": "string",
                    "description": "toward LAN-side BGP peers\n"
                },
                "summarizedSubnetToLanOspf": {
                    "type": "string",
                    "description": "toward LAN-side OSPF peers\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "noReadvertiseToLanBgp",
                        "noReadvertiseToLanOspf",
                        "otherVrfs",
                        "sourceNat",
                        "staticNat"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateNetworkVpnAccessDestinationNat:GatewaytemplateNetworkVpnAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this VPN destination NAT rule\n"
                },
                "port": {
                    "type": "string",
                    "description": "Destination port or variable for this VPN destination NAT rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateNetworkVpnAccessSourceNat:GatewaytemplateNetworkVpnAccessSourceNat": {
            "properties": {
                "externalIp": {
                    "type": "string",
                    "description": "External source NAT IP or subnet used when spoke hosts must be reachable from the hub\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateNetworkVpnAccessStaticNat:GatewaytemplateNetworkVpnAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP address. Must be an IP address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this VPN static NAT rule\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name"
            ]
        },
        "junipermist:org/GatewaytemplateOobIpConfig:GatewaytemplateOobIpConfig": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Default gateway for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "IPv4 netmask or prefix length for the out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "node1": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateOobIpConfigNode1:GatewaytemplateOobIpConfigNode1",
                    "description": "Out-of-band management IP configuration override for node1 in an HA cluster\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for the out-of-band management interface\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "For host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID used for out-of-band management traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "node1",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateOobIpConfigNode1:GatewaytemplateOobIpConfigNode1": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Default gateway for the node1 out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Static IPv4 address for the node1 out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "IPv4 netmask or prefix length for the node1 out-of-band management interface when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e; used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for the node1 out-of-band management interface\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "Whether to use \u003cspan pulumi-lang-nodejs=\"`mgmtJunos`\" pulumi-lang-dotnet=\"`MgmtJunos`\" pulumi-lang-go=\"`mgmtJunos`\" pulumi-lang-python=\"`mgmt_junos`\" pulumi-lang-yaml=\"`mgmtJunos`\" pulumi-lang-java=\"`mgmtJunos`\" pulumi-lang-hcl=\"`mgmt_junos`\"\u003e`mgmtJunos`\u003c/span\u003e for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID used for node1 out-of-band management traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplatePathPreferences:GatewaytemplatePathPreferences": {
            "properties": {
                "paths": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplatePathPreferencesPath:GatewaytemplatePathPreferencesPath"
                    },
                    "description": "Candidate paths evaluated for this gateway path preference\n"
                },
                "strategy": {
                    "type": "string",
                    "description": "Selection strategy used to evaluate the candidate paths\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "strategy"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplatePathPreferencesPath:GatewaytemplatePathPreferencesPath": {
            "properties": {
                "cost": {
                    "type": "integer",
                    "description": "Relative cost assigned to this path for gateway path selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "For SSR Only. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, if this specific path is undesired\n"
                },
                "gatewayIp": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, if a different gateway is desired\n"
                },
                "internetAccess": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e, if this vpn path can be used for internet\n"
                },
                "name": {
                    "type": "string",
                    "description": "Required when \n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e: the name of the VPN Path to use \n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e: the name of the WAN interface to use\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e\n"
                },
                "targetIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of destination IP addresses to replace when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "Gateway path source type, such as local network, WAN interface, VPN path, or tunnel\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e; WAN interface name associated with the VPN path\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "junipermist:org/GatewaytemplatePortConfig:GatewaytemplatePortConfig": {
            "properties": {
                "aeDisableLacp": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. To disable LCP support for the AE interface\n"
                },
                "aeIdx": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Users could force to use the designated AE name (must be an integer between 0 and 127)\n"
                },
                "aeLacpForceUp": {
                    "type": "boolean",
                    "description": "For SRX only, if \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.Sets the state of the interface as UP when the peer has limited LACP capability. Use case: When a device connected to this AE port is ZTPing for the first time, it will not have LACP configured on the other end. **Note:** Turning this on will enable force-up on one of the interfaces in the bundle only\n"
                },
                "aggregated": {
                    "type": "boolean",
                    "description": "Whether the port participates in an aggregated Ethernet interface\n"
                },
                "critical": {
                    "type": "boolean",
                    "description": "To generate port up/down alarm, set it to true\n"
                },
                "description": {
                    "type": "string",
                    "description": "Interface Description. Can be a variable (i.e. \"{{myvar}}\")\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "Whether Ethernet autonegotiation is disabled on the port\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Port admin up (true) / down (false)\n"
                },
                "dslType": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dsl`\" pulumi-lang-dotnet=\"`Dsl`\" pulumi-lang-go=\"`dsl`\" pulumi-lang-python=\"`dsl`\" pulumi-lang-yaml=\"`dsl`\" pulumi-lang-java=\"`dsl`\" pulumi-lang-hcl=\"`dsl`\"\u003e`dsl`\u003c/span\u003e. DSL technology used by the WAN port\n"
                },
                "dslVci": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dsl`\" pulumi-lang-dotnet=\"`Dsl`\" pulumi-lang-go=\"`dsl`\" pulumi-lang-python=\"`dsl`\" pulumi-lang-yaml=\"`dsl`\" pulumi-lang-java=\"`dsl`\" pulumi-lang-hcl=\"`dsl`\"\u003e`dsl`\u003c/span\u003e, 16 bit int\n"
                },
                "dslVpi": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dsl`\" pulumi-lang-dotnet=\"`Dsl`\" pulumi-lang-go=\"`dsl`\" pulumi-lang-python=\"`dsl`\" pulumi-lang-yaml=\"`dsl`\" pulumi-lang-java=\"`dsl`\" pulumi-lang-hcl=\"`dsl`\"\u003e`dsl`\u003c/span\u003e, 8 bit int\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Ethernet duplex mode configured on the port\n"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:org/GatewaytemplatePortConfigIpConfig:GatewaytemplatePortConfigIpConfig",
                    "description": "Layer 3 IP configuration for the port\n"
                },
                "lteApn": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. APN used by the LTE uplink\n"
                },
                "lteAuth": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. Authentication method used by the LTE uplink\n"
                },
                "lteBackup": {
                    "type": "boolean",
                    "description": "Whether the LTE uplink is used as a backup WAN connection\n"
                },
                "ltePassword": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. Password used for LTE uplink authentication\n",
                    "secret": true
                },
                "lteUsername": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e. Username used for LTE uplink authentication\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Layer 3 MTU configured on the port\n"
                },
                "name": {
                    "type": "string",
                    "description": "Interface name used to derive device configuration\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, name of the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Network`\" pulumi-lang-dotnet=\"`junipermist.org.Network`\" pulumi-lang-go=\"`org.Network`\" pulumi-lang-python=\"`org.Network`\" pulumi-lang-yaml=\"`junipermist.org.Network`\" pulumi-lang-java=\"`junipermist.org.Network`\" pulumi-lang-hcl=\"`mist_org_network`\"\u003e`junipermist.org.Network`\u003c/span\u003e resource\n"
                },
                "outerVlanId": {
                    "type": "integer",
                    "description": "For Q-in-Q. Outer VLAN ID used for QinQ encapsulation\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Whether PoE output is disabled on the port\n"
                },
                "poeKeepStateWhenReboot": {
                    "type": "boolean",
                    "description": "Whether Perpetual PoE capabilities are enabled for a port\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Only for SRX and if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`lan`\" pulumi-lang-dotnet=\"`Lan`\" pulumi-lang-go=\"`lan`\" pulumi-lang-python=\"`lan`\" pulumi-lang-yaml=\"`lan`\" pulumi-lang-java=\"`lan`\" pulumi-lang-hcl=\"`lan`\"\u003e`lan`\u003c/span\u003e, the name of the Network to be used as the Untagged VLAN\n"
                },
                "preserveDscp": {
                    "type": "boolean",
                    "description": "Whether to preserve dscp when sending traffic over VPN (SSR-only)\n"
                },
                "redundant": {
                    "type": "boolean",
                    "description": "If HA mode. Whether the port participates in the redundant Ethernet configuration\n"
                },
                "redundantGroup": {
                    "type": "integer",
                    "description": "If HA mode, SRX Only - support redundancy-group. 1-128 for physical SRX, 1-64 for virtual SRX\n"
                },
                "rethIdx": {
                    "type": "string",
                    "description": "For SRX only and if HA Mode\n"
                },
                "rethNode": {
                    "type": "string",
                    "description": "If HA mode. Node associated with the redundant Ethernet interface\n"
                },
                "rethNodes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If HA mode and for SSR only. Per-network node assignment used for VLAN-based redundancy\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Link speed configured on the port\n"
                },
                "ssrNoVirtualMac": {
                    "type": "boolean",
                    "description": "When SSR is running as VM, this is required on certain hosting platforms\n"
                },
                "svrPortRange": {
                    "type": "string",
                    "description": "For SSR only. Port range configured on the interface\n"
                },
                "trafficShaping": {
                    "$ref": "#/types/junipermist:org/GatewaytemplatePortConfigTrafficShaping:GatewaytemplatePortConfigTrafficShaping",
                    "description": "Traffic shaping settings applied to the port\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Logical usage assigned to the port\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID or variable used when the WAN interface is carried on a VLAN\n"
                },
                "vpnPaths": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplatePortConfigVpnPaths:GatewaytemplatePortConfigVpnPaths"
                    },
                    "description": "Per-VPN path settings for traffic that uses this port\n"
                },
                "wanArpPolicer": {
                    "type": "string",
                    "description": "Only when \u003cspan pulumi-lang-nodejs=\"`wanType`\" pulumi-lang-dotnet=\"`WanType`\" pulumi-lang-go=\"`wanType`\" pulumi-lang-python=\"`wan_type`\" pulumi-lang-yaml=\"`wanType`\" pulumi-lang-java=\"`wanType`\" pulumi-lang-hcl=\"`wan_type`\"\u003e`wanType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadband`\" pulumi-lang-dotnet=\"`Broadband`\" pulumi-lang-go=\"`broadband`\" pulumi-lang-python=\"`broadband`\" pulumi-lang-yaml=\"`broadband`\" pulumi-lang-java=\"`broadband`\" pulumi-lang-hcl=\"`broadband`\"\u003e`broadband`\u003c/span\u003e. ARP policer profile applied to the WAN port\n"
                },
                "wanExtIp": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, optional. If spoke should reach this port by a different IP\n"
                },
                "wanExtIp6": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e, optional. If spoke should reach this port by a different IPv6\n"
                },
                "wanExtraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplatePortConfigWanExtraRoutes:GatewaytemplatePortConfigWanExtraRoutes"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Property Key is the destination CIDR (e.g. \"100.100.100.0/24\")\n"
                },
                "wanExtraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplatePortConfigWanExtraRoutes6:GatewaytemplatePortConfigWanExtraRoutes6"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Property Key is the destination CIDR (e.g. \"2a02:1234:420a:10c9::/64\")\n"
                },
                "wanNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. Networks reachable through this WAN port for policy definition\n"
                },
                "wanProbeOverride": {
                    "$ref": "#/types/junipermist:org/GatewaytemplatePortConfigWanProbeOverride:GatewaytemplatePortConfigWanProbeOverride",
                    "description": "Optional WAN health probe override settings for this port\n"
                },
                "wanSourceNat": {
                    "$ref": "#/types/junipermist:org/GatewaytemplatePortConfigWanSourceNat:GatewaytemplatePortConfigWanSourceNat",
                    "description": "Source NAT settings applied to traffic leaving this WAN port\n"
                },
                "wanSpeedtestMode": {
                    "type": "string",
                    "description": "Controls whether Marvis or the scheduler can run speed tests on this WAN port\n"
                },
                "wanType": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wan`\" pulumi-lang-dotnet=\"`Wan`\" pulumi-lang-go=\"`wan`\" pulumi-lang-python=\"`wan`\" pulumi-lang-yaml=\"`wan`\" pulumi-lang-java=\"`wan`\" pulumi-lang-hcl=\"`wan`\"\u003e`wan`\u003c/span\u003e. WAN uplink type configured on the port\n"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled",
                        "usage",
                        "wanSpeedtestMode"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplatePortConfigIpConfig:GatewaytemplatePortConfigIpConfig": {
            "properties": {
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Resolver server IP addresses used by this interface, except on out-of-band interfaces such as vme, em0, or fxp0\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes used by this interface, except on out-of-band interfaces such as vme, em0, or fxp0\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "Except for out-of_band interface (vme/em0/fxp0). Interface Default Gateway IP address (i.e. \"192.168.1.1\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "Except for out-of_band interface (vme/em0/fxp0). Interface Default Gateway IPv6 Address (i.e. \"2001:db8::1\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Interface IP address (i.e. \"192.168.1.8\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Interface IPv6 Address (i.e. \"2001:db8::123\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e. Interface Netmask (i.e. \"/24\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "Used only if \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e is not specified in \u003cspan pulumi-lang-nodejs=\"`networks`\" pulumi-lang-dotnet=\"`Networks`\" pulumi-lang-go=\"`networks`\" pulumi-lang-python=\"`networks`\" pulumi-lang-yaml=\"`networks`\" pulumi-lang-java=\"`networks`\" pulumi-lang-hcl=\"`networks`\"\u003e`networks`\u003c/span\u003e. Interface IPv6 Netmask (i.e. \"/64\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "network": {
                    "type": "string",
                    "description": "Optional, the network to be used for mgmt\n"
                },
                "poserPassword": {
                    "type": "string",
                    "description": "Password used for PPPoE when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pppoe`\" pulumi-lang-dotnet=\"`Pppoe`\" pulumi-lang-go=\"`pppoe`\" pulumi-lang-python=\"`pppoe`\" pulumi-lang-yaml=\"`pppoe`\" pulumi-lang-java=\"`pppoe`\" pulumi-lang-hcl=\"`pppoe`\"\u003e`pppoe`\u003c/span\u003e\n",
                    "secret": true
                },
                "pppoeAuth": {
                    "type": "string",
                    "description": "Authentication protocol used for PPPoE when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pppoe`\" pulumi-lang-dotnet=\"`Pppoe`\" pulumi-lang-go=\"`pppoe`\" pulumi-lang-python=\"`pppoe`\" pulumi-lang-yaml=\"`pppoe`\" pulumi-lang-java=\"`pppoe`\" pulumi-lang-hcl=\"`pppoe`\"\u003e`pppoe`\u003c/span\u003e\n"
                },
                "pppoeUsername": {
                    "type": "string",
                    "description": "Username used for PPPoE when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pppoe`\" pulumi-lang-dotnet=\"`Pppoe`\" pulumi-lang-go=\"`pppoe`\" pulumi-lang-python=\"`pppoe`\" pulumi-lang-yaml=\"`pppoe`\" pulumi-lang-java=\"`pppoe`\" pulumi-lang-hcl=\"`pppoe`\"\u003e`pppoe`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 assignment mode for this gateway port interface\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 assignment mode for this gateway port interface\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplatePortConfigTrafficShaping:GatewaytemplatePortConfigTrafficShaping": {
            "properties": {
                "classPercentages": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Traffic class bandwidth percentages for high, medium, low, and best-effort queues\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether traffic shaping is enabled\n"
                },
                "maxTxKbps": {
                    "type": "integer",
                    "description": "Maximum transmit bandwidth for the interface, in Kbps\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplatePortConfigVpnPaths:GatewaytemplatePortConfigVpnPaths": {
            "properties": {
                "bfdProfile": {
                    "type": "string",
                    "description": "BFD profile used for this VPN path when the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e\n"
                },
                "bfdUseTunnelMode": {
                    "type": "boolean",
                    "description": "Only if the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e. Whether to use tunnel mode. SSR only\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Only if the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e. For a given VPN, when `path_selection.strategy`==\u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e, the preference for a path (lower is preferred)\n"
                },
                "role": {
                    "type": "string",
                    "description": "Gateway role for this VPN path; valid values depend on the VPN \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e\n"
                },
                "trafficShaping": {
                    "$ref": "#/types/junipermist:org/GatewaytemplatePortConfigVpnPathsTrafficShaping:GatewaytemplatePortConfigVpnPathsTrafficShaping",
                    "description": "Traffic shaping settings applied to this VPN path\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplatePortConfigVpnPathsTrafficShaping:GatewaytemplatePortConfigVpnPathsTrafficShaping": {
            "properties": {
                "classPercentages": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Traffic class bandwidth percentages for high, medium, low, and best-effort queues\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether traffic shaping is enabled\n"
                },
                "maxTxKbps": {
                    "type": "integer",
                    "description": "Maximum transmit bandwidth for the interface, in Kbps\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplatePortConfigWanExtraRoutes6:GatewaytemplatePortConfigWanExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv6 next-hop address for this WAN extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplatePortConfigWanExtraRoutes:GatewaytemplatePortConfigWanExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv4 next-hop address for this WAN extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplatePortConfigWanProbeOverride:GatewaytemplatePortConfigWanProbeOverride": {
            "properties": {
                "ip6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of IPv6 probe host addresses used by this WAN override\n"
                },
                "ips": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of IPv4 probe host addresses used by this WAN override\n"
                },
                "probeProfile": {
                    "type": "string",
                    "description": "WAN probe profile used for health checks on this port\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplatePortConfigWanSourceNat:GatewaytemplatePortConfigWanSourceNat": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Or to disable the source-nat\n"
                },
                "nat6Pool": {
                    "type": "string",
                    "description": "If alternative\u003cspan pulumi-lang-nodejs=\" natPool \" pulumi-lang-dotnet=\" NatPool \" pulumi-lang-go=\" natPool \" pulumi-lang-python=\" nat_pool \" pulumi-lang-yaml=\" natPool \" pulumi-lang-java=\" natPool \" pulumi-lang-hcl=\" nat_pool \"\u003e natPool \u003c/span\u003eis desired\n"
                },
                "natPool": {
                    "type": "string",
                    "description": "If alternative\u003cspan pulumi-lang-nodejs=\" natPool \" pulumi-lang-dotnet=\" NatPool \" pulumi-lang-go=\" natPool \" pulumi-lang-python=\" nat_pool \" pulumi-lang-yaml=\" natPool \" pulumi-lang-java=\" natPool \" pulumi-lang-hcl=\" nat_pool \"\u003e natPool \u003c/span\u003eis desired\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateRoutingPolicies:GatewaytemplateRoutingPolicies": {
            "properties": {
                "terms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateRoutingPoliciesTerm:GatewaytemplateRoutingPoliciesTerm"
                    },
                    "description": "Ordered terms evaluated by this gateway routing policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateRoutingPoliciesTerm:GatewaytemplateRoutingPoliciesTerm": {
            "properties": {
                "actions": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateRoutingPoliciesTermActions:GatewaytemplateRoutingPoliciesTermActions",
                    "description": "Policy actions applied when this routing policy term matches\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateRoutingPoliciesTermMatching:GatewaytemplateRoutingPoliciesTermMatching",
                    "description": "Route match criteria that must be satisfied before actions are applied\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateRoutingPoliciesTermActions:GatewaytemplateRoutingPoliciesTermActions": {
            "properties": {
                "accept": {
                    "type": "boolean",
                    "description": "Whether to accept routes that match this term\n"
                },
                "addCommunities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to add to routes that match this term\n"
                },
                "addTargetVrfs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSR target VRFs to add when leaking routes from hub to spoke\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to set when this term is used as an export policy\n"
                },
                "excludeAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AS path values to exclude when this term is used as an export policy\n"
                },
                "excludeCommunities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to exclude from routes that match this term\n"
                },
                "exportCommunities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities allowed for export when this term is used as an export policy\n"
                },
                "localPreference": {
                    "type": "string",
                    "description": "Preference value to set when this term is used as an import policy\n"
                },
                "prependAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AS path values to prepend when this term is used as an export policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateRoutingPoliciesTermMatching:GatewaytemplateRoutingPoliciesTermMatching": {
            "properties": {
                "asPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities that routes must match\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Configured network names that routes must match\n"
                },
                "prefixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Route prefixes that routes must match\n"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`aggregate`\" pulumi-lang-dotnet=\"`Aggregate`\" pulumi-lang-go=\"`aggregate`\" pulumi-lang-python=\"`aggregate`\" pulumi-lang-yaml=\"`aggregate`\" pulumi-lang-java=\"`aggregate`\" pulumi-lang-hcl=\"`aggregate`\"\u003e`aggregate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\" pulumi-lang-hcl=\"`bgp`\"\u003e`bgp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`direct`\" pulumi-lang-dotnet=\"`Direct`\" pulumi-lang-go=\"`direct`\" pulumi-lang-python=\"`direct`\" pulumi-lang-yaml=\"`direct`\" pulumi-lang-java=\"`direct`\" pulumi-lang-hcl=\"`direct`\"\u003e`direct`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ospf`\" pulumi-lang-dotnet=\"`Ospf`\" pulumi-lang-go=\"`ospf`\" pulumi-lang-python=\"`ospf`\" pulumi-lang-yaml=\"`ospf`\" pulumi-lang-java=\"`ospf`\" pulumi-lang-hcl=\"`ospf`\"\u003e`ospf`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e (SRX Only)\n"
                },
                "routeExists": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateRoutingPoliciesTermMatchingRouteExists:GatewaytemplateRoutingPoliciesTermMatchingRouteExists",
                    "description": "Existing route condition that must be satisfied before this term matches\n"
                },
                "vpnNeighborMacs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Overlay neighbor MAC addresses used as match criteria for BGP sessions with \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e\n"
                },
                "vpnPathSla": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateRoutingPoliciesTermMatchingVpnPathSla:GatewaytemplateRoutingPoliciesTermMatchingVpnPathSla",
                    "description": "SLA thresholds used when matching a VPN path\n"
                },
                "vpnPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Overlay path names used as match criteria for BGP sessions with \u003cspan pulumi-lang-nodejs=\"`via`\" pulumi-lang-dotnet=\"`Via`\" pulumi-lang-go=\"`via`\" pulumi-lang-python=\"`via`\" pulumi-lang-yaml=\"`via`\" pulumi-lang-java=\"`via`\" pulumi-lang-hcl=\"`via`\"\u003e`via`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vpn`\" pulumi-lang-dotnet=\"`Vpn`\" pulumi-lang-go=\"`vpn`\" pulumi-lang-python=\"`vpn`\" pulumi-lang-yaml=\"`vpn`\" pulumi-lang-java=\"`vpn`\" pulumi-lang-hcl=\"`vpn`\"\u003e`vpn`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateRoutingPoliciesTermMatchingRouteExists:GatewaytemplateRoutingPoliciesTermMatchingRouteExists": {
            "properties": {
                "route": {
                    "type": "string",
                    "description": "Prefix that must exist for this condition to match\n"
                },
                "vrfName": {
                    "type": "string",
                    "description": "Name of the VRF instance where the route is checked; can also be a VPN or WAN name when applicable\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "vrfName"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateRoutingPoliciesTermMatchingVpnPathSla:GatewaytemplateRoutingPoliciesTermMatchingVpnPathSla": {
            "properties": {
                "maxJitter": {
                    "type": "integer",
                    "description": "Maximum jitter threshold allowed for the VPN path\n"
                },
                "maxLatency": {
                    "type": "integer",
                    "description": "Maximum latency threshold allowed for the VPN path\n"
                },
                "maxLoss": {
                    "type": "integer",
                    "description": "Maximum packet-loss threshold allowed for the VPN path\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicy:GatewaytemplateServicePolicy": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined, optional otherwise (override the servicepolicy action). enum: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\" pulumi-lang-hcl=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\" pulumi-lang-hcl=\"`deny`\"\u003e`deny`\u003c/span\u003e\n"
                },
                "antivirus": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicyAntivirus:GatewaytemplateServicePolicyAntivirus",
                    "description": "Malware and virus inspection settings applied by this service policy\n"
                },
                "appqoe": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicyAppqoe:GatewaytemplateServicePolicyAppqoe",
                    "description": "Application QoE settings applied by this service policy\n"
                },
                "ewfs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicyEwf:GatewaytemplateServicePolicyEwf"
                    },
                    "description": "Enhanced web filtering rules applied by this service policy\n"
                },
                "idp": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicyIdp:GatewaytemplateServicePolicyIdp",
                    "description": "Intrusion detection and prevention settings applied by this service policy\n"
                },
                "localRouting": {
                    "type": "boolean",
                    "description": "Whether the policy permits access within the same VRF\n"
                },
                "name": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined, optional otherwise (override the servicepolicy name)\n"
                },
                "pathPreference": {
                    "type": "string",
                    "description": "By default, we derive all paths available and use them. Optionally, you can customize by using \u003cspan pulumi-lang-nodejs=\"`pathPreference`\" pulumi-lang-dotnet=\"`PathPreference`\" pulumi-lang-go=\"`pathPreference`\" pulumi-lang-python=\"`path_preference`\" pulumi-lang-yaml=\"`pathPreference`\" pulumi-lang-java=\"`pathPreference`\" pulumi-lang-hcl=\"`path_preference`\"\u003e`pathPreference`\u003c/span\u003e\n"
                },
                "servicepolicyId": {
                    "type": "string",
                    "description": "Organization-level service policy identifier used to link and override selected attributes\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined. List of Applications / Destinations\n"
                },
                "skyatp": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicySkyatp:GatewaytemplateServicePolicySkyatp",
                    "description": "Threat inspection settings provided by Sky ATP for this service policy\n"
                },
                "sslProxy": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicySslProxy:GatewaytemplateServicePolicySslProxy",
                    "description": "TLS inspection settings applied by this service policy\n"
                },
                "syslog": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicySyslog:GatewaytemplateServicePolicySyslog",
                    "description": "Remote logging settings applied by this service policy\n"
                },
                "tenants": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e is not defined. List of Networks / Users\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicyAntivirus:GatewaytemplateServicePolicyAntivirus": {
            "properties": {
                "avprofileId": {
                    "type": "string",
                    "description": "Organization-level antivirus profile ID; takes precedence over inline \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e settings\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether antivirus inspection is enabled for the service policy\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Antivirus profile name to apply, such as \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noftp`\" pulumi-lang-dotnet=\"`Noftp`\" pulumi-lang-go=\"`noftp`\" pulumi-lang-python=\"`noftp`\" pulumi-lang-yaml=\"`noftp`\" pulumi-lang-java=\"`noftp`\" pulumi-lang-hcl=\"`noftp`\"\u003e`noftp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`httponly`\" pulumi-lang-dotnet=\"`Httponly`\" pulumi-lang-go=\"`httponly`\" pulumi-lang-python=\"`httponly`\" pulumi-lang-yaml=\"`httponly`\" pulumi-lang-java=\"`httponly`\" pulumi-lang-hcl=\"`httponly`\"\u003e`httponly`\u003c/span\u003e, or an AV profile key\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicyAppqoe:GatewaytemplateServicePolicyAppqoe": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether application QoE is enabled for the service policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicyEwf:GatewaytemplateServicePolicyEwf": {
            "properties": {
                "alertOnly": {
                    "type": "boolean",
                    "description": "Whether matching enhanced web filtering traffic is logged without being blocked\n"
                },
                "blockMessage": {
                    "type": "string",
                    "description": "Message returned when enhanced web filtering blocks a request\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this enhanced web filtering rule is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Enhanced web filtering profile applied by this rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicyIdp:GatewaytemplateServicePolicyIdp": {
            "properties": {
                "alertOnly": {
                    "type": "boolean",
                    "description": "Whether to alert without enforcing IDP prevention actions\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether IDP inspection is enabled for the policy\n"
                },
                "idpprofileId": {
                    "type": "string",
                    "description": "org_level IDP Profile can be used, this takes precedence over \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e\n"
                },
                "profile": {
                    "type": "string",
                    "description": "enum: `Custom`, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e (default), \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e or keys from idp_profiles\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicySkyatp:GatewaytemplateServicePolicySkyatp": {
            "properties": {
                "dnsDgaDetection": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicySkyatpDnsDgaDetection:GatewaytemplateServicePolicySkyatpDnsDgaDetection",
                    "description": "Detection settings for DNS DGA threats provided by Sky ATP\n"
                },
                "dnsTunnelDetection": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicySkyatpDnsTunnelDetection:GatewaytemplateServicePolicySkyatpDnsTunnelDetection",
                    "description": "Detection settings for DNS tunneling threats provided by Sky ATP\n"
                },
                "httpInspection": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicySkyatpHttpInspection:GatewaytemplateServicePolicySkyatpHttpInspection",
                    "description": "Web traffic inspection settings provided by Sky ATP\n"
                },
                "iotDevicePolicy": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicySkyatpIotDevicePolicy:GatewaytemplateServicePolicySkyatpIotDevicePolicy",
                    "description": "Device threat policy settings provided by Sky ATP for IoT clients\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicySkyatpDnsDgaDetection:GatewaytemplateServicePolicySkyatpDnsDgaDetection": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP DNS DGA detection is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Sky ATP DNS DGA detection profile to apply\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicySkyatpDnsTunnelDetection:GatewaytemplateServicePolicySkyatpDnsTunnelDetection": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP DNS tunneling detection is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Sky ATP DNS tunneling detection profile to apply\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicySkyatpHttpInspection:GatewaytemplateServicePolicySkyatpHttpInspection": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP HTTP inspection is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Sky ATP HTTP inspection profile to apply\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicySkyatpIotDevicePolicy:GatewaytemplateServicePolicySkyatpIotDevicePolicy": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP IoT device policy inspection is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicySslProxy:GatewaytemplateServicePolicySslProxy": {
            "properties": {
                "ciphersCategory": {
                    "type": "string",
                    "description": "Allowed cipher strength category for SSL proxy inspection\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SSL proxy inspection is enabled for the service policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateServicePolicySyslog:GatewaytemplateServicePolicySyslog": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether syslog logging is enabled for the service policy\n"
                },
                "serverNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Names of syslog servers that receive logs for this service policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateTunnelConfigs:GatewaytemplateTunnelConfigs": {
            "properties": {
                "autoProvision": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigsAutoProvision:GatewaytemplateTunnelConfigsAutoProvision",
                    "description": "Provider auto-provisioning settings for tunnel endpoints\n"
                },
                "ikeLifetime": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Must be between 180 and 86400\n"
                },
                "ikeMode": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. IKE negotiation mode for the tunnel\n"
                },
                "ikeProposals": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigsIkeProposal:GatewaytemplateTunnelConfigsIkeProposal"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`, IKE proposals used for custom IPsec negotiation\n"
                },
                "ipsecLifetime": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Must be between 180 and 86400\n"
                },
                "ipsecProposals": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigsIpsecProposal:GatewaytemplateTunnelConfigsIpsecProposal"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. IPsec proposals used for custom IPsec negotiation\n"
                },
                "localId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`zscaler-ipsec`, \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`jse-ipsec` or \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`\n"
                },
                "localSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Local protected subnets advertised by this tunnel\n"
                },
                "mode": {
                    "type": "string",
                    "description": "Tunnel failover mode used for primary and secondary endpoints\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination networks reachable through this tunnel\n"
                },
                "primary": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigsPrimary:GatewaytemplateTunnelConfigsPrimary",
                    "description": "Main remote tunnel endpoint settings\n"
                },
                "probe": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigsProbe:GatewaytemplateTunnelConfigsProbe",
                    "description": "Tunnel health probe settings\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Tunnel protocol for custom tunnel negotiation\n"
                },
                "provider": {
                    "type": "string",
                    "description": "Tunnel provider used when auto provisioning is disabled\n"
                },
                "psk": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`zscaler-ipsec`, \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`jse-ipsec` or \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`\n",
                    "secret": true
                },
                "remoteSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Remote protected subnets reached through policy-based IPsec\n"
                },
                "secondary": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigsSecondary:GatewaytemplateTunnelConfigsSecondary",
                    "description": "Backup remote tunnel endpoint settings\n"
                },
                "version": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-gre` or \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`custom-ipsec`. Tunnel version value for custom tunnel configuration\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateTunnelConfigsAutoProvision:GatewaytemplateTunnelConfigsAutoProvision": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Enable auto provisioning for the tunnel. If enabled, the \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\" pulumi-lang-hcl=\"`primary`\"\u003e`primary`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`secondary`\" pulumi-lang-dotnet=\"`Secondary`\" pulumi-lang-go=\"`secondary`\" pulumi-lang-python=\"`secondary`\" pulumi-lang-yaml=\"`secondary`\" pulumi-lang-java=\"`secondary`\" pulumi-lang-hcl=\"`secondary`\"\u003e`secondary`\u003c/span\u003e nodes will be ignored.\n"
                },
                "latlng": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigsAutoProvisionLatlng:GatewaytemplateTunnelConfigsAutoProvisionLatlng",
                    "description": "Geographic coordinate override used for tunnel POP selection\n"
                },
                "primary": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigsAutoProvisionPrimary:GatewaytemplateTunnelConfigsAutoProvisionPrimary",
                    "description": "Main auto-provisioned tunnel endpoint settings\n"
                },
                "provider": {
                    "type": "string",
                    "description": "Tunnel provider used for automatic endpoint provisioning\n"
                },
                "region": {
                    "type": "string",
                    "description": "API override for POP selection in the case user wants to override the auto discovery of remote network location and force the tunnel to use the specified peer location.\n"
                },
                "secondary": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigsAutoProvisionSecondary:GatewaytemplateTunnelConfigsAutoProvisionSecondary",
                    "description": "Backup auto-provisioned tunnel endpoint settings\n"
                },
                "serviceConnection": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`provider`\" pulumi-lang-dotnet=\"`Provider`\" pulumi-lang-go=\"`provider`\" pulumi-lang-python=\"`provider`\" pulumi-lang-yaml=\"`provider`\" pulumi-lang-java=\"`provider`\" pulumi-lang-hcl=\"`provider`\"\u003e`provider`\u003c/span\u003e==`prisma-ipsec`. By default, we'll use the location of the site to determine the optimal Remote Network location, optionally,\u003cspan pulumi-lang-nodejs=\" serviceConnection \" pulumi-lang-dotnet=\" ServiceConnection \" pulumi-lang-go=\" serviceConnection \" pulumi-lang-python=\" service_connection \" pulumi-lang-yaml=\" serviceConnection \" pulumi-lang-java=\" serviceConnection \" pulumi-lang-hcl=\" service_connection \"\u003e serviceConnection \u003c/span\u003ecan be considered, then we'll also consider this along with the site location. Define\u003cspan pulumi-lang-nodejs=\" serviceConnection \" pulumi-lang-dotnet=\" ServiceConnection \" pulumi-lang-go=\" serviceConnection \" pulumi-lang-python=\" service_connection \" pulumi-lang-yaml=\" serviceConnection \" pulumi-lang-java=\" serviceConnection \" pulumi-lang-hcl=\" service_connection \"\u003e serviceConnection \u003c/span\u003eif the traffic is to be routed to a specific service connection. This field takes a service connection name that is configured in the Prisma cloud, Prisma Access Setup \u003e Service Connections.\n"
                }
            },
            "type": "object",
            "required": [
                "provider"
            ]
        },
        "junipermist:org/GatewaytemplateTunnelConfigsAutoProvisionLatlng:GatewaytemplateTunnelConfigsAutoProvisionLatlng": {
            "properties": {
                "lat": {
                    "type": "number",
                    "description": "Geographic latitude used for POP selection override\n"
                },
                "lng": {
                    "type": "number",
                    "description": "Geographic longitude used for POP selection override\n"
                }
            },
            "type": "object",
            "required": [
                "lat",
                "lng"
            ]
        },
        "junipermist:org/GatewaytemplateTunnelConfigsAutoProvisionPrimary:GatewaytemplateTunnelConfigsAutoProvisionPrimary": {
            "properties": {
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Probe IP addresses used to monitor auto-provisioned tunnel reachability\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WAN interface names used by the auto-provisioned tunnel endpoint\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateTunnelConfigsAutoProvisionSecondary:GatewaytemplateTunnelConfigsAutoProvisionSecondary": {
            "properties": {
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Probe IP addresses used to monitor auto-provisioned tunnel reachability\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WAN interface names used by the auto-provisioned tunnel endpoint\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateTunnelConfigsIkeProposal:GatewaytemplateTunnelConfigsIkeProposal": {
            "properties": {
                "authAlgo": {
                    "type": "string",
                    "description": "Integrity algorithm used by this IKE proposal\n"
                },
                "dhGroup": {
                    "type": "string",
                    "description": "Diffie-Hellman group used by this IKE proposal\n"
                },
                "encAlgo": {
                    "type": "string",
                    "description": "Cipher algorithm used by this IKE proposal\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateTunnelConfigsIpsecProposal:GatewaytemplateTunnelConfigsIpsecProposal": {
            "properties": {
                "authAlgo": {
                    "type": "string",
                    "description": "Integrity algorithm used by this IPsec proposal\n"
                },
                "dhGroup": {
                    "type": "string",
                    "description": "Diffie-Hellman group used by this IPsec proposal\n"
                },
                "encAlgo": {
                    "type": "string",
                    "description": "Cipher algorithm used by this IPsec proposal\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateTunnelConfigsPrimary:GatewaytemplateTunnelConfigsPrimary": {
            "properties": {
                "hosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Remote gateway host addresses for this tunnel node\n"
                },
                "internalIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Internal IP addresses configured on this tunnel node\n"
                },
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Health-check IP addresses used to monitor this tunnel node\n"
                },
                "remoteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IKE identities expected from this tunnel node\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Interface names that source tunnel traffic for this node\n"
                }
            },
            "type": "object",
            "required": [
                "hosts",
                "wanNames"
            ]
        },
        "junipermist:org/GatewaytemplateTunnelConfigsProbe:GatewaytemplateTunnelConfigsProbe": {
            "properties": {
                "interval": {
                    "type": "integer",
                    "description": "How often to trigger the probe\n"
                },
                "threshold": {
                    "type": "integer",
                    "description": "Number of consecutive misses before declaring the tunnel down\n"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Time within which to complete the connectivity check\n"
                },
                "type": {
                    "type": "string",
                    "description": "Protocol used by the custom IPsec tunnel health probe\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/GatewaytemplateTunnelConfigsSecondary:GatewaytemplateTunnelConfigsSecondary": {
            "properties": {
                "hosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Remote gateway host addresses for this tunnel node\n"
                },
                "internalIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Internal IP addresses configured on this tunnel node\n"
                },
                "probeIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Health-check IP addresses used to monitor this tunnel node\n"
                },
                "remoteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IKE identities expected from this tunnel node\n"
                },
                "wanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Interface names that source tunnel traffic for this node\n"
                }
            },
            "type": "object",
            "required": [
                "hosts",
                "wanNames"
            ]
        },
        "junipermist:org/GatewaytemplateTunnelProviderOptions:GatewaytemplateTunnelProviderOptions": {
            "properties": {
                "jse": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelProviderOptionsJse:GatewaytemplateTunnelProviderOptionsJse",
                    "description": "Juniper Secure Edge provisioning options for tunnel endpoints\n"
                },
                "prisma": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelProviderOptionsPrisma:GatewaytemplateTunnelProviderOptionsPrisma",
                    "description": "Palo Alto Prisma Access provisioning options for tunnel endpoints\n"
                },
                "zscaler": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelProviderOptionsZscaler:GatewaytemplateTunnelProviderOptionsZscaler",
                    "description": "Provider settings for Zscaler tunnel endpoints\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateTunnelProviderOptionsJse:GatewaytemplateTunnelProviderOptionsJse": {
            "properties": {
                "numUsers": {
                    "type": "integer",
                    "description": "User capacity to provision on Juniper Secure Edge\n"
                },
                "orgName": {
                    "type": "string",
                    "description": "JSE Organization name\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateTunnelProviderOptionsPrisma:GatewaytemplateTunnelProviderOptionsPrisma": {
            "properties": {
                "serviceAccountName": {
                    "type": "string",
                    "description": "For prisma-ipsec, service account name to used for tunnel auto provisioning\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateTunnelProviderOptionsZscaler:GatewaytemplateTunnelProviderOptionsZscaler": {
            "properties": {
                "aupBlockInternetUntilAccepted": {
                    "type": "boolean",
                    "description": "Whether Zscaler blocks internet access until the Acceptable Use Policy is accepted\n"
                },
                "aupEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display Acceptable Use Policy (AUP)\n"
                },
                "aupForceSslInspection": {
                    "type": "boolean",
                    "description": "Proxy HTTPs traffic, requiring Zscaler cert to be installed in browser\n"
                },
                "aupTimeoutInDays": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`aupEnabled`\" pulumi-lang-dotnet=\"`AupEnabled`\" pulumi-lang-go=\"`aupEnabled`\" pulumi-lang-python=\"`aup_enabled`\" pulumi-lang-yaml=\"`aupEnabled`\" pulumi-lang-java=\"`aupEnabled`\" pulumi-lang-hcl=\"`aup_enabled`\"\u003e`aupEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Days before AUP is requested again\n"
                },
                "authRequired": {
                    "type": "boolean",
                    "description": "Enable this option to enforce user authentication\n"
                },
                "cautionEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display caution notification for non-authenticated users\n"
                },
                "dnBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                },
                "idleTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, idle Time to Disassociation\n"
                },
                "ofwEnabled": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enable the firewall control option\n"
                },
                "subLocations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateTunnelProviderOptionsZscalerSubLocation:GatewaytemplateTunnelProviderOptionsZscalerSubLocation"
                    },
                    "description": "Per-network Zscaler sub-location settings\n"
                },
                "surrogateIp": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Map a user to a private IP address so it applies the user's policies, instead of the location's policies\n"
                },
                "surrogateIpEnforcedForKnownBrowsers": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enforce surrogate IP for known browsers\n"
                },
                "surrogateRefreshTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP_enforced_for_known_browsers`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, must be lower or equal than \u003cspan pulumi-lang-nodejs=\"`idleTimeInMinutes`\" pulumi-lang-dotnet=\"`IdleTimeInMinutes`\" pulumi-lang-go=\"`idleTimeInMinutes`\" pulumi-lang-python=\"`idle_time_in_minutes`\" pulumi-lang-yaml=\"`idleTimeInMinutes`\" pulumi-lang-java=\"`idleTimeInMinutes`\" pulumi-lang-hcl=\"`idle_time_in_minutes`\"\u003e`idleTimeInMinutes`\u003c/span\u003e, refresh Time for re-validation of Surrogacy\n"
                },
                "upBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                },
                "xffForwardEnabled": {
                    "type": "boolean",
                    "description": "Location uses proxy chaining to forward traffic\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateTunnelProviderOptionsZscalerSubLocation:GatewaytemplateTunnelProviderOptionsZscalerSubLocation": {
            "properties": {
                "aupBlockInternetUntilAccepted": {
                    "type": "boolean",
                    "description": "Whether this sub-location blocks internet access until the Acceptable Use Policy is accepted\n"
                },
                "aupEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display Acceptable Use Policy (AUP)\n"
                },
                "aupForceSslInspection": {
                    "type": "boolean",
                    "description": "Proxy HTTPs traffic, requiring Zscaler cert to be installed in browser\n"
                },
                "aupTimeoutInDays": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`aupEnabled`\" pulumi-lang-dotnet=\"`AupEnabled`\" pulumi-lang-go=\"`aupEnabled`\" pulumi-lang-python=\"`aup_enabled`\" pulumi-lang-yaml=\"`aupEnabled`\" pulumi-lang-java=\"`aupEnabled`\" pulumi-lang-hcl=\"`aup_enabled`\"\u003e`aupEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Days before AUP is requested again\n"
                },
                "authRequired": {
                    "type": "boolean",
                    "description": "Enable this option to authenticate users\n"
                },
                "cautionEnabled": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, display caution notification for non-authenticated users\n"
                },
                "dnBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                },
                "idleTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, idle Time to Disassociation\n"
                },
                "name": {
                    "type": "string",
                    "description": "Network name\n"
                },
                "ofwEnabled": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enable the firewall control option\n"
                },
                "surrogateIp": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`authRequired`\" pulumi-lang-dotnet=\"`AuthRequired`\" pulumi-lang-go=\"`authRequired`\" pulumi-lang-python=\"`auth_required`\" pulumi-lang-yaml=\"`authRequired`\" pulumi-lang-java=\"`authRequired`\" pulumi-lang-hcl=\"`auth_required`\"\u003e`authRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Map a user to a private IP address so it applies the user's policies, instead of the location's policies\n"
                },
                "surrogateIpEnforcedForKnownBrowsers": {
                    "type": "boolean",
                    "description": "Can only be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when `surrogate_IP`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, enforce surrogate IP for known browsers\n"
                },
                "surrogateRefreshTimeInMinutes": {
                    "type": "integer",
                    "description": "Required if `surrogate_IP_enforced_for_known_browsers`==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, must be lower or equal than \u003cspan pulumi-lang-nodejs=\"`idleTimeInMinutes`\" pulumi-lang-dotnet=\"`IdleTimeInMinutes`\" pulumi-lang-go=\"`idleTimeInMinutes`\" pulumi-lang-python=\"`idle_time_in_minutes`\" pulumi-lang-yaml=\"`idleTimeInMinutes`\" pulumi-lang-java=\"`idleTimeInMinutes`\" pulumi-lang-hcl=\"`idle_time_in_minutes`\"\u003e`idleTimeInMinutes`\u003c/span\u003e, refresh Time for re-validation of Surrogacy\n"
                },
                "upBandwidth": {
                    "type": "number",
                    "description": "Download bandwidth cap of the link, in Mbps. Disabled if not set\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateVrfConfig:GatewaytemplateVrfConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable VRF (when supported on the device)\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/GatewaytemplateVrfInstances:GatewaytemplateVrfInstances": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network names included in this gateway VRF instance\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/IdpprofileOverwrite:IdpprofileOverwrite": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Enforcement action applied when this overwrite rule matches\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:org/IdpprofileOverwriteMatching:IdpprofileOverwriteMatching",
                    "description": "Criteria that select signatures for this overwrite rule\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for this IDP profile overwrite rule\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "action",
                        "name"
                    ]
                }
            }
        },
        "junipermist:org/IdpprofileOverwriteMatching:IdpprofileOverwriteMatching": {
            "properties": {
                "attackNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Signature names matched by the IDP profile overwrite\n"
                },
                "dstSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination subnets matched by the IDP profile overwrite\n"
                },
                "severities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Threat levels matched by the IDP profile overwrite\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/InventoryInventory:InventoryInventory": {
            "properties": {
                "claimCode": {
                    "type": "string",
                    "description": "device claim code\n"
                },
                "deviceprofileId": {
                    "type": "string",
                    "description": "deviceprofile id if assigned, null if not assigned\n"
                },
                "hostname": {
                    "type": "string",
                    "description": "hostname reported by the device\n"
                },
                "id": {
                    "type": "string",
                    "description": "device id\n"
                },
                "mac": {
                    "type": "string",
                    "description": "device MAC address\n"
                },
                "model": {
                    "type": "string",
                    "description": "device model\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Unique identifier of a Mist organization\n"
                },
                "serial": {
                    "type": "string",
                    "description": "device serial\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site ID. Used to assign device to a Site\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ap`\" pulumi-lang-dotnet=\"`Ap`\" pulumi-lang-go=\"`ap`\" pulumi-lang-python=\"`ap`\" pulumi-lang-yaml=\"`ap`\" pulumi-lang-java=\"`ap`\" pulumi-lang-hcl=\"`ap`\"\u003e`ap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e\n"
                },
                "unclaimWhenDestroyed": {
                    "type": "boolean",
                    "description": "Unclaim the device from the Mist Organization when removed from the provider inventory. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                },
                "vcMac": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e and device part of a Virtual Chassis, MAC Address of the Virtual Chassis. if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e and device part of a Cluster, MAC Address of the Cluster\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "claimCode",
                        "deviceprofileId",
                        "hostname",
                        "id",
                        "mac",
                        "model",
                        "orgId",
                        "serial",
                        "type",
                        "unclaimWhenDestroyed",
                        "vcMac"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterMistDas:MxclusterMistDas": {
            "properties": {
                "coaServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/MxclusterMistDasCoaServer:MxclusterMistDasCoaServer"
                    },
                    "description": "Dynamic authorization clients allowed to send CoA or Disconnect-Message requests\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether cloud-assisted DAS is enabled for the Mist Edge cluster\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterMistDasCoaServer:MxclusterMistDasCoaServer": {
            "properties": {
                "disableEventTimestampCheck": {
                    "type": "boolean",
                    "description": "Whether to disable Event-Timestamp Check\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this DAS CoA or Disconnect-Message client is enabled\n"
                },
                "host": {
                    "type": "string",
                    "description": "Server host allowed to send CoA or Disconnect-Message requests to Mist Edges\n"
                },
                "port": {
                    "type": "integer",
                    "description": "UDP port where Mist Edges accept CoA or Disconnect-Message requests from this host\n"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used by this DAS CoA or Disconnect-Message client\n",
                    "secret": true
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableEventTimestampCheck",
                        "port",
                        "requireMessageAuthenticator"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterMistNac:MxclusterMistNac": {
            "properties": {
                "acctServerPort": {
                    "type": "integer",
                    "description": "RADIUS accounting port used by Mist NAC on the cluster\n"
                },
                "authServerPort": {
                    "type": "integer",
                    "description": "RADIUS authentication port used by Mist NAC on the cluster\n"
                },
                "clientIps": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxclusterMistNacClientIps:MxclusterMistNacClientIps"
                    },
                    "description": "Property key is the RADIUS Client IP/Subnet.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Mist NAC is enabled on the cluster\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared RADIUS secret used by Mist NAC clients\n",
                    "secret": true
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "acctServerPort",
                        "authServerPort",
                        "clientIps",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterMistNacClientIps:MxclusterMistNacClientIps": {
            "type": "object"
        },
        "junipermist:org/MxclusterMistNacedge:MxclusterMistNacedge": {
            "properties": {
                "authTtl": {
                    "type": "integer",
                    "description": "Cache TTL for last auth result in seconds\n"
                },
                "cachingSiteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of site UUIDs whose auth requests should be cached by NAC Edges in this cluster\n"
                },
                "defaultDot1xVlan": {
                    "type": "string",
                    "description": "Default VLAN for all dot1x devices, if different from default_vlan\n"
                },
                "defaultVlan": {
                    "type": "string",
                    "description": "Default VLAN to assign for devices not in the cache\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether NAC Edge survivability is enabled for this cluster\n"
                },
                "nacEdgeHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NAC Edge hostnames used by APs for survivability authentication\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxclusterMxedgeMgmt:MxclusterMxedgeMgmt": {
            "properties": {
                "configAutoRevert": {
                    "type": "boolean",
                    "description": "Whether the Mist Edge automatically reverts configuration changes if connectivity is lost\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the Mist Edge\n"
                },
                "mistPassword": {
                    "type": "string",
                    "description": "Password for the Mist service account on the Mist Edge\n",
                    "secret": true
                },
                "oobIpType": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for out-of-band management\n"
                },
                "oobIpType6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for out-of-band management\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "Root account password for the Mist Edge\n",
                    "secret": true
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "configAutoRevert",
                        "fipsEnabled",
                        "oobIpType",
                        "oobIpType6"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterProxy:MxclusterProxy": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Whether this proxy configuration is disabled\n"
                },
                "url": {
                    "type": "string",
                    "description": "Proxy URL used to reach Mist\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterRadsec:MxclusterRadsec": {
            "properties": {
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/MxclusterRadsecAcctServer:MxclusterRadsecAcctServer"
                    },
                    "description": "RADIUS accounting servers used by the RadSec proxy\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/MxclusterRadsecAuthServer:MxclusterRadsecAuthServer"
                    },
                    "description": "RADIUS authentication servers used by the RadSec proxy\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable service on Mist Edge i.e. RADIUS proxy over TLS\n"
                },
                "matchSsid": {
                    "type": "boolean",
                    "description": "Whether to match ssid in request message to select from a subset of RADIUS servers\n"
                },
                "nasIpSource": {
                    "type": "string",
                    "description": "Source used to populate NAS-IP-Address and NAS-IPv6-Address attributes\n"
                },
                "proxyHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AP-reachable hostnames or IP addresses advertised as RadSec TLS servers\n"
                },
                "serverSelection": {
                    "type": "string",
                    "description": "RADIUS server selection strategy for RadSec failover\n"
                },
                "srcIpSource": {
                    "type": "string",
                    "description": "Connection source interface or address used when reaching RADIUS servers\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "nasIpSource",
                        "serverSelection",
                        "srcIpSource"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterRadsecAcctServer:MxclusterRadsecAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "IP / hostname of RADIUS server\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Acct port of RADIUS server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS accounting server\n",
                    "secret": true
                },
                "ssids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WLAN SSID filters that use this accounting server when matching is enabled\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "port"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterRadsecAuthServer:MxclusterRadsecAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "IP / hostname of RADIUS server\n"
                },
                "inbandStatusCheck": {
                    "type": "boolean",
                    "description": "Whether to enable inband status check\n"
                },
                "inbandStatusInterval": {
                    "type": "integer",
                    "description": "Inband status interval, in seconds\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "If used for Mist APs, enable keywrap algorithm. Default is false\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for Mist AP RADIUS keywrap keys\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "If used for Mist APs, encryption key\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "If used for Mist APs, Message Authentication Code Key\n"
                },
                "port": {
                    "type": "integer",
                    "description": "Auth port of RADIUS server\n"
                },
                "retry": {
                    "type": "integer",
                    "description": "Number of authentication request retries before failing over\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS authentication server\n",
                    "secret": true
                },
                "ssids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WLAN SSID filters that use this authentication server when matching is enabled\n"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Authentication request timeout, in seconds\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "inbandStatusCheck",
                        "inbandStatusInterval",
                        "keywrapFormat",
                        "port",
                        "retry",
                        "timeout"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterRadsecTls:MxclusterRadsecTls": {
            "properties": {
                "keypair": {
                    "type": "string",
                    "description": "Name or identifier of the TLS keypair used by RadSec\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxclusterTuntermDhcpdConfig:MxclusterTuntermDhcpdConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether DHCP relay is enabled for this tunneled VLAN\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DHCP server IP addresses used as relay targets for this VLAN\n"
                },
                "type": {
                    "type": "string",
                    "description": "DHCP forwarding mode for this tunneled VLAN\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/MxclusterTuntermExtraRoutes:MxclusterTuntermExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop IP address for this extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxclusterTuntermMonitoring:MxclusterTuntermMonitoring": {
            "properties": {
                "host": {
                    "type": "string"
                },
                "port": {
                    "type": "integer"
                },
                "protocol": {
                    "type": "string"
                },
                "srcVlanId": {
                    "type": "integer"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Authentication request timeout, in seconds\n"
                }
            },
            "type": "object",
            "required": [
                "host",
                "port",
                "protocol",
                "srcVlanId",
                "timeout"
            ]
        },
        "junipermist:org/MxedgeMxedgeMgmt:MxedgeMxedgeMgmt": {
            "properties": {
                "configAutoRevert": {
                    "type": "boolean",
                    "description": "Whether the Mist Edge automatically reverts configuration changes if connectivity is lost\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the Mist Edge\n"
                },
                "mistPassword": {
                    "type": "string",
                    "description": "Password for the Mist service account on the Mist Edge\n",
                    "secret": true
                },
                "oobIpType": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for out-of-band management\n"
                },
                "oobIpType6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for out-of-band management\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "Root account password for the Mist Edge\n",
                    "secret": true
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "configAutoRevert",
                        "fipsEnabled",
                        "oobIpType",
                        "oobIpType6"
                    ]
                }
            }
        },
        "junipermist:org/MxedgeOobIpConfig:MxedgeOobIpConfig": {
            "properties": {
                "autoconf6": {
                    "type": "boolean",
                    "description": "Whether IPv6 autoconfiguration is enabled on the out-of-band management interface\n"
                },
                "dhcp6": {
                    "type": "boolean",
                    "description": "Whether DHCPv6 is enabled on the out-of-band management interface\n"
                },
                "dns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Name server addresses for out-of-band management\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e, IPv4 default gateway for the out-of-band management interface\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e, IPv6 default gateway for the out-of-band management interface\n"
                },
                "ip": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e, IPv4 address for the out-of-band management interface\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e, IPv6 address for the out-of-band management interface\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e, IPv4 netmask for the out-of-band management interface\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type6`\" pulumi-lang-dotnet=\"`Type6`\" pulumi-lang-go=\"`type6`\" pulumi-lang-python=\"`type6`\" pulumi-lang-yaml=\"`type6`\" pulumi-lang-java=\"`type6`\" pulumi-lang-hcl=\"`type6`\"\u003e`type6`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e, IPv6 prefix length for the out-of-band management interface\n"
                },
                "type": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for out-of-band management\n"
                },
                "type6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for out-of-band management\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "autoconf6",
                        "dhcp6",
                        "type",
                        "type6"
                    ]
                }
            }
        },
        "junipermist:org/MxedgeProxy:MxedgeProxy": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Whether this proxy configuration is disabled\n"
                },
                "url": {
                    "type": "string",
                    "description": "Proxy URL used to reach Mist\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:org/MxedgeTuntermDhcpdConfig:MxedgeTuntermDhcpdConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether DHCP relay is enabled for this tunneled VLAN\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DHCP relay server addresses used by this tunneled VLAN\n"
                },
                "type": {
                    "type": "string",
                    "description": "DHCP handling mode for this tunneled VLAN\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/MxedgeTuntermExtraRoutes:MxedgeTuntermExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop IP address for this Mist Tunnel extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxedgeTuntermIgmpSnoopingConfig:MxedgeTuntermIgmpSnoopingConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether IGMP snooping is enabled for the configured VLANs\n"
                },
                "querier": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermIgmpSnoopingConfigQuerier:MxedgeTuntermIgmpSnoopingConfigQuerier",
                    "description": "IGMP querier settings used with tunnel termination snooping\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of VLAN IDs where tunnel termination performs IGMP snooping\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/MxedgeTuntermIgmpSnoopingConfigQuerier:MxedgeTuntermIgmpSnoopingConfigQuerier": {
            "properties": {
                "maxResponseTime": {
                    "type": "integer",
                    "description": "Querier's query response interval, in tenths-of-seconds\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "The MTU we use (needed when forming large IGMPv3 Reports)\n"
                },
                "queryInterval": {
                    "type": "integer",
                    "description": "Querier's query interval, in seconds\n"
                },
                "robustness": {
                    "type": "integer",
                    "description": "IGMP querier robustness variable\n"
                },
                "version": {
                    "type": "integer",
                    "description": "Querier's maximum protocol version\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxedgeTuntermIpConfig:MxedgeTuntermIpConfig": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "IPv4 gateway for the Mist Tunnel interface\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "IPv6 gateway for the Mist Tunnel interface\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Address on the untagged Mist Tunnel interface, in IPv4 format\n"
                },
                "ip6": {
                    "type": "string",
                    "description": "Address on the Mist Tunnel interface, in IPv6 format\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Subnet mask for the Mist Tunnel IPv4 address\n"
                },
                "netmask6": {
                    "type": "string",
                    "description": "Prefix length for the Mist Tunnel IPv6 address\n"
                }
            },
            "type": "object",
            "required": [
                "gateway",
                "ip",
                "netmask"
            ]
        },
        "junipermist:org/MxedgeTuntermMonitoring:MxedgeTuntermMonitoring": {
            "properties": {
                "host": {
                    "type": "string"
                },
                "port": {
                    "type": "integer"
                },
                "protocol": {
                    "type": "string"
                },
                "srcVlanId": {
                    "type": "integer"
                },
                "timeout": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "host",
                "port",
                "protocol",
                "srcVlanId",
                "timeout"
            ]
        },
        "junipermist:org/MxedgeTuntermMulticastConfig:MxedgeTuntermMulticastConfig": {
            "properties": {
                "mdns": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermMulticastConfigMdns:MxedgeTuntermMulticastConfigMdns",
                    "description": "Settings for mDNS forwarding on tunnel termination VLANs\n"
                },
                "ssdp": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermMulticastConfigSsdp:MxedgeTuntermMulticastConfigSsdp",
                    "description": "Settings for SSDP forwarding on tunnel termination VLANs\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxedgeTuntermMulticastConfigMdns:MxedgeTuntermMulticastConfigMdns": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether mDNS forwarding is enabled for the configured VLANs\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of VLAN IDs where mDNS forwarding is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxedgeTuntermMulticastConfigSsdp:MxedgeTuntermMulticastConfigSsdp": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SSDP forwarding is enabled for the configured VLANs\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of VLAN IDs where SSDP forwarding is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxedgeTuntermOtherIpConfigs:MxedgeTuntermOtherIpConfigs": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Address for the additional Mist Tunnel interface, in IPv4 format\n"
                },
                "netmask": {
                    "type": "string",
                    "description": "Subnet mask for the additional Mist Tunnel IPv4 address\n"
                }
            },
            "type": "object",
            "required": [
                "ip",
                "netmask"
            ]
        },
        "junipermist:org/MxedgeTuntermPortConfig:MxedgeTuntermPortConfig": {
            "properties": {
                "downstreamPorts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Ports connected downstream toward APs for tunnel termination\n"
                },
                "separateUpstreamDownstream": {
                    "type": "boolean",
                    "description": "Whether to separate upstream / downstream ports. default is false where all ports will be used.\n"
                },
                "upstreamPortVlanId": {
                    "type": "string",
                    "description": "Native VLAN ID applied to upstream tunnel termination ports\n"
                },
                "upstreamPorts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Ports connected upstream toward the LAN for tunnel termination\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "separateUpstreamDownstream"
                    ]
                }
            }
        },
        "junipermist:org/MxedgeTuntermSwitchConfig:MxedgeTuntermSwitchConfig": {
            "properties": {
                "portVlanId": {
                    "type": "integer",
                    "description": "Untagged VLAN ID for this tunnel termination switch port\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of tagged VLAN IDs allowed on this tunnel termination switch port\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxedgeVersions:MxedgeVersions": {
            "properties": {
                "mxagent": {
                    "type": "string",
                    "description": "Reported version of the mxagent service\n"
                },
                "tunterm": {
                    "type": "string",
                    "description": "Reported version of the tunnel termination service\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "mxagent",
                        "tunterm"
                    ]
                }
            }
        },
        "junipermist:org/MxtunnelAutoPreemption:MxtunnelAutoPreemption": {
            "properties": {
                "dayOfWeek": {
                    "type": "string",
                    "description": "Scheduled weekday for auto preemption\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether auto preemption is enabled\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "Scheduled time of day for auto preemption\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxtunnelIpsec:MxtunnelIpsec": {
            "properties": {
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Name server addresses advertised for IPsec tunnel clients\n"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Search suffixes advertised for IPsec tunnel clients\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether IPsec support is enabled for this Mist Tunnel\n"
                },
                "extraRoutes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/MxtunnelIpsecExtraRoute:MxtunnelIpsecExtraRoute"
                    },
                    "description": "Additional routes advertised for the IPsec tunnel\n"
                },
                "splitTunnel": {
                    "type": "boolean",
                    "description": "Whether split tunneling is enabled for IPsec clients\n"
                },
                "useMxedge": {
                    "type": "boolean",
                    "description": "Whether IPsec termination uses Mist Edge\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/MxtunnelIpsecExtraRoute:MxtunnelIpsecExtraRoute": {
            "properties": {
                "dest": {
                    "type": "string",
                    "description": "Route destination CIDR for the IPsec extra route\n"
                },
                "nextHop": {
                    "type": "string",
                    "description": "Route next-hop IPv4 address for the IPsec extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NacPortalPortal:NacPortalPortal": {
            "properties": {
                "auth": {
                    "type": "string",
                    "description": "Mode presented by the NAC guest portal for user authentication\n"
                },
                "expire": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, whether to expire the guest after a certain time\n"
                },
                "externalPortalUrl": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e, the URL to redirect the user to for authentication\n"
                },
                "forceReconnect": {
                    "type": "boolean",
                    "description": "Disconnect client (workaround for reauth issues)\n"
                },
                "forward": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, whether to forward the user to the guest portal after authentication\n"
                },
                "forwardUrl": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, URL to forward the user to after authentication\n"
                },
                "maxNumDevices": {
                    "type": "integer",
                    "description": "Maximum number of clients allowed per guest. 0 (default, unlimited), 1-100 range\n"
                },
                "privacy": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, whether to show the privacy policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "maxNumDevices"
                    ]
                }
            }
        },
        "junipermist:org/NacPortalSso:NacPortalSso": {
            "properties": {
                "idpCert": {
                    "type": "string",
                    "description": "Identity provider certificate used to verify signed SAML responses\n"
                },
                "idpSignAlgo": {
                    "type": "string",
                    "description": "Signing algorithm expected for SAML assertions from the identity provider\n"
                },
                "idpSsoUrl": {
                    "type": "string",
                    "description": "Identity provider Single Sign-On URL for SAML authentication\n"
                },
                "issuer": {
                    "type": "string",
                    "description": "Identity provider issuer URL for SAML authentication\n"
                },
                "nameidFormat": {
                    "type": "string",
                    "description": "SAML NameID format expected from the identity provider\n"
                },
                "ssoRoleMatchings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NacPortalSsoSsoRoleMatching:NacPortalSsoSsoRoleMatching"
                    },
                    "description": "Rules that map SSO role values from the identity provider to NAC portal roles\n"
                },
                "useSsoRoleForCert": {
                    "type": "boolean",
                    "description": "Whether to include the matched SSO role in the issued certificate subject for later policy matching\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NacPortalSsoSsoRoleMatching:NacPortalSsoSsoRoleMatching": {
            "properties": {
                "assigned": {
                    "type": "string",
                    "description": "NAC portal role assigned when the SSO role value matches\n"
                },
                "match": {
                    "type": "string",
                    "description": "SSO role value to match from the SAML assertion\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NacruleMatching:NacruleMatching": {
            "properties": {
                "authType": {
                    "type": "string",
                    "description": "NAC authentication method that must match the request\n"
                },
                "families": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client device family values that must match the request\n"
                },
                "mfgs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client device manufacturer values that must match the request\n"
                },
                "models": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client device model values that must match the request\n"
                },
                "nactags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NAC tag IDs whose match criteria must be satisfied by the request\n"
                },
                "osTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client OS type values that must match the request\n"
                },
                "portTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Wired or wireless access types that must match the request\n"
                },
                "siteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Site IDs where the rule criteria apply\n"
                },
                "sitegroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Site group IDs where the rule criteria apply\n"
                },
                "vendors": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client device vendor values that must match the request\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "families",
                        "mfgs",
                        "models",
                        "nactags",
                        "osTypes",
                        "portTypes",
                        "siteIds",
                        "sitegroupIds",
                        "vendors"
                    ]
                }
            }
        },
        "junipermist:org/NacruleNotMatching:NacruleNotMatching": {
            "properties": {
                "authType": {
                    "type": "string",
                    "description": "NAC authentication method that must match the request\n"
                },
                "families": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client device family values that must match the request\n"
                },
                "mfgs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client device manufacturer values that must match the request\n"
                },
                "models": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client device model values that must match the request\n"
                },
                "nactags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NAC tag IDs whose match criteria must be satisfied by the request\n"
                },
                "osTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client OS type values that must match the request\n"
                },
                "portTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Wired or wireless access types that must match the request\n"
                },
                "siteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Site IDs where the rule criteria apply\n"
                },
                "sitegroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Site group IDs where the rule criteria apply\n"
                },
                "vendors": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client device vendor values that must match the request\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "families",
                        "mfgs",
                        "models",
                        "nactags",
                        "osTypes",
                        "portTypes",
                        "siteIds",
                        "sitegroupIds",
                        "vendors"
                    ]
                }
            }
        },
        "junipermist:org/NetworkInternalAccess:NetworkInternalAccess": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether internal access is enabled for this network\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworkInternetAccess:NetworkInternetAccess": {
            "properties": {
                "createSimpleServicePolicy": {
                    "type": "boolean",
                    "description": "Whether Mist should create simple service policies for restricted internet access\n"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworkInternetAccessDestinationNat:NetworkInternetAccessDestinationNat"
                    },
                    "description": "Destination NAT rules for direct internet access\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether direct internet access is enabled for this network\n"
                },
                "restricted": {
                    "type": "boolean",
                    "description": "By default, all access is allowed, to only allow certain traffic, make \u003cspan pulumi-lang-nodejs=\"`restricted`\" pulumi-lang-dotnet=\"`Restricted`\" pulumi-lang-go=\"`restricted`\" pulumi-lang-python=\"`restricted`\" pulumi-lang-yaml=\"`restricted`\" pulumi-lang-java=\"`restricted`\" pulumi-lang-hcl=\"`restricted`\"\u003e`restricted`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and define service_policies\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworkInternetAccessStaticNat:NetworkInternetAccessStaticNat"
                    },
                    "description": "Static NAT rules for direct internet access\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "createSimpleServicePolicy",
                        "restricted"
                    ]
                }
            }
        },
        "junipermist:org/NetworkInternetAccessDestinationNat:NetworkInternetAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this direct internet destination NAT rule\n"
                },
                "port": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be a Port (i.e. \"443\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworkInternetAccessStaticNat:NetworkInternetAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP address. Must be an IP address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this direct internet static NAT rule\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity. Can be a Variable (i.e. \"{{myvar}}\")\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name"
            ]
        },
        "junipermist:org/NetworkMulticast:NetworkMulticast": {
            "properties": {
                "disableIgmp": {
                    "type": "boolean",
                    "description": "If the network will only be the source of the multicast traffic, IGMP can be disabled\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether multicast support is enabled for this network\n"
                },
                "groups": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworkMulticastGroups:NetworkMulticastGroups"
                    },
                    "description": "Multicast group-to-RP mappings for this network\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableIgmp",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/NetworkMulticastGroups:NetworkMulticastGroups": {
            "properties": {
                "rpIp": {
                    "type": "string",
                    "description": "RP (rendezvous point) IP address\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworkTenants:NetworkTenants": {
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP addresses or subnets assigned to this tenant in the network\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworkVpnAccess:NetworkVpnAccess": {
            "properties": {
                "advertisedSubnet": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to advertise an aggregated subnet toward HUB this is useful when there are multiple networks on SPOKE's side\n"
                },
                "allowPing": {
                    "type": "boolean",
                    "description": "Whether to allow ping from vpn into this routed network\n"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworkVpnAccessDestinationNat:NetworkVpnAccessDestinationNat"
                    },
                    "description": "Destination NAT rules applied for VPN access to this network\n"
                },
                "natPool": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (usually at Spoke), but some hosts needs to be reachable from Hub, a subnet is required to create and advertise the route to Hub\n"
                },
                "noReadvertiseToLanBgp": {
                    "type": "boolean",
                    "description": "toward LAN-side BGP peers\n"
                },
                "noReadvertiseToLanOspf": {
                    "type": "boolean",
                    "description": "toward LAN-side OSPF peers\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "otherVrfs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Other VRFs that can receive leaked routes from this spoke network\n"
                },
                "routed": {
                    "type": "boolean",
                    "description": "Whether this network is routable\n"
                },
                "sourceNat": {
                    "$ref": "#/types/junipermist:org/NetworkVpnAccessSourceNat:NetworkVpnAccessSourceNat",
                    "description": "Source NAT settings used when non-routed spoke hosts must be reachable from the hub\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworkVpnAccessStaticNat:NetworkVpnAccessStaticNat"
                    },
                    "description": "Static NAT rules applied for VPN access to this network\n"
                },
                "summarizedSubnet": {
                    "type": "string",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "summarizedSubnetToLanBgp": {
                    "type": "string",
                    "description": "toward LAN-side BGP peers\n"
                },
                "summarizedSubnetToLanOspf": {
                    "type": "string",
                    "description": "toward LAN-side OSPF peers\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "noReadvertiseToLanBgp",
                        "noReadvertiseToLanOspf",
                        "otherVrfs",
                        "sourceNat",
                        "staticNat"
                    ]
                }
            }
        },
        "junipermist:org/NetworkVpnAccessDestinationNat:NetworkVpnAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this VPN destination NAT rule\n"
                },
                "port": {
                    "type": "string",
                    "description": "Destination port or variable for this VPN destination NAT rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworkVpnAccessSourceNat:NetworkVpnAccessSourceNat": {
            "properties": {
                "externalIp": {
                    "type": "string",
                    "description": "External source NAT IP or subnet used when spoke hosts must be reachable from the hub\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworkVpnAccessStaticNat:NetworkVpnAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP address. Must be an IP address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "Label for this VPN static NAT rule\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name"
            ]
        },
        "junipermist:org/NetworktemplateAclPolicy:NetworktemplateAclPolicy": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateAclPolicyAction:NetworktemplateAclPolicyAction"
                    },
                    "description": "Destination tag actions evaluated for sources matching this ACL policy\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the ACL policy\n"
                },
                "srcTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source ACL tags that select traffic for this ACL policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateAclPolicyAction:NetworktemplateAclPolicyAction": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Allow or deny decision applied to traffic matching the destination tag\n"
                },
                "dstTag": {
                    "type": "string",
                    "description": "Destination ACL tag matched by this policy action\n"
                }
            },
            "type": "object",
            "required": [
                "dstTag"
            ]
        },
        "junipermist:org/NetworktemplateAclTags:NetworktemplateAclTags": {
            "properties": {
                "etherTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Layer 2 EtherTypes matched by this ACL tag; defaults to \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e\n"
                },
                "gbpTag": {
                    "type": "integer",
                    "description": "Required if\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamicGbp`\" pulumi-lang-dotnet=\"`DynamicGbp`\" pulumi-lang-go=\"`dynamicGbp`\" pulumi-lang-python=\"`dynamic_gbp`\" pulumi-lang-yaml=\"`dynamicGbp`\" pulumi-lang-java=\"`dynamicGbp`\" pulumi-lang-hcl=\"`dynamic_gbp`\"\u003e`dynamicGbp`\u003c/span\u003e (gbp_tag received from RADIUS)\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gbpResource`\" pulumi-lang-dotnet=\"`GbpResource`\" pulumi-lang-go=\"`gbpResource`\" pulumi-lang-python=\"`gbp_resource`\" pulumi-lang-yaml=\"`gbpResource`\" pulumi-lang-java=\"`gbpResource`\" pulumi-lang-hcl=\"`gbp_resource`\"\u003e`gbpResource`\u003c/span\u003e\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e (applying gbp tag against matching conditions)\n"
                },
                "macs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client or resource MAC addresses matched by this ACL tag\n"
                },
                "network": {
                    "type": "string",
                    "description": "If:\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\" pulumi-lang-hcl=\"`mac`\"\u003e`mac`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\" pulumi-lang-hcl=\"`resource`\"\u003e`resource`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e if from matching network (vlan)\n"
                },
                "portUsage": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`portUsage`\" pulumi-lang-dotnet=\"`PortUsage`\" pulumi-lang-go=\"`portUsage`\" pulumi-lang-python=\"`port_usage`\" pulumi-lang-yaml=\"`portUsage`\" pulumi-lang-java=\"`portUsage`\" pulumi-lang-hcl=\"`port_usage`\"\u003e`portUsage`\u003c/span\u003e. Switch port usage name matched by this ACL tag\n"
                },
                "radiusGroup": {
                    "type": "string",
                    "description": "Required if:\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e\nif from matching radius_group\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateAclTagsSpec:NetworktemplateAclTagsSpec"
                    },
                    "description": "Layer 4 protocol and destination-port constraints for this ACL tag\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP subnets matched by this ACL tag\n"
                },
                "type": {
                    "type": "string",
                    "description": "Classifier type that determines which ACL tag fields are evaluated\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "junipermist:org/NetworktemplateAclTagsSpec:NetworktemplateAclTagsSpec": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Matched dst port, \"0\" means any\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\" pulumi-lang-hcl=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`gre`\" pulumi-lang-dotnet=\"`Gre`\" pulumi-lang-go=\"`gre`\" pulumi-lang-python=\"`gre`\" pulumi-lang-yaml=\"`gre`\" pulumi-lang-java=\"`gre`\" pulumi-lang-hcl=\"`gre`\"\u003e`gre`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e / `:protocol_number`, \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254, default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateBgpConfig:NetworktemplateBgpConfig": {
            "properties": {
                "authKey": {
                    "type": "string",
                    "description": "Authentication key used for BGP neighbor sessions, when configured\n"
                },
                "bfdMinimumInterval": {
                    "type": "integer",
                    "description": "Minimum interval in milliseconds for BFD hello packets. A neighbor is considered failed when the device stops receiving replies after the specified interval. Value must be between 1 and 255000.\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Export policy must match one of the policy names defined in the \u003cspan pulumi-lang-nodejs=\"`routingPolicies`\" pulumi-lang-dotnet=\"`RoutingPolicies`\" pulumi-lang-go=\"`routingPolicies`\" pulumi-lang-python=\"`routing_policies`\" pulumi-lang-yaml=\"`routingPolicies`\" pulumi-lang-java=\"`routingPolicies`\" pulumi-lang-hcl=\"`routing_policies`\"\u003e`routingPolicies`\u003c/span\u003e property.\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "Default BGP hold time for switch BGP sessions\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Import policy must match one of the policy names defined in the \u003cspan pulumi-lang-nodejs=\"`routingPolicies`\" pulumi-lang-dotnet=\"`RoutingPolicies`\" pulumi-lang-go=\"`routingPolicies`\" pulumi-lang-python=\"`routing_policies`\" pulumi-lang-yaml=\"`routingPolicies`\" pulumi-lang-java=\"`routingPolicies`\" pulumi-lang-hcl=\"`routing_policies`\"\u003e`routingPolicies`\u003c/span\u003e property.\n"
                },
                "localAs": {
                    "type": "string",
                    "description": "Local BGP Autonomous System (AS) number for the switch\n"
                },
                "neighbors": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateBgpConfigNeighbors:NetworktemplateBgpConfigNeighbors"
                    },
                    "description": "BGP neighbor settings keyed by neighbor IP address\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network names used to add BGP groups to the corresponding VRFs\n"
                },
                "type": {
                    "type": "string",
                    "description": "BGP session type for this switch BGP configuration\n"
                }
            },
            "type": "object",
            "required": [
                "localAs",
                "type"
            ]
        },
        "junipermist:org/NetworktemplateBgpConfigNeighbors:NetworktemplateBgpConfigNeighbors": {
            "properties": {
                "exportPolicy": {
                    "type": "string",
                    "description": "Export policy must match one of the policy names defined in the \u003cspan pulumi-lang-nodejs=\"`routingPolicies`\" pulumi-lang-dotnet=\"`RoutingPolicies`\" pulumi-lang-go=\"`routingPolicies`\" pulumi-lang-python=\"`routing_policies`\" pulumi-lang-yaml=\"`routingPolicies`\" pulumi-lang-java=\"`routingPolicies`\" pulumi-lang-hcl=\"`routing_policies`\"\u003e`routingPolicies`\u003c/span\u003e property.\n"
                },
                "holdTime": {
                    "type": "integer",
                    "description": "BGP hold time for this neighbor\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Import policy must match one of the policy names defined in the \u003cspan pulumi-lang-nodejs=\"`routingPolicies`\" pulumi-lang-dotnet=\"`RoutingPolicies`\" pulumi-lang-go=\"`routingPolicies`\" pulumi-lang-python=\"`routing_policies`\" pulumi-lang-yaml=\"`routingPolicies`\" pulumi-lang-java=\"`routingPolicies`\" pulumi-lang-hcl=\"`routing_policies`\"\u003e`routingPolicies`\u003c/span\u003e property.\n"
                },
                "multihopTtl": {
                    "type": "integer",
                    "description": "Time-to-live value for multihop BGP sessions to this neighbor\n"
                },
                "neighborAs": {
                    "type": "string",
                    "description": "Autonomous System (AS) number of the BGP neighbor. For internal BGP, this must match \u003cspan pulumi-lang-nodejs=\"`localAs`\" pulumi-lang-dotnet=\"`LocalAs`\" pulumi-lang-go=\"`localAs`\" pulumi-lang-python=\"`local_as`\" pulumi-lang-yaml=\"`localAs`\" pulumi-lang-java=\"`localAs`\" pulumi-lang-hcl=\"`local_as`\"\u003e`localAs`\u003c/span\u003e. For external BGP, this must differ from \u003cspan pulumi-lang-nodejs=\"`localAs`\" pulumi-lang-dotnet=\"`LocalAs`\" pulumi-lang-go=\"`localAs`\" pulumi-lang-python=\"`local_as`\" pulumi-lang-yaml=\"`localAs`\" pulumi-lang-java=\"`localAs`\" pulumi-lang-hcl=\"`local_as`\"\u003e`localAs`\u003c/span\u003e.\n"
                }
            },
            "type": "object",
            "required": [
                "neighborAs"
            ]
        },
        "junipermist:org/NetworktemplateDhcpSnooping:NetworktemplateDhcpSnooping": {
            "properties": {
                "allNetworks": {
                    "type": "boolean",
                    "description": "Whether DHCP snooping applies to all configured networks\n"
                },
                "enableArpSpoofCheck": {
                    "type": "boolean",
                    "description": "Enable for dynamic ARP inspection check\n"
                },
                "enableIpSourceGuard": {
                    "type": "boolean",
                    "description": "Enable for check for forging source IP address\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether DHCP snooping is enabled\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network names with DHCP snooping enabled when \u003cspan pulumi-lang-nodejs=\"`allNetworks`\" pulumi-lang-dotnet=\"`AllNetworks`\" pulumi-lang-go=\"`allNetworks`\" pulumi-lang-python=\"`all_networks`\" pulumi-lang-yaml=\"`allNetworks`\" pulumi-lang-java=\"`allNetworks`\" pulumi-lang-hcl=\"`all_networks`\"\u003e`allNetworks`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateExtraRoutes6:NetworktemplateExtraRoutes6": {
            "properties": {
                "discard": {
                    "type": "boolean",
                    "description": "Whether to install a discard route; this takes precedence over next-hop settings\n"
                },
                "metric": {
                    "type": "integer",
                    "description": "Route metric for the IPv6 static route\n"
                },
                "nextQualified": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateExtraRoutes6NextQualified:NetworktemplateExtraRoutes6NextQualified"
                    },
                    "description": "Qualified next-hop settings keyed by IPv6 next-hop address\n"
                },
                "noResolve": {
                    "type": "boolean",
                    "description": "Whether to prevent recursive next-hop resolution for the IPv6 static route\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for the IPv6 static route\n"
                },
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv6 address or ECMP next-hop IPv6 addresses for the route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/NetworktemplateExtraRoutes6NextQualified:NetworktemplateExtraRoutes6NextQualified": {
            "properties": {
                "metric": {
                    "type": "integer",
                    "description": "Route metric for this qualified IPv6 next hop\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for this qualified IPv6 next hop\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateExtraRoutes:NetworktemplateExtraRoutes": {
            "properties": {
                "discard": {
                    "type": "boolean",
                    "description": "Whether to install a discard route; this takes precedence over next-hop settings\n"
                },
                "metric": {
                    "type": "integer",
                    "description": "Route metric for the IPv4 static route\n"
                },
                "nextQualified": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateExtraRoutesNextQualified:NetworktemplateExtraRoutesNextQualified"
                    },
                    "description": "Qualified next-hop settings keyed by IPv4 next-hop address\n"
                },
                "noResolve": {
                    "type": "boolean",
                    "description": "Whether to prevent recursive next-hop resolution for the IPv4 static route\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for the IPv4 static route\n"
                },
                "via": {
                    "type": "string",
                    "description": "Next-hop IPv4 address or ECMP next-hop IPv4 addresses for the route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/NetworktemplateExtraRoutesNextQualified:NetworktemplateExtraRoutesNextQualified": {
            "properties": {
                "metric": {
                    "type": "integer",
                    "description": "Route metric for this qualified IPv4 next hop\n"
                },
                "preference": {
                    "type": "integer",
                    "description": "Route preference for this qualified IPv4 next hop\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateMistNac:NetworktemplateMistNac": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Mist NAC RadSec is enabled for the switch\n"
                },
                "network": {
                    "type": "string",
                    "description": "Switch network used for Mist NAC RadSec connectivity\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateNetworks:NetworktemplateNetworks": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Only required for EVPN-VXLAN networks, IPv4 Virtual Gateway\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "Only required for EVPN-VXLAN networks, IPv6 Virtual Gateway\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "whether to stop clients to talk to each other, default is false (when enabled, a unique\u003cspan pulumi-lang-nodejs=\" isolationVlanId \" pulumi-lang-dotnet=\" IsolationVlanId \" pulumi-lang-go=\" isolationVlanId \" pulumi-lang-python=\" isolation_vlan_id \" pulumi-lang-yaml=\" isolationVlanId \" pulumi-lang-java=\" isolationVlanId \" pulumi-lang-hcl=\" isolation_vlan_id \"\u003e isolationVlanId \u003c/span\u003eis required). NOTE: this features requires uplink device to also a be Juniper device and \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e to be set. See also \u003cspan pulumi-lang-nodejs=\"`interIsolationNetworkLink`\" pulumi-lang-dotnet=\"`InterIsolationNetworkLink`\" pulumi-lang-go=\"`interIsolationNetworkLink`\" pulumi-lang-python=\"`inter_isolation_network_link`\" pulumi-lang-yaml=\"`interIsolationNetworkLink`\" pulumi-lang-java=\"`interIsolationNetworkLink`\" pulumi-lang-hcl=\"`inter_isolation_network_link`\"\u003e`interIsolationNetworkLink`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`communityVlanId`\" pulumi-lang-dotnet=\"`CommunityVlanId`\" pulumi-lang-go=\"`communityVlanId`\" pulumi-lang-python=\"`community_vlan_id`\" pulumi-lang-yaml=\"`communityVlanId`\" pulumi-lang-java=\"`communityVlanId`\" pulumi-lang-hcl=\"`community_vlan_id`\"\u003e`communityVlanId`\u003c/span\u003e in port_usage\n"
                },
                "isolationVlanId": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Unique VLAN ID used for client isolation\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "Optional for pure switching, required when L3 / routing features are used\n"
                },
                "subnet6": {
                    "type": "string",
                    "description": "Optional for pure switching, required when L3 / routing features are used\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN identifier for this switch network\n"
                }
            },
            "type": "object",
            "required": [
                "vlanId"
            ]
        },
        "junipermist:org/NetworktemplateOspfAreas:NetworktemplateOspfAreas": {
            "properties": {
                "includeLoopback": {
                    "type": "boolean",
                    "description": "Whether loopback interfaces are included in this OSPF area\n"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateOspfAreasNetworks:NetworktemplateOspfAreasNetworks"
                    },
                    "description": "OSPF network settings keyed by network name\n"
                },
                "type": {
                    "type": "string",
                    "description": "Area type for this OSPF area\n"
                }
            },
            "type": "object",
            "required": [
                "networks"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "includeLoopback",
                        "networks",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateOspfAreasNetworks:NetworktemplateOspfAreasNetworks": {
            "properties": {
                "authKeys": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\" pulumi-lang-hcl=\"`md5`\"\u003e`md5`\u003c/span\u003e. Property key is the key number\n"
                },
                "authPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e, the password, max length is 8\n"
                },
                "authType": {
                    "type": "string",
                    "description": "Authentication method used by this OSPF network\n"
                },
                "bfdMinimumInterval": {
                    "type": "integer",
                    "description": "Minimum BFD interval for this OSPF network, in milliseconds\n"
                },
                "deadInterval": {
                    "type": "integer",
                    "description": "OSPF dead interval for this network, in seconds\n"
                },
                "exportPolicy": {
                    "type": "string",
                    "description": "Routing policy used to export routes from this OSPF network\n"
                },
                "helloInterval": {
                    "type": "integer",
                    "description": "OSPF hello interval for this network, in seconds\n"
                },
                "importPolicy": {
                    "type": "string",
                    "description": "Routing policy used to import routes for this OSPF network\n"
                },
                "interfaceType": {
                    "type": "string",
                    "description": "OSPF interface type used for this network\n"
                },
                "metric": {
                    "type": "integer",
                    "description": "OSPF metric assigned to this network\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "By default, we'll re-advertise all learned OSPF routes toward overlay\n"
                },
                "passive": {
                    "type": "boolean",
                    "description": "Whether to send OSPF-Hello\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "interfaceType",
                        "passive"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplatePortMirroring:NetworktemplatePortMirroring": {
            "properties": {
                "inputNetworksIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Networks whose ingress traffic is mirrored\n"
                },
                "inputPortIdsEgresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Switch ports whose egress traffic is mirrored\n"
                },
                "inputPortIdsIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Switch ports whose ingress traffic is mirrored\n"
                },
                "outputIpAddress": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputNetwork": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputPortId": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "inputNetworksIngresses",
                        "inputPortIdsEgresses",
                        "inputPortIdsIngresses"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplatePortUsages:NetworktemplatePortUsages": {
            "properties": {
                "allNetworks": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e. Whether to trunk all network/vlans\n"
                },
                "allowDhcpd": {
                    "type": "boolean",
                    "description": "Only applies when \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: ports become trusted ports allowing DHCP server traffic, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).\n"
                },
                "allowMultipleSupplicants": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "bypassAuthWhenServerDown": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for known clients if set to true when RADIUS server is down\n"
                },
                "bypassAuthWhenServerDownForUnknownClient": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for all (including unknown clients) if set to true when RADIUS server is down\n"
                },
                "bypassAuthWhenServerDownForVoip": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for VOIP if set to true when RADIUS server is down\n"
                },
                "communityVlanId": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. To be used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks. Signaling that this port connects to the networks isolated but wired clients belong to the same community can talk to each other\n"
                },
                "description": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. If speed and duplex are specified, whether to disable autonegotiation\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether the port is disabled\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Link duplex mode for this port usage\n"
                },
                "dynamicVlanNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Networks or VLANs that RADIUS can return for dynamic VLAN assignment\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Whether to enable MAC Auth\n"
                },
                "enableQos": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "guestNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)\n"
                },
                "interIsolationNetworkLink": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`interIsolationNetworkLink`\" pulumi-lang-dotnet=\"`InterIsolationNetworkLink`\" pulumi-lang-go=\"`interIsolationNetworkLink`\" pulumi-lang-python=\"`inter_isolation_network_link`\" pulumi-lang-yaml=\"`interIsolationNetworkLink`\" pulumi-lang-java=\"`interIsolationNetworkLink`\" pulumi-lang-hcl=\"`inter_isolation_network_link`\"\u003e`interIsolationNetworkLink`\u003c/span\u003e is used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks, signaling that this port connects to isolated networks\n"
                },
                "interSwitchLink": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e is used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks. NOTE: \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e works only between Juniper devices. This has to be applied to both ports connected together\n"
                },
                "macAuthOnly": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "macAuthPreferred": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`macAuthOnly`\" pulumi-lang-dotnet=\"`MacAuthOnly`\" pulumi-lang-go=\"`macAuthOnly`\" pulumi-lang-python=\"`mac_auth_only`\" pulumi-lang-yaml=\"`macAuthOnly`\" pulumi-lang-java=\"`macAuthOnly`\" pulumi-lang-hcl=\"`mac_auth_only`\"\u003e`macAuthOnly`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, dot1x will be given priority then mac_auth. Enable this to prefer\u003cspan pulumi-lang-nodejs=\" macAuth \" pulumi-lang-dotnet=\" MacAuth \" pulumi-lang-go=\" macAuth \" pulumi-lang-python=\" mac_auth \" pulumi-lang-yaml=\" macAuth \" pulumi-lang-java=\" macAuth \" pulumi-lang-hcl=\" mac_auth \"\u003e macAuth \u003c/span\u003eover dot1x.\n"
                },
                "macAuthProtocol": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. MAC authentication protocol to use; ignored if Mist NAC is enabled\n"
                },
                "macLimit": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e max number of mac addresses, default is 0 for unlimited, otherwise range is 1 to 16383 (upper bound constrained by platform)\n"
                },
                "mode": {
                    "type": "string",
                    "description": "Switching mode for this port usage\n"
                },
                "mtu": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. Value between 256 and 9216, default value is 1514.\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e. Network or VLAN names to trunk\n"
                },
                "persistMac": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\" pulumi-lang-hcl=\"`access`\"\u003e`access`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Whether the port should retain dynamically learned MAC addresses\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether PoE capabilities are disabled for a port\n"
                },
                "poeKeepStateWhenReboot": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether Perpetual PoE is enabled; keeps PoE state across reboots\n"
                },
                "poePriority": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. PoE priority for ports using this port usage\n"
                },
                "portAuth": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. 802.1X authentication mode for this port usage\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Native network/vlan for untagged traffic\n"
                },
                "reauthInterval": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e reauthentication interval range between 10 and 65535 (default: 3600)\n"
                },
                "resetDefaultWhen": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Condition that resets a dynamic port to the default port usage\n"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplatePortUsagesRule:NetworktemplatePortUsagesRule"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Dynamic matching rules that select the port usage to apply\n"
                },
                "serverFailNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Sets server fail fallback vlan\n"
                },
                "serverFailRetryInterval": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Interval, in seconds. Sets the wait time before retrying authentication after RADIUS failure to reduce client flapping. Range 120-65535\n"
                },
                "serverRejectNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. When RADIUS server reject / fails\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Link speed for this port usage\n"
                },
                "stormControl": {
                    "$ref": "#/types/junipermist:org/NetworktemplatePortUsagesStormControl:NetworktemplatePortUsagesStormControl",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Storm-control settings for this port usage\n"
                },
                "stpDisable": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`stpRequired`\" pulumi-lang-dotnet=\"`StpRequired`\" pulumi-lang-go=\"`stpRequired`\" pulumi-lang-python=\"`stp_required`\" pulumi-lang-yaml=\"`stpRequired`\" pulumi-lang-java=\"`stpRequired`\" pulumi-lang-hcl=\"`stp_required`\"\u003e`stpRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. Drop bridge protocol data units (BPDUs ) that enter any interface or a specified interface\n"
                },
                "stpEdge": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. When enabled, the port is not expected to receive BPDU frames\n"
                },
                "stpNoRootPort": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "stpP2p": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "stpRequired": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether to remain in block state if no BPDU is received\n"
                },
                "uiEvpntopoId": {
                    "type": "string",
                    "description": "Optional for Campus Fabric Core-Distribution ESI-LAG profile. Helper used by the UI to select this port profile as the ESI-Lag between Distribution and Access switches\n"
                },
                "useVstp": {
                    "type": "boolean",
                    "description": "If this is connected to a vstp network\n"
                },
                "voipNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "bypassAuthWhenServerDownForVoip",
                        "description",
                        "networks",
                        "poeKeepStateWhenReboot",
                        "serverFailRetryInterval"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplatePortUsagesRule:NetworktemplatePortUsagesRule": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Optional description of the rule\n"
                },
                "equals": {
                    "type": "string",
                    "description": "Exact value that the selected source attribute must match\n"
                },
                "equalsAnies": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of values where any match satisfies this dynamic rule\n"
                },
                "expression": {
                    "type": "string",
                    "description": "\"[0:3]\":\"abcdef\" \u003e \"abc\"\n\"split(.)[1]\": \"a.b.c\" \u003e \"b\"\n\"split(-)[1][0:3]: \"a1234-b5678-c90\" \u003e \"b56\"\n"
                },
                "src": {
                    "type": "string",
                    "description": "Source attribute evaluated by this dynamic rule\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Port usage name to apply when this dynamic rule matches\n"
                }
            },
            "type": "object",
            "required": [
                "src"
            ]
        },
        "junipermist:org/NetworktemplatePortUsagesStormControl:NetworktemplatePortUsagesStormControl": {
            "properties": {
                "disablePort": {
                    "type": "boolean",
                    "description": "Whether to disable the port when storm control is triggered\n"
                },
                "noBroadcast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on broadcast traffic\n"
                },
                "noMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on multicast traffic\n"
                },
                "noRegisteredMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on registered multicast traffic\n"
                },
                "noUnknownUnicast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on unknown unicast traffic\n"
                },
                "percentage": {
                    "type": "integer",
                    "description": "Bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateRadiusConfig:NetworktemplateRadiusConfig": {
            "properties": {
                "acctImmediateUpdate": {
                    "type": "boolean",
                    "description": "Whether immediate RADIUS accounting updates are sent\n"
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled\n"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRadiusConfigAcctServer:NetworktemplateRadiusConfigAcctServer"
                    },
                    "description": "RADIUS accounting servers used by this switch configuration\n"
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "Selection strategy for RADIUS authentication servers\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRadiusConfigAuthServer:NetworktemplateRadiusConfigAuthServer"
                    },
                    "description": "RADIUS authentication servers used by this switch configuration\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS Change of Authorization (CoA) is enabled\n"
                },
                "coaPort": {
                    "type": "string",
                    "description": "UDP port used for RADIUS Change of Authorization (CoA)\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "Whether fast 802.1X timers are enabled for RADIUS authentication\n"
                },
                "network": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003eor \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Explicit source IP address for RADIUS traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "acctInterimInterval",
                        "authServerSelection",
                        "authServersRetries",
                        "authServersTimeout",
                        "coaEnabled",
                        "coaPort",
                        "fastDot1xTimers"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateRadiusConfigAcctServer:NetworktemplateRadiusConfigAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS accounting server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this accounting server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS accounting server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:org/NetworktemplateRadiusConfigAuthServer:NetworktemplateRadiusConfigAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS authentication server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this authentication server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS authentication server\n"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS authentication server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:org/NetworktemplateRemoteSyslog:NetworktemplateRemoteSyslog": {
            "properties": {
                "archive": {
                    "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogArchive:NetworktemplateRemoteSyslogArchive",
                    "description": "Retention settings for generated syslog archive files\n"
                },
                "cacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CA certificates used to verify TLS syslog servers\n"
                },
                "console": {
                    "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogConsole:NetworktemplateRemoteSyslogConsole",
                    "description": "Log forwarding filters for console messages sent to remote syslog\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether remote syslog forwarding is enabled\n"
                },
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogFile:NetworktemplateRemoteSyslogFile"
                    },
                    "description": "Local syslog file definitions to generate and forward\n"
                },
                "network": {
                    "type": "string",
                    "description": "Source network used for syslog traffic. If \u003cspan pulumi-lang-nodejs=\"`sourceAddress`\" pulumi-lang-dotnet=\"`SourceAddress`\" pulumi-lang-go=\"`sourceAddress`\" pulumi-lang-python=\"`source_address`\" pulumi-lang-yaml=\"`sourceAddress`\" pulumi-lang-java=\"`sourceAddress`\" pulumi-lang-hcl=\"`source_address`\"\u003e`sourceAddress`\u003c/span\u003e is configured, Mist uses the VLAN first; otherwise it uses \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e\n"
                },
                "sendToAllServers": {
                    "type": "boolean",
                    "description": "Whether each log entry is sent to all configured remote syslog servers\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogServer:NetworktemplateRemoteSyslogServer"
                    },
                    "description": "Remote syslog server destinations\n"
                },
                "timeFormat": {
                    "type": "string",
                    "description": "Timestamp format used in forwarded syslog messages\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogUser:NetworktemplateRemoteSyslogUser"
                    },
                    "description": "User-specific syslog logging rules\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateRemoteSyslogArchive:NetworktemplateRemoteSyslogArchive": {
            "properties": {
                "files": {
                    "type": "string",
                    "description": "Number of archived syslog files to retain\n"
                },
                "size": {
                    "type": "string",
                    "description": "Maximum size of each archived syslog file, such as 5m\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateRemoteSyslogConsole:NetworktemplateRemoteSyslogConsole": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogConsoleContent:NetworktemplateRemoteSyslogConsoleContent"
                    },
                    "description": "Syslog facilities and severities forwarded from console logs\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateRemoteSyslogConsoleContent:NetworktemplateRemoteSyslogConsoleContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateRemoteSyslogFile:NetworktemplateRemoteSyslogFile": {
            "properties": {
                "archive": {
                    "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogFileArchive:NetworktemplateRemoteSyslogFileArchive",
                    "description": "Retention settings for this generated syslog file\n"
                },
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogFileContent:NetworktemplateRemoteSyslogFileContent"
                    },
                    "description": "Syslog facilities and severities written to this file\n"
                },
                "enableTls": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, enable TLS for this syslog file destination\n"
                },
                "explicitPriority": {
                    "type": "boolean",
                    "description": "Whether to include explicit syslog priority values in file output\n"
                },
                "file": {
                    "type": "string",
                    "description": "Generated syslog file name\n"
                },
                "match": {
                    "type": "string",
                    "description": "Expression used to filter log messages written to this file\n"
                },
                "structuredData": {
                    "type": "boolean",
                    "description": "Whether to include structured syslog data in file output\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateRemoteSyslogFileArchive:NetworktemplateRemoteSyslogFileArchive": {
            "properties": {
                "files": {
                    "type": "string",
                    "description": "Number of archived syslog files to retain\n"
                },
                "size": {
                    "type": "string",
                    "description": "Maximum size of each archived syslog file, such as 5m\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateRemoteSyslogFileContent:NetworktemplateRemoteSyslogFileContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateRemoteSyslogServer:NetworktemplateRemoteSyslogServer": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogServerContent:NetworktemplateRemoteSyslogServerContent"
                    },
                    "description": "Syslog facilities and severities sent to this server\n"
                },
                "explicitPriority": {
                    "type": "boolean",
                    "description": "Whether to include explicit syslog priority values in messages sent to this server\n"
                },
                "facility": {
                    "type": "string",
                    "description": "Default syslog facility for messages sent to this server\n"
                },
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the remote syslog server\n"
                },
                "match": {
                    "type": "string",
                    "description": "Expression used to filter log messages sent to this server\n"
                },
                "port": {
                    "type": "string",
                    "description": "Network port used by the remote syslog server\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Transport protocol used for this remote syslog server\n"
                },
                "routingInstance": {
                    "type": "string",
                    "description": "Routing instance used to reach this remote syslog server\n"
                },
                "serverName": {
                    "type": "string",
                    "description": "TLS server name used when verifying the remote syslog server certificate\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Default syslog severity for messages sent to this server\n"
                },
                "sourceAddress": {
                    "type": "string",
                    "description": "Source address for syslog traffic. If configured, Mist uses the VLAN first; otherwise it uses \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e\n"
                },
                "structuredData": {
                    "type": "boolean",
                    "description": "Whether to include structured syslog data in messages sent to this server\n"
                },
                "tag": {
                    "type": "string",
                    "description": "Syslog tag value added to messages sent to this server\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "protocol",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateRemoteSyslogServerContent:NetworktemplateRemoteSyslogServerContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateRemoteSyslogUser:NetworktemplateRemoteSyslogUser": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslogUserContent:NetworktemplateRemoteSyslogUserContent"
                    },
                    "description": "Syslog facilities and severities logged for this user rule\n"
                },
                "match": {
                    "type": "string",
                    "description": "Expression used to filter user log messages\n"
                },
                "user": {
                    "type": "string",
                    "description": "Account name or wildcard matched by this syslog rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateRemoteSyslogUserContent:NetworktemplateRemoteSyslogUserContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "Syslog facility to match for this selector\n"
                },
                "severity": {
                    "type": "string",
                    "description": "Syslog severity to match for this selector\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateRoutingPolicies:NetworktemplateRoutingPolicies": {
            "properties": {
                "terms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRoutingPoliciesTerm:NetworktemplateRoutingPoliciesTerm"
                    },
                    "description": "Ordered terms evaluated by this switch routing policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateRoutingPoliciesTerm:NetworktemplateRoutingPoliciesTerm": {
            "properties": {
                "actions": {
                    "$ref": "#/types/junipermist:org/NetworktemplateRoutingPoliciesTermActions:NetworktemplateRoutingPoliciesTermActions",
                    "description": "Policy actions applied when this routing policy term matches\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:org/NetworktemplateRoutingPoliciesTermMatching:NetworktemplateRoutingPoliciesTermMatching",
                    "description": "Route match criteria that must be satisfied before actions are applied\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the switch routing policy term\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "junipermist:org/NetworktemplateRoutingPoliciesTermActions:NetworktemplateRoutingPoliciesTermActions": {
            "properties": {
                "accept": {
                    "type": "boolean",
                    "description": "Whether to accept routes that match this term\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities to set when this term is used as an export policy\n"
                },
                "localPreference": {
                    "type": "string",
                    "description": "Optional, for an import policy,\u003cspan pulumi-lang-nodejs=\" localPreference \" pulumi-lang-dotnet=\" LocalPreference \" pulumi-lang-go=\" localPreference \" pulumi-lang-python=\" local_preference \" pulumi-lang-yaml=\" localPreference \" pulumi-lang-java=\" localPreference \" pulumi-lang-hcl=\" local_preference \"\u003e localPreference \u003c/span\u003ecan be changed, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "prependAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AS path values to prepend when this term is used as an export policy\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateRoutingPoliciesTermMatching:NetworktemplateRoutingPoliciesTermMatching": {
            "properties": {
                "asPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP communities that routes must match\n"
                },
                "prefixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Route prefixes that routes must match\n"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\" pulumi-lang-hcl=\"`bgp`\"\u003e`bgp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`direct`\" pulumi-lang-dotnet=\"`Direct`\" pulumi-lang-go=\"`direct`\" pulumi-lang-python=\"`direct`\" pulumi-lang-yaml=\"`direct`\" pulumi-lang-java=\"`direct`\" pulumi-lang-hcl=\"`direct`\"\u003e`direct`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`evpn`\" pulumi-lang-dotnet=\"`Evpn`\" pulumi-lang-go=\"`evpn`\" pulumi-lang-python=\"`evpn`\" pulumi-lang-yaml=\"`evpn`\" pulumi-lang-java=\"`evpn`\" pulumi-lang-hcl=\"`evpn`\"\u003e`evpn`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ospf`\" pulumi-lang-dotnet=\"`Ospf`\" pulumi-lang-go=\"`ospf`\" pulumi-lang-python=\"`ospf`\" pulumi-lang-yaml=\"`ospf`\" pulumi-lang-java=\"`ospf`\" pulumi-lang-hcl=\"`ospf`\"\u003e`ospf`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfig:NetworktemplateSnmpConfig": {
            "properties": {
                "clientLists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigClientList:NetworktemplateSnmpConfigClientList"
                    },
                    "description": "SNMP client allowlists that can be referenced by communities\n"
                },
                "contact": {
                    "type": "string",
                    "description": "Administrative contact string advertised through SNMP\n"
                },
                "description": {
                    "type": "string",
                    "description": "Device description string advertised through SNMP\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SNMP is enabled\n"
                },
                "engineId": {
                    "type": "string",
                    "description": "SNMP engine ID used for SNMPv3\n"
                },
                "engineIdType": {
                    "type": "string",
                    "description": "Method used to derive the SNMP engine ID\n"
                },
                "location": {
                    "type": "string",
                    "description": "Physical location string advertised through SNMP\n"
                },
                "name": {
                    "type": "string",
                    "description": "System name advertised through SNMP\n"
                },
                "network": {
                    "type": "string",
                    "description": "Management network used for SNMP traffic\n"
                },
                "trapGroups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigTrapGroup:NetworktemplateSnmpConfigTrapGroup"
                    },
                    "description": "SNMP trap group definitions\n"
                },
                "v2cConfigs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV2cConfig:NetworktemplateSnmpConfigV2cConfig"
                    },
                    "description": "SNMPv2c community configuration entries for this SNMP profile\n"
                },
                "v3Config": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3Config:NetworktemplateSnmpConfigV3Config",
                    "description": "SNMPv3 user, VACM, notify, and target configuration\n"
                },
                "views": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigView:NetworktemplateSnmpConfigView"
                    },
                    "description": "SNMP MIB view definitions\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "engineIdType"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSnmpConfigClientList:NetworktemplateSnmpConfigClientList": {
            "properties": {
                "clientListName": {
                    "type": "string",
                    "description": "Name of the SNMP client list\n"
                },
                "clients": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SNMP client IP addresses or CIDR ranges allowed by this list\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigTrapGroup:NetworktemplateSnmpConfigTrapGroup": {
            "properties": {
                "categories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trap categories included in this SNMP trap group\n"
                },
                "groupName": {
                    "type": "string",
                    "description": "Trap group name for this SNMP trap group\n"
                },
                "targets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trap target addresses for this SNMP trap group\n"
                },
                "version": {
                    "type": "string",
                    "description": "SNMP trap protocol version used by this group\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "version"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSnmpConfigV2cConfig:NetworktemplateSnmpConfigV2cConfig": {
            "properties": {
                "authorization": {
                    "type": "string",
                    "description": "Access level for the SNMPv2c community\n"
                },
                "clientListName": {
                    "type": "string",
                    "description": "SNMP client list name referenced by this community\n"
                },
                "communityName": {
                    "type": "string",
                    "description": "SNMPv2c community string name\n"
                },
                "view": {
                    "type": "string",
                    "description": "SNMP view name that must be defined in the views list\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigV3Config:NetworktemplateSnmpConfigV3Config": {
            "properties": {
                "notifies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigNotify:NetworktemplateSnmpConfigV3ConfigNotify"
                    },
                    "description": "SNMPv3 notification definitions used for traps and informs\n"
                },
                "notifyFilters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigNotifyFilter:NetworktemplateSnmpConfigV3ConfigNotifyFilter"
                    },
                    "description": "SNMPv3 notification filter profiles\n"
                },
                "targetAddresses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigTargetAddress:NetworktemplateSnmpConfigV3ConfigTargetAddress"
                    },
                    "description": "SNMPv3 notification target addresses\n"
                },
                "targetParameters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigTargetParameter:NetworktemplateSnmpConfigV3ConfigTargetParameter"
                    },
                    "description": "SNMPv3 target parameter profiles\n"
                },
                "usms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigUsm:NetworktemplateSnmpConfigV3ConfigUsm"
                    },
                    "description": "SNMPv3 USM engine configurations\n"
                },
                "vacm": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigVacm:NetworktemplateSnmpConfigV3ConfigVacm",
                    "description": "SNMPv3 VACM access control configuration\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigNotify:NetworktemplateSnmpConfigV3ConfigNotify": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Identifier for this SNMPv3 notification definition\n"
                },
                "tag": {
                    "type": "string",
                    "description": "Notification tag used to select target addresses\n"
                },
                "type": {
                    "type": "string",
                    "description": "Delivery mode for this SNMPv3 notification, such as trap or inform\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "tag",
                "type"
            ]
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigNotifyFilter:NetworktemplateSnmpConfigV3ConfigNotifyFilter": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigNotifyFilterContent:NetworktemplateSnmpConfigV3ConfigNotifyFilterContent"
                    },
                    "description": "OID filter rules in this notification filter profile\n"
                },
                "profileName": {
                    "type": "string",
                    "description": "Notification filter profile name\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigNotifyFilterContent:NetworktemplateSnmpConfigV3ConfigNotifyFilterContent": {
            "properties": {
                "include": {
                    "type": "boolean",
                    "description": "Whether the matching OID subtree is included\n"
                },
                "oid": {
                    "type": "string",
                    "description": "Matched OID subtree for this notification filter rule\n"
                }
            },
            "type": "object",
            "required": [
                "oid"
            ]
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigTargetAddress:NetworktemplateSnmpConfigV3ConfigTargetAddress": {
            "properties": {
                "address": {
                    "type": "string",
                    "description": "IP address or hostname of the SNMP target\n"
                },
                "addressMask": {
                    "type": "string",
                    "description": "Mask applied to the SNMP target address\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the SNMP target\n"
                },
                "tagList": {
                    "type": "string",
                    "description": "Set of notification tags for this target address; use spaces between multiple tags\n"
                },
                "targetAddressName": {
                    "type": "string",
                    "description": "Name of the SNMP target address entry\n"
                },
                "targetParameters": {
                    "type": "string",
                    "description": "Target parameter profile referenced by this target address\n"
                }
            },
            "type": "object",
            "required": [
                "address",
                "addressMask",
                "targetAddressName"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "address",
                        "addressMask",
                        "port",
                        "targetAddressName"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigTargetParameter:NetworktemplateSnmpConfigV3ConfigTargetParameter": {
            "properties": {
                "messageProcessingModel": {
                    "type": "string",
                    "description": "SNMP message processing model used by this target parameter profile\n"
                },
                "name": {
                    "type": "string",
                    "description": "Target parameter profile name\n"
                },
                "notifyFilter": {
                    "type": "string",
                    "description": "Notification filter profile referenced by this target parameter profile\n"
                },
                "securityLevel": {
                    "type": "string",
                    "description": "Required security level for this target parameter profile\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "Required security model for this target parameter profile\n"
                },
                "securityName": {
                    "type": "string",
                    "description": "USM security name referenced by this target parameter profile\n"
                }
            },
            "type": "object",
            "required": [
                "messageProcessingModel",
                "name"
            ]
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigUsm:NetworktemplateSnmpConfigV3ConfigUsm": {
            "properties": {
                "engineType": {
                    "type": "string",
                    "description": "SNMP engine type used for this USM configuration\n"
                },
                "remoteEngineId": {
                    "type": "string",
                    "description": "Required only if \u003cspan pulumi-lang-nodejs=\"`engineType`\" pulumi-lang-dotnet=\"`EngineType`\" pulumi-lang-go=\"`engineType`\" pulumi-lang-python=\"`engine_type`\" pulumi-lang-yaml=\"`engineType`\" pulumi-lang-java=\"`engineType`\" pulumi-lang-hcl=\"`engine_type`\"\u003e`engineType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`remoteEngine`\" pulumi-lang-dotnet=\"`RemoteEngine`\" pulumi-lang-go=\"`remoteEngine`\" pulumi-lang-python=\"`remote_engine`\" pulumi-lang-yaml=\"`remoteEngine`\" pulumi-lang-java=\"`remoteEngine`\" pulumi-lang-hcl=\"`remote_engine`\"\u003e`remoteEngine`\u003c/span\u003e\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigUsmUser:NetworktemplateSnmpConfigV3ConfigUsmUser"
                    },
                    "description": "SNMPv3 USM users for this engine\n"
                }
            },
            "type": "object",
            "required": [
                "engineType"
            ]
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigUsmUser:NetworktemplateSnmpConfigV3ConfigUsmUser": {
            "properties": {
                "authenticationPassword": {
                    "type": "string",
                    "description": "Not required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\" pulumi-lang-hcl=\"`authentication_type`\"\u003e`authenticationType`\u003c/span\u003e==`authentication-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters.\n",
                    "secret": true
                },
                "authenticationType": {
                    "type": "string",
                    "description": "Authentication protocol used by this SNMPv3 USM user\n"
                },
                "encryptionPassword": {
                    "type": "string",
                    "description": "Not required if \u003cspan pulumi-lang-nodejs=\"`encryptionType`\" pulumi-lang-dotnet=\"`EncryptionType`\" pulumi-lang-go=\"`encryptionType`\" pulumi-lang-python=\"`encryption_type`\" pulumi-lang-yaml=\"`encryptionType`\" pulumi-lang-java=\"`encryptionType`\" pulumi-lang-hcl=\"`encryption_type`\"\u003e`encryptionType`\u003c/span\u003e==`privacy-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters\n",
                    "secret": true
                },
                "encryptionType": {
                    "type": "string",
                    "description": "Privacy protocol used by this SNMPv3 USM user\n"
                },
                "name": {
                    "type": "string",
                    "description": "Username for the SNMPv3 USM user\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigVacm:NetworktemplateSnmpConfigV3ConfigVacm": {
            "properties": {
                "accesses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigVacmAccess:NetworktemplateSnmpConfigV3ConfigVacmAccess"
                    },
                    "description": "VACM access rules for SNMPv3\n"
                },
                "securityToGroup": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroup:NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroup",
                    "description": "VACM security-name to group mappings\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigVacmAccess:NetworktemplateSnmpConfigV3ConfigVacmAccess": {
            "properties": {
                "groupName": {
                    "type": "string",
                    "description": "SNMP VACM group name\n"
                },
                "prefixLists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigVacmAccessPrefixList:NetworktemplateSnmpConfigV3ConfigVacmAccessPrefixList"
                    },
                    "description": "Context prefix rules for this VACM group\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigVacmAccessPrefixList:NetworktemplateSnmpConfigV3ConfigVacmAccessPrefixList": {
            "properties": {
                "contextPrefix": {
                    "type": "string",
                    "description": "Context prefix for this VACM access rule. Required only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`contextPrefix`\" pulumi-lang-dotnet=\"`ContextPrefix`\" pulumi-lang-go=\"`contextPrefix`\" pulumi-lang-python=\"`context_prefix`\" pulumi-lang-yaml=\"`contextPrefix`\" pulumi-lang-java=\"`contextPrefix`\" pulumi-lang-hcl=\"`context_prefix`\"\u003e`contextPrefix`\u003c/span\u003e\n"
                },
                "notifyView": {
                    "type": "string",
                    "description": "Notify view name referenced by this VACM access rule\n"
                },
                "readView": {
                    "type": "string",
                    "description": "Read view name referenced by this VACM access rule\n"
                },
                "securityLevel": {
                    "type": "string",
                    "description": "Required security level for this VACM access rule\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "Required security model for this VACM access rule\n"
                },
                "type": {
                    "type": "string",
                    "description": "VACM context matching type for this access rule\n"
                },
                "writeView": {
                    "type": "string",
                    "description": "Write view name referenced by this VACM access rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroup:NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroup": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroupContent:NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroupContent"
                    },
                    "description": "VACM security-name to group mapping entries\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "Required security model for these VACM group mappings\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroupContent:NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroupContent": {
            "properties": {
                "group": {
                    "type": "string",
                    "description": "VACM group name referenced by this mapping\n"
                },
                "securityName": {
                    "type": "string",
                    "description": "Name of the SNMP security principal mapped to a VACM group\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSnmpConfigView:NetworktemplateSnmpConfigView": {
            "properties": {
                "include": {
                    "type": "boolean",
                    "description": "Whether the root OID is included in this SNMP view\n"
                },
                "oid": {
                    "type": "string",
                    "description": "Root OID for this SNMP view\n"
                },
                "viewName": {
                    "type": "string",
                    "description": "Name of the SNMP MIB view definition\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSwitchMatching:NetworktemplateSwitchMatching": {
            "properties": {
                "enable": {
                    "type": "boolean",
                    "description": "Whether custom switch matching rules are enabled\n"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSwitchMatchingRule:NetworktemplateSwitchMatchingRule"
                    },
                    "description": "list of rules to define custom switch configuration based on different criteria. Each list must have at least one of \u003cspan pulumi-lang-nodejs=\"`matchModel`\" pulumi-lang-dotnet=\"`MatchModel`\" pulumi-lang-go=\"`matchModel`\" pulumi-lang-python=\"`match_model`\" pulumi-lang-yaml=\"`matchModel`\" pulumi-lang-java=\"`matchModel`\" pulumi-lang-hcl=\"`match_model`\"\u003e`matchModel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`matchName`\" pulumi-lang-dotnet=\"`MatchName`\" pulumi-lang-go=\"`matchName`\" pulumi-lang-python=\"`match_name`\" pulumi-lang-yaml=\"`matchName`\" pulumi-lang-java=\"`matchName`\" pulumi-lang-hcl=\"`match_name`\"\u003e`matchName`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`matchRole`\" pulumi-lang-dotnet=\"`MatchRole`\" pulumi-lang-go=\"`matchRole`\" pulumi-lang-python=\"`match_role`\" pulumi-lang-yaml=\"`matchRole`\" pulumi-lang-java=\"`matchRole`\" pulumi-lang-hcl=\"`match_role`\"\u003e`matchRole`\u003c/span\u003e must be defined\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSwitchMatchingRule:NetworktemplateSwitchMatchingRule": {
            "properties": {
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional Junos CLI commands applied when this matching rule matches\n"
                },
                "defaultPortUsage": {
                    "type": "string",
                    "description": "Port usage to assign to switch ports without any port usage assigned. Default: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e to preserve default behavior\n"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSwitchMatchingRuleIpConfig:NetworktemplateSwitchMatchingRuleIpConfig",
                    "description": "In-band management IP configuration applied when this matching rule matches\n"
                },
                "matchModel": {
                    "type": "string",
                    "description": "string the switch model must start with to use this rule. It is possible to combine with the \u003cspan pulumi-lang-nodejs=\"`matchName`\" pulumi-lang-dotnet=\"`MatchName`\" pulumi-lang-go=\"`matchName`\" pulumi-lang-python=\"`match_name`\" pulumi-lang-yaml=\"`matchName`\" pulumi-lang-java=\"`matchName`\" pulumi-lang-hcl=\"`match_name`\"\u003e`matchName`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`matchRole`\" pulumi-lang-dotnet=\"`MatchRole`\" pulumi-lang-go=\"`matchRole`\" pulumi-lang-python=\"`match_role`\" pulumi-lang-yaml=\"`matchRole`\" pulumi-lang-java=\"`matchRole`\" pulumi-lang-hcl=\"`match_role`\"\u003e`matchRole`\u003c/span\u003e attributes\n"
                },
                "matchName": {
                    "type": "string",
                    "description": "string the switch name must start with to use this rule. Use the \u003cspan pulumi-lang-nodejs=\"`matchNameOffset`\" pulumi-lang-dotnet=\"`MatchNameOffset`\" pulumi-lang-go=\"`matchNameOffset`\" pulumi-lang-python=\"`match_name_offset`\" pulumi-lang-yaml=\"`matchNameOffset`\" pulumi-lang-java=\"`matchNameOffset`\" pulumi-lang-hcl=\"`match_name_offset`\"\u003e`matchNameOffset`\u003c/span\u003e to indicate the first character of the switch name to compare to. It is possible to combine with the \u003cspan pulumi-lang-nodejs=\"`matchModel`\" pulumi-lang-dotnet=\"`MatchModel`\" pulumi-lang-go=\"`matchModel`\" pulumi-lang-python=\"`match_model`\" pulumi-lang-yaml=\"`matchModel`\" pulumi-lang-java=\"`matchModel`\" pulumi-lang-hcl=\"`match_model`\"\u003e`matchModel`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`matchRole`\" pulumi-lang-dotnet=\"`MatchRole`\" pulumi-lang-go=\"`matchRole`\" pulumi-lang-python=\"`match_role`\" pulumi-lang-yaml=\"`matchRole`\" pulumi-lang-java=\"`matchRole`\" pulumi-lang-hcl=\"`match_role`\"\u003e`matchRole`\u003c/span\u003e attributes\n"
                },
                "matchNameOffset": {
                    "type": "integer",
                    "description": "first character of the switch name to compare to the \u003cspan pulumi-lang-nodejs=\"`matchName`\" pulumi-lang-dotnet=\"`MatchName`\" pulumi-lang-go=\"`matchName`\" pulumi-lang-python=\"`match_name`\" pulumi-lang-yaml=\"`matchName`\" pulumi-lang-java=\"`matchName`\" pulumi-lang-hcl=\"`match_name`\"\u003e`matchName`\u003c/span\u003e value\n"
                },
                "matchRole": {
                    "type": "string",
                    "description": "string the switch role must start with to use this rule. It is possible to combine with the \u003cspan pulumi-lang-nodejs=\"`matchName`\" pulumi-lang-dotnet=\"`MatchName`\" pulumi-lang-go=\"`matchName`\" pulumi-lang-python=\"`match_name`\" pulumi-lang-yaml=\"`matchName`\" pulumi-lang-java=\"`matchName`\" pulumi-lang-hcl=\"`match_name`\"\u003e`matchName`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`matchModel`\" pulumi-lang-dotnet=\"`MatchModel`\" pulumi-lang-go=\"`matchModel`\" pulumi-lang-python=\"`match_model`\" pulumi-lang-yaml=\"`matchModel`\" pulumi-lang-java=\"`matchModel`\" pulumi-lang-hcl=\"`match_model`\"\u003e`matchModel`\u003c/span\u003e attributes\n"
                },
                "name": {
                    "type": "string",
                    "description": "Rule name. WARNING: the name \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e is reserved and can only be used for the last rule in the list\n"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSwitchMatchingRuleOobIpConfig:NetworktemplateSwitchMatchingRuleOobIpConfig",
                    "description": "Out-of-band management IP configuration applied when this matching rule matches\n"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSwitchMatchingRulePortConfig:NetworktemplateSwitchMatchingRulePortConfig"
                    },
                    "description": "Per-port wired configuration applied when this matching rule matches\n"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSwitchMatchingRulePortMirroring:NetworktemplateSwitchMatchingRulePortMirroring"
                    },
                    "description": "Port mirroring configuration applied when this matching rule matches\n"
                },
                "stpConfig": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSwitchMatchingRuleStpConfig:NetworktemplateSwitchMatchingRuleStpConfig",
                    "description": "Spanning Tree Protocol configuration applied when this matching rule matches\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "defaultPortUsage",
                        "matchNameOffset"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMatchingRuleIpConfig:NetworktemplateSwitchMatchingRuleIpConfig": {
            "properties": {
                "network": {
                    "type": "string",
                    "description": "VLAN Name for the management interface\n"
                },
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for in-band switch management\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMatchingRuleOobIpConfig:NetworktemplateSwitchMatchingRuleOobIpConfig": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "IP assignment mode for out-of-band switch management\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "For host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type",
                        "useMgmtVrf"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMatchingRulePortConfig:NetworktemplateSwitchMatchingRulePortConfig": {
            "properties": {
                "aeDisableLacp": {
                    "type": "boolean",
                    "description": "To disable LACP support for the AE interface\n"
                },
                "aeIdx": {
                    "type": "integer",
                    "description": "Users could force to use the designated AE name\n"
                },
                "aeLacpForceUp": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, sets the state of the interface as UP when the peer has limited LACP capability. Use case: When a device connected to this AE port is ZTPing for the first time, it will not have LACP configured on the other end. **Note:** Turning this on will enable force-up on one of the interfaces in the bundle only\n"
                },
                "aeLacpPassive": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, sets LACP to passive mode on this AE interface; by default, active (fast) mode is used\n"
                },
                "aeLacpSlow": {
                    "type": "boolean",
                    "description": "To use slow timeout\n"
                },
                "aggregated": {
                    "type": "boolean",
                    "description": "Whether this port is configured as an aggregated Ethernet member\n"
                },
                "critical": {
                    "type": "boolean",
                    "description": "To generate port up/down alarm\n"
                },
                "description": {
                    "type": "string",
                    "description": "Human-readable description for this Junos port\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`speed`\" pulumi-lang-dotnet=\"`Speed`\" pulumi-lang-go=\"`speed`\" pulumi-lang-python=\"`speed`\" pulumi-lang-yaml=\"`speed`\" pulumi-lang-java=\"`speed`\" pulumi-lang-hcl=\"`speed`\"\u003e`speed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`duplex`\" pulumi-lang-dotnet=\"`Duplex`\" pulumi-lang-go=\"`duplex`\" pulumi-lang-python=\"`duplex`\" pulumi-lang-yaml=\"`duplex`\" pulumi-lang-java=\"`duplex`\" pulumi-lang-hcl=\"`duplex`\"\u003e`duplex`\u003c/span\u003e are specified, whether to disable autonegotiation\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Link duplex mode for this Junos port\n"
                },
                "dynamicUsage": {
                    "type": "string",
                    "description": "Enable dynamic usage for this port. Set to \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e to enable.\n"
                },
                "esilag": {
                    "type": "boolean",
                    "description": "Whether this Junos port participates in an ESI-LAG\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names. Required if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`inet`\" pulumi-lang-dotnet=\"`Inet`\" pulumi-lang-go=\"`inet`\" pulumi-lang-python=\"`inet`\" pulumi-lang-yaml=\"`inet`\" pulumi-lang-java=\"`inet`\" pulumi-lang-hcl=\"`inet`\"\u003e`inet`\u003c/span\u003e\n"
                },
                "noLocalOverwrite": {
                    "type": "boolean",
                    "description": "Prevent helpdesk to override the port config\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Whether PoE capabilities are disabled for this Junos port\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlanTunnel`\" pulumi-lang-dotnet=\"`VlanTunnel`\" pulumi-lang-go=\"`vlanTunnel`\" pulumi-lang-python=\"`vlan_tunnel`\" pulumi-lang-yaml=\"`vlanTunnel`\" pulumi-lang-java=\"`vlanTunnel`\" pulumi-lang-hcl=\"`vlan_tunnel`\"\u003e`vlanTunnel`\u003c/span\u003e. Q-in-Q tunneling using All-in-one bundling. This also enables standard L2PT for interfaces that are not encapsulation tunnel interfaces and uses MAC rewrite operation. [View more information](https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/topic-map/q-in-q.html#id-understanding-qinq-tunneling-and-vlan-translation)\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Link speed for this Junos port\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Port usage name. For Q-in-Q, use \u003cspan pulumi-lang-nodejs=\"`vlanTunnel`\" pulumi-lang-dotnet=\"`VlanTunnel`\" pulumi-lang-go=\"`vlanTunnel`\" pulumi-lang-python=\"`vlan_tunnel`\" pulumi-lang-yaml=\"`vlanTunnel`\" pulumi-lang-java=\"`vlanTunnel`\" pulumi-lang-hcl=\"`vlan_tunnel`\"\u003e`vlanTunnel`\u003c/span\u003e. If EVPN is used, use \u003cspan pulumi-lang-nodejs=\"`evpnUplink`\" pulumi-lang-dotnet=\"`EvpnUplink`\" pulumi-lang-go=\"`evpnUplink`\" pulumi-lang-python=\"`evpn_uplink`\" pulumi-lang-yaml=\"`evpnUplink`\" pulumi-lang-java=\"`evpnUplink`\" pulumi-lang-hcl=\"`evpn_uplink`\"\u003e`evpnUplink`\u003c/span\u003eor \u003cspan pulumi-lang-nodejs=\"`evpnDownlink`\" pulumi-lang-dotnet=\"`EvpnDownlink`\" pulumi-lang-go=\"`evpnDownlink`\" pulumi-lang-python=\"`evpn_downlink`\" pulumi-lang-yaml=\"`evpnDownlink`\" pulumi-lang-java=\"`evpnDownlink`\" pulumi-lang-hcl=\"`evpn_downlink`\"\u003e`evpnDownlink`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "aeLacpForceUp",
                        "aeLacpPassive",
                        "critical",
                        "noLocalOverwrite",
                        "usage"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMatchingRulePortMirroring:NetworktemplateSwitchMatchingRulePortMirroring": {
            "properties": {
                "inputNetworksIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Networks whose ingress traffic is mirrored\n"
                },
                "inputPortIdsEgresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Switch ports whose egress traffic is mirrored\n"
                },
                "inputPortIdsIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one mirror input source should be specified. Switch ports whose ingress traffic is mirrored\n"
                },
                "outputIpAddress": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputNetwork": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputPortId": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "inputNetworksIngresses",
                        "inputPortIdsEgresses",
                        "inputPortIdsIngresses"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMatchingRuleStpConfig:NetworktemplateSwitchMatchingRuleStpConfig": {
            "properties": {
                "bridgePriority": {
                    "type": "string",
                    "description": "Switch STP priority. Range [0, 4k, 8k.. 60k] in steps of 4k. Bridge priority applies to both VSTP and RSTP.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "bridgePriority"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMgmt:NetworktemplateSwitchMgmt": {
            "properties": {
                "apAffinityThreshold": {
                    "type": "integer",
                    "description": "AP affinity threshold for switch management. If set in both site settings and organization settings, the site setting value is used.\n"
                },
                "cliBanner": {
                    "type": "string",
                    "description": "Set Banners for switches. Allows markup formatting\n"
                },
                "cliIdleTimeout": {
                    "type": "integer",
                    "description": "Sets timeout for switches\n"
                },
                "configRevertTimer": {
                    "type": "integer",
                    "description": "Rollback timer for commit confirmed\n"
                },
                "dhcpOptionFqdn": {
                    "type": "boolean",
                    "description": "Enable to provide the FQDN with DHCP option 81\n"
                },
                "disableOobDownAlarm": {
                    "type": "boolean",
                    "description": "Whether to suppress alarms when the switch out-of-band management interface is down\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the switch\n"
                },
                "localAccounts": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSwitchMgmtLocalAccounts:NetworktemplateSwitchMgmtLocalAccounts"
                    },
                    "description": "Local switch user accounts keyed by username\n"
                },
                "mxedgeProxyHost": {
                    "type": "string",
                    "description": "IP address or FQDN of the Mist Edge used to proxy the switch management traffic to the Mist Cloud\n"
                },
                "mxedgeProxyPort": {
                    "type": "string",
                    "description": "Mist Edge port used to proxy the switch management traffic to the Mist Cloud. Value in range 1-65535\n"
                },
                "protectRe": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSwitchMgmtProtectRe:NetworktemplateSwitchMgmtProtectRe",
                    "description": "Control-plane protection settings for the switch\n"
                },
                "removeExistingConfigs": {
                    "type": "boolean",
                    "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed.\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "Root password for local switch access\n",
                    "secret": true
                },
                "tacacs": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSwitchMgmtTacacs:NetworktemplateSwitchMgmtTacacs",
                    "description": "Management authentication settings using TACACS+\n"
                },
                "useMxedgeProxy": {
                    "type": "boolean",
                    "description": "Whether to use Mist Edge as a proxy for switch management traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "configRevertTimer"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMgmtLocalAccounts:NetworktemplateSwitchMgmtLocalAccounts": {
            "properties": {
                "password": {
                    "type": "string",
                    "description": "Local password for the switch user account\n",
                    "secret": true
                },
                "role": {
                    "type": "string",
                    "description": "Access role granted to the local switch user account\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "role"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMgmtProtectRe:NetworktemplateSwitchMgmtProtectRe": {
            "properties": {
                "allowedServices": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "optionally, services we'll allow. enum: \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\" pulumi-lang-hcl=\"`ssh`\"\u003e`ssh`\u003c/span\u003e\n"
                },
                "customs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSwitchMgmtProtectReCustom:NetworktemplateSwitchMgmtProtectReCustom"
                    },
                    "description": "Additional ACL entries allowed by the Protect RE policy\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled, all traffic that is not essential to our operation will be dropped\ne.g. ntp / dns / traffic to mist will be allowed by default\n     if dhcpd is enabled, we'll make sure it works\n"
                },
                "hitCount": {
                    "type": "boolean",
                    "description": "Whether to enable hit count for Protect_RE policy\n"
                },
                "trustedHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trusted host or subnet entries allowed by the Protect RE policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowedServices",
                        "customs",
                        "enabled",
                        "hitCount",
                        "trustedHosts"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMgmtProtectReCustom:NetworktemplateSwitchMgmtProtectReCustom": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "matched dst port, \"0\" means any. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source subnets matched by this custom Protect RE ACL\n"
                }
            },
            "type": "object",
            "required": [
                "subnets"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol",
                        "subnets"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMgmtTacacs:NetworktemplateSwitchMgmtTacacs": {
            "properties": {
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSwitchMgmtTacacsAcctServer:NetworktemplateSwitchMgmtTacacsAcctServer"
                    },
                    "description": "TACACS+ accounting servers used for switch management sessions\n"
                },
                "defaultRole": {
                    "type": "string",
                    "description": "Default switch-management role to use for TACACS+ logins\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether TACACS+ is enabled for switch management authentication\n"
                },
                "network": {
                    "type": "string",
                    "description": "Source network used for connectivity to the TACACS+ servers\n"
                },
                "tacplusServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSwitchMgmtTacacsTacplusServer:NetworktemplateSwitchMgmtTacacsTacplusServer"
                    },
                    "description": "TACACS+ authentication servers used for switch management logins\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateSwitchMgmtTacacsAcctServer:NetworktemplateSwitchMgmtTacacsAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the TACACS+ accounting server\n"
                },
                "port": {
                    "type": "string",
                    "description": "TCP port used by the TACACS+ accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this TACACS+ accounting server\n",
                    "secret": true
                },
                "timeout": {
                    "type": "integer",
                    "description": "TACACS+ accounting server timeout, in seconds\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeout"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateSwitchMgmtTacacsTacplusServer:NetworktemplateSwitchMgmtTacacsTacplusServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the TACACS+ authentication server\n"
                },
                "port": {
                    "type": "string",
                    "description": "TCP port used by the TACACS+ authentication server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this TACACS+ authentication server\n",
                    "secret": true
                },
                "timeout": {
                    "type": "integer",
                    "description": "TACACS+ authentication server timeout, in seconds\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeout"
                    ]
                }
            }
        },
        "junipermist:org/NetworktemplateVrfConfig:NetworktemplateVrfConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable VRF (when supported on the device)\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateVrfInstances:NetworktemplateVrfInstances": {
            "properties": {
                "evpnAutoLoopbackSubnet": {
                    "type": "string",
                    "description": "IPv4 subnet used for automatic EVPN loopback addresses in this VRF instance\n"
                },
                "evpnAutoLoopbackSubnet6": {
                    "type": "string",
                    "description": "IPv6 subnet used for automatic EVPN loopback addresses in this VRF instance\n"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateVrfInstancesExtraRoutes:NetworktemplateVrfInstancesExtraRoutes"
                    },
                    "description": "Additional IPv4 static routes configured for this VRF instance\n"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateVrfInstancesExtraRoutes6:NetworktemplateVrfInstancesExtraRoutes6"
                    },
                    "description": "Additional IPv6 static routes configured for this VRF instance\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Names of switch networks included in this VRF instance\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateVrfInstancesExtraRoutes6:NetworktemplateVrfInstancesExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv6 next-hop address for this VRF extra route\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/NetworktemplateVrfInstancesExtraRoutes:NetworktemplateVrfInstancesExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "IPv4 next-hop address for this VRF extra route\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:org/RftemplateBand24:RftemplateBand24": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 2.4 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 2.4 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 2.4 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 2.4 GHz radio\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 2.4 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 2.4 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "bandwidth",
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:org/RftemplateBand5:RftemplateBand5": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 5 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 5 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 5 GHz radio\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 5 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "bandwidth",
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:org/RftemplateBand5On24Radio:RftemplateBand5On24Radio": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 5 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 5 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 5 GHz radio\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 5 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "disabled",
                        "power",
                        "preamble"
                    ]
                }
            }
        },
        "junipermist:org/RftemplateBand6:RftemplateBand6": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 6 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 6 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 6 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 6 GHz radio\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 6 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 6 GHz radio\n"
                },
                "standardPower": {
                    "type": "boolean",
                    "description": "For 6GHz Only, standard-power operation, AFC (Automatic Frequency Coordination) will be performed, and we'll fall back to Low Power Indoor if AFC failed\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "bandwidth",
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:org/RftemplateModelSpecific:RftemplateModelSpecific": {
            "properties": {
                "antGain24": {
                    "type": "integer",
                    "description": "Model-specific external antenna gain for the 2.4 GHz radio\n"
                },
                "antGain5": {
                    "type": "integer",
                    "description": "Model-specific external antenna gain for the 5 GHz radio\n"
                },
                "antGain6": {
                    "type": "integer",
                    "description": "Model-specific external antenna gain for the 6 GHz radio\n"
                },
                "band24": {
                    "$ref": "#/types/junipermist:org/RftemplateModelSpecificBand24:RftemplateModelSpecificBand24",
                    "description": "Model-specific 2.4 GHz radio settings that override RF template defaults\n"
                },
                "band24Usage": {
                    "type": "string",
                    "description": "Model-specific radio usage mode for the 2.4 GHz-capable radio\n"
                },
                "band5": {
                    "$ref": "#/types/junipermist:org/RftemplateModelSpecificBand5:RftemplateModelSpecificBand5",
                    "description": "Model-specific 5 GHz radio settings that override RF template defaults\n"
                },
                "band5On24Radio": {
                    "$ref": "#/types/junipermist:org/RftemplateModelSpecificBand5On24Radio:RftemplateModelSpecificBand5On24Radio",
                    "description": "Model-specific 5 GHz settings used when the 2.4 GHz radio operates in 5 GHz mode\n"
                },
                "band6": {
                    "$ref": "#/types/junipermist:org/RftemplateModelSpecificBand6:RftemplateModelSpecificBand6",
                    "description": "Model-specific 6 GHz radio settings that override RF template defaults\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/RftemplateModelSpecificBand24:RftemplateModelSpecificBand24": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 2.4 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 2.4 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 2.4 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 2.4 GHz radio\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 2.4 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 2.4 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable"
                    ]
                }
            }
        },
        "junipermist:org/RftemplateModelSpecificBand5:RftemplateModelSpecificBand5": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 5 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 5 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 5 GHz radio\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 5 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable"
                    ]
                }
            }
        },
        "junipermist:org/RftemplateModelSpecificBand5On24Radio:RftemplateModelSpecificBand5On24Radio": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 5 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 5 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 5 GHz radio\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 5 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 5 GHz radio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "antGain",
                        "antennaMode",
                        "bandwidth",
                        "disabled",
                        "power",
                        "preamble"
                    ]
                }
            }
        },
        "junipermist:org/RftemplateModelSpecificBand6:RftemplateModelSpecificBand6": {
            "properties": {
                "allowRrmDisable": {
                    "type": "boolean",
                    "description": "Whether RRM may disable the 6 GHz radio when optimizing RF settings\n"
                },
                "antGain": {
                    "type": "integer",
                    "description": "External antenna gain for the 6 GHz radio\n"
                },
                "antennaMode": {
                    "type": "string",
                    "description": "Radio chain mode for the 6 GHz radio\n"
                },
                "bandwidth": {
                    "type": "integer",
                    "description": "Channel width configured for the 6 GHz radio\n"
                },
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Allowed channel list for the 6 GHz radio; null or an empty array uses automatic selection\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether to disable the radio\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Radio Tx power, in dBm. Can be an integer 0-25 for static power configuration, or \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e or unset for auto power mode\n"
                },
                "powerMax": {
                    "type": "integer",
                    "description": "When power=null/unset, max tx power to use, HW-specific values will be used if not set\n"
                },
                "powerMin": {
                    "type": "integer",
                    "description": "When power=null/unset, min tx power to use, HW-specific values will be used if not set\n"
                },
                "preamble": {
                    "type": "string",
                    "description": "802.11 preamble mode used by the 6 GHz radio\n"
                },
                "standardPower": {
                    "type": "boolean",
                    "description": "For 6GHz Only, standard-power operation, AFC (Automatic Frequency Coordination) will be performed, and we'll fall back to Low Power Indoor if AFC failed\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowRrmDisable",
                        "standardPower"
                    ]
                }
            }
        },
        "junipermist:org/ServiceSpec:ServiceSpec": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Port number, port range, or variable\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\" pulumi-lang-hcl=\"`https`\"\u003e`https`\u003c/span\u003e/ \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`gre`\" pulumi-lang-dotnet=\"`Gre`\" pulumi-lang-go=\"`gre`\" pulumi-lang-python=\"`gre`\" pulumi-lang-yaml=\"`gre`\" pulumi-lang-java=\"`gre`\" pulumi-lang-hcl=\"`gre`\"\u003e`gre`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e / `:protocol_number`, \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:org/ServicepolicyAamw:ServicepolicyAamw": {
            "properties": {
                "aamwprofileId": {
                    "type": "string",
                    "description": "Organization-level advanced anti-malware profile ID; takes precedence over inline \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e settings\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether advanced anti-malware inspection is enabled for the service policy\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Built-in advanced anti-malware inspection profile to apply\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/ServicepolicyAntivirus:ServicepolicyAntivirus": {
            "properties": {
                "avprofileId": {
                    "type": "string",
                    "description": "Organization-level antivirus profile ID; takes precedence over inline \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e settings\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether antivirus inspection is enabled for the service policy\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Antivirus profile name to apply, such as \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noftp`\" pulumi-lang-dotnet=\"`Noftp`\" pulumi-lang-go=\"`noftp`\" pulumi-lang-python=\"`noftp`\" pulumi-lang-yaml=\"`noftp`\" pulumi-lang-java=\"`noftp`\" pulumi-lang-hcl=\"`noftp`\"\u003e`noftp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`httponly`\" pulumi-lang-dotnet=\"`Httponly`\" pulumi-lang-go=\"`httponly`\" pulumi-lang-python=\"`httponly`\" pulumi-lang-yaml=\"`httponly`\" pulumi-lang-java=\"`httponly`\" pulumi-lang-hcl=\"`httponly`\"\u003e`httponly`\u003c/span\u003e, or an AV profile key\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/ServicepolicyAppqoe:ServicepolicyAppqoe": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether application QoE is enabled for the service policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/ServicepolicyEwf:ServicepolicyEwf": {
            "properties": {
                "alertOnly": {
                    "type": "boolean",
                    "description": "Whether matching enhanced web filtering traffic is logged without being blocked\n"
                },
                "blockMessage": {
                    "type": "string",
                    "description": "Message returned when enhanced web filtering blocks a request\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this enhanced web filtering rule is enabled\n"
                },
                "profile": {
                    "type": "string",
                    "description": "Enhanced web filtering profile applied by this rule\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/ServicepolicyIdp:ServicepolicyIdp": {
            "properties": {
                "alertOnly": {
                    "type": "boolean",
                    "description": "Whether to alert without enforcing IDP prevention actions\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether IDP inspection is enabled for the policy\n"
                },
                "idpprofileId": {
                    "type": "string",
                    "description": "org_level IDP Profile can be used, this takes precedence over \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e\n"
                },
                "profile": {
                    "type": "string",
                    "description": "enum: `Custom`, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e (default), \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e or keys from idp_profiles\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/ServicepolicySslProxy:ServicepolicySslProxy": {
            "properties": {
                "ciphersCategory": {
                    "type": "string",
                    "description": "Allowed cipher strength category for SSL proxy inspection\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SSL proxy inspection is enabled for the service policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "ciphersCategory",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/SettingApiPolicy:SettingApiPolicy": {
            "properties": {
                "noReveal": {
                    "type": "boolean",
                    "description": "By default, API hides password/secrets when the user doesn't have write access\n  * \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: API will hide passwords/secrets for all users\n  * \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: API will hide passwords/secrets for read-only users\n"
                },
                "srcIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional list of IP addresses or CIDR subnets from which org API access is allowed. At most 10 entries. The source IP of the request making this update must be within one of the specified subnets.\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingAutoUpgrade:SettingAutoUpgrade": {
            "properties": {
                "customVersions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Per-AP-model firmware versions or channels used for auto-upgrade\n"
                },
                "dayOfWeek": {
                    "type": "string",
                    "description": "Day of the week for the AP auto-upgrade maintenance window\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether AP auto-upgrade is enabled. Note that Mist may auto-upgrade APs if the running version is no longer supported.\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e or HH:MM (24-hour format). Upgrade will happen within up to 1 hour from this time.\n"
                },
                "version": {
                    "type": "string",
                    "description": "Firmware release channel or specific version used for AP auto-upgrade\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "version"
                    ]
                }
            }
        },
        "junipermist:org/SettingCelona:SettingCelona": {
            "properties": {
                "apiKey": {
                    "type": "string",
                    "description": "Credential used by Mist for the Celona integration\n"
                },
                "apiPrefix": {
                    "type": "string",
                    "description": "Celona API prefix configured for the integration\n"
                }
            },
            "type": "object",
            "required": [
                "apiKey",
                "apiPrefix"
            ]
        },
        "junipermist:org/SettingCloudshark:SettingCloudshark": {
            "properties": {
                "apitoken": {
                    "type": "string",
                    "description": "Token used by Mist to access the CloudShark integration\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "CloudShark Enterprise URL, if using a self-hosted CS Enterprise instance\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "apitoken",
                        "url"
                    ]
                }
            }
        },
        "junipermist:org/SettingCradlepoint:SettingCradlepoint": {
            "properties": {
                "cpApiId": {
                    "type": "string",
                    "description": "Cradlepoint API ID used by Mist for the integration\n"
                },
                "cpApiKey": {
                    "type": "string",
                    "description": "Cradlepoint API key paired with the Cradlepoint API ID\n",
                    "secret": true
                },
                "ecmApiId": {
                    "type": "string",
                    "description": "Cradlepoint ECM API ID used by Mist for the integration\n"
                },
                "ecmApiKey": {
                    "type": "string",
                    "description": "Cradlepoint ECM API key paired with the ECM API ID\n",
                    "secret": true
                },
                "enableLldp": {
                    "type": "boolean",
                    "description": "Whether Mist uses Cradlepoint LLDP data to link routers to Mist sites and devices\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "cpApiId",
                        "cpApiKey",
                        "ecmApiId",
                        "ecmApiKey",
                        "enableLldp"
                    ]
                }
            }
        },
        "junipermist:org/SettingDeviceCert:SettingDeviceCert": {
            "properties": {
                "cert": {
                    "type": "string",
                    "description": "PEM-encoded common device certificate used by organization settings\n"
                },
                "key": {
                    "type": "string",
                    "description": "Private key paired with the common device certificate\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "cert",
                "key"
            ]
        },
        "junipermist:org/SettingInstaller:SettingInstaller": {
            "properties": {
                "allowAllDevices": {
                    "type": "boolean",
                    "description": "Whether installers may work with all eligible devices\n"
                },
                "allowAllSites": {
                    "type": "boolean",
                    "description": "Whether installers may work with all sites\n"
                },
                "extraSiteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional site IDs that installers may access\n"
                },
                "gracePeriod": {
                    "type": "integer",
                    "description": "Grace period, in days, during which installers can modify recent sites or devices\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingJcloud:SettingJcloud": {
            "properties": {
                "orgApitoken": {
                    "type": "string",
                    "description": "JCloud organization API token used by this Mist organization\n"
                },
                "orgApitokenName": {
                    "type": "string",
                    "description": "Display name for the JCloud organization API token\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "JCloud organization identifier linked to this Mist organization\n"
                }
            },
            "type": "object",
            "required": [
                "orgApitoken",
                "orgApitokenName",
                "orgId"
            ]
        },
        "junipermist:org/SettingJcloudRa:SettingJcloudRa": {
            "properties": {
                "orgApitoken": {
                    "type": "string",
                    "description": "JCloud Routing Assurance Org Token\n"
                },
                "orgApitokenName": {
                    "type": "string",
                    "description": "JCloud Routing Assurance Org Token Name\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "JCloud Routing Assurance Org ID\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingJuniper:SettingJuniper": {
            "properties": {
                "accounts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/SettingJuniperAccount:SettingJuniperAccount"
                    },
                    "description": "List of linked Juniper account records\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "accounts"
                    ]
                }
            }
        },
        "junipermist:org/SettingJuniperAccount:SettingJuniperAccount": {
            "properties": {
                "linkedBy": {
                    "type": "string",
                    "description": "User who linked this Juniper account\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the linked Juniper account\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "linkedBy",
                        "name"
                    ]
                }
            }
        },
        "junipermist:org/SettingJuniperSrx:SettingJuniperSrx": {
            "properties": {
                "autoUpgrade": {
                    "$ref": "#/types/junipermist:org/SettingJuniperSrxAutoUpgrade:SettingJuniperSrxAutoUpgrade",
                    "description": "SRX auto-upgrade settings applied when Juniper SRX devices are first onboarded\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingJuniperSrxAutoUpgrade:SettingJuniperSrxAutoUpgrade": {
            "properties": {
                "customVersions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Per-SRX-model firmware versions to deploy instead of the default version\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SRX auto-upgrade is enabled for newly onboarded devices\n"
                },
                "snapshot": {
                    "type": "boolean",
                    "description": "Whether to take a snapshot during the SRX upgrade process\n"
                },
                "version": {
                    "type": "string",
                    "description": "Firmware version to deploy (e.g. 23.4R2-S5.5). Optional, used when\u003cspan pulumi-lang-nodejs=\" customVersions \" pulumi-lang-dotnet=\" CustomVersions \" pulumi-lang-go=\" customVersions \" pulumi-lang-python=\" custom_versions \" pulumi-lang-yaml=\" customVersions \" pulumi-lang-java=\" customVersions \" pulumi-lang-hcl=\" custom_versions \"\u003e customVersions \u003c/span\u003enot specified\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingJunosShellAccess:SettingJunosShellAccess": {
            "properties": {
                "admin": {
                    "type": "string",
                    "description": "Shell access level used for administrator web-shell sessions\n"
                },
                "helpdesk": {
                    "type": "string",
                    "description": "Shell access level used for helpdesk web-shell sessions\n"
                },
                "read": {
                    "type": "string",
                    "description": "Shell access level used for read-only web-shell sessions\n"
                },
                "write": {
                    "type": "string",
                    "description": "Shell access level used for write-role web-shell sessions\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "admin",
                        "helpdesk",
                        "read",
                        "write"
                    ]
                }
            }
        },
        "junipermist:org/SettingMarvis:SettingMarvis": {
            "properties": {
                "disableProactiveMonitoring": {
                    "type": "boolean",
                    "description": "Disable proactive monitoring in Marvis. NOTE: support access must be enabled for the org (\u003cspan pulumi-lang-nodejs=\"`allowMist`\" pulumi-lang-dotnet=\"`AllowMist`\" pulumi-lang-go=\"`allowMist`\" pulumi-lang-python=\"`allow_mist`\" pulumi-lang-yaml=\"`allowMist`\" pulumi-lang-java=\"`allowMist`\" pulumi-lang-hcl=\"`allow_mist`\"\u003e`allowMist`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e) for proactive monitoring to function.\n"
                },
                "selfDriving": {
                    "$ref": "#/types/junipermist:org/SettingMarvisSelfDriving:SettingMarvisSelfDriving",
                    "description": "Self-driving network automation settings by domain\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableProactiveMonitoring"
                    ]
                }
            }
        },
        "junipermist:org/SettingMarvisSelfDriving:SettingMarvisSelfDriving": {
            "properties": {
                "wan": {
                    "$ref": "#/types/junipermist:org/SettingMarvisSelfDrivingWan:SettingMarvisSelfDrivingWan",
                    "description": "Self-driving automation settings for the WAN domain\n"
                },
                "wired": {
                    "$ref": "#/types/junipermist:org/SettingMarvisSelfDrivingWired:SettingMarvisSelfDrivingWired",
                    "description": "Self-driving automation settings for the wired domain\n"
                },
                "wireless": {
                    "$ref": "#/types/junipermist:org/SettingMarvisSelfDrivingWireless:SettingMarvisSelfDrivingWireless",
                    "description": "Self-driving automation settings for the wireless domain\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingMarvisSelfDrivingWan:SettingMarvisSelfDrivingWan": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether self-driving automation is enabled for this domain\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/SettingMarvisSelfDrivingWired:SettingMarvisSelfDrivingWired": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether self-driving automation is enabled for this domain\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/SettingMarvisSelfDrivingWireless:SettingMarvisSelfDrivingWireless": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether self-driving automation is enabled for this domain\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/SettingMgmt:SettingMgmt": {
            "properties": {
                "mxtunnelIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Tunnel IDs selected for management connectivity\n"
                },
                "useMxtunnel": {
                    "type": "boolean",
                    "description": "Whether to use Mist Tunnel for mgmt connectivity, this takes precedence over use_wxtunnel\n"
                },
                "useWxtunnel": {
                    "type": "boolean",
                    "description": "Whether to use wxtunnel for mgmt connectivity\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "useMxtunnel",
                        "useWxtunnel"
                    ]
                }
            }
        },
        "junipermist:org/SettingMistNac:SettingMistNac": {
            "properties": {
                "allowTeapMachineAuthOnly": {
                    "type": "boolean",
                    "description": "allow clients to connect even when the user cert failed. TEAP authenticates both Machine Cert and User Cert. When enabled, clients who only succeed Machine Cert authentication will be accepted.\n"
                },
                "cacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CA certificates trusted by Mist NAC for certificate-based authentication\n"
                },
                "defaultIdpId": {
                    "type": "string",
                    "description": "use this IDP when no explicit realm present in the incoming username/CN OR when no IDP is explicitly mapped to the incoming realm.\n"
                },
                "disableRsaeAlgorithms": {
                    "type": "boolean",
                    "description": "to disable RSAE_PSS_SHA256, RSAE_PSS_SHA384, RSAE_PSS_SHA512 from server side. see https://www.openssl.org/docs/man3.0/man1/openssl-ciphers.html\n"
                },
                "eapSslSecurityLevel": {
                    "type": "integer",
                    "description": "eap ssl security level, see https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_security_level.html#DEFAULT-CALLBACK-BEHAVIOUR\n"
                },
                "euOnly": {
                    "type": "boolean",
                    "description": "By default, NAC POD failover considers all NAC pods available around the globe, i.e. EU, US, or APAC based, failover happens based on geo IP of the originating site. For strict GDPR compliance NAC POD failover would only happen between the PODs located within the EU environment, and no authentication would take place outside of EU. This is an org setting that is applicable to WLANs, switch templates, Mist Edge clusters that have\u003cspan pulumi-lang-nodejs=\" mistNac \" pulumi-lang-dotnet=\" MistNac \" pulumi-lang-go=\" mistNac \" pulumi-lang-python=\" mist_nac \" pulumi-lang-yaml=\" mistNac \" pulumi-lang-java=\" mistNac \" pulumi-lang-hcl=\" mist_nac \"\u003e mistNac \u003c/span\u003eenabled\n"
                },
                "fingerprinting": {
                    "$ref": "#/types/junipermist:org/SettingMistNacFingerprinting:SettingMistNacFingerprinting",
                    "description": "Client fingerprinting settings used by Mist NAC\n"
                },
                "idpMachineCertLookupField": {
                    "type": "string",
                    "description": "Client certificate field used to look up machine groups in identity providers\n"
                },
                "idpUserCertLookupField": {
                    "type": "string",
                    "description": "Client certificate field used to look up user groups in identity providers\n"
                },
                "idps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/SettingMistNacIdp:SettingMistNacIdp"
                    },
                    "description": "Identity provider mappings used by Mist NAC realm matching\n"
                },
                "mdm": {
                    "$ref": "#/types/junipermist:org/SettingMistNacMdm:SettingMistNacMdm",
                    "description": "Mobile Device Management CoA settings for Mist NAC\n"
                },
                "serverCert": {
                    "$ref": "#/types/junipermist:org/SettingMistNacServerCert:SettingMistNacServerCert",
                    "description": "RADIUS server certificate presented by Mist NAC during EAP-TLS\n"
                },
                "useIpVersion": {
                    "type": "string",
                    "description": "IP version used by NAS devices and Mist Edge proxies to reach Mist NAC\n"
                },
                "useSslPort": {
                    "type": "boolean",
                    "description": "By default, NAS devices (switches/aps) and proxies(mxedge) are configured to use port TCP2083(RadSec) to reach mist-nac. Set \u003cspan pulumi-lang-nodejs=\"`useSslPort`\" pulumi-lang-dotnet=\"`UseSslPort`\" pulumi-lang-go=\"`useSslPort`\" pulumi-lang-python=\"`use_ssl_port`\" pulumi-lang-yaml=\"`useSslPort`\" pulumi-lang-java=\"`useSslPort`\" pulumi-lang-hcl=\"`use_ssl_port`\"\u003e`useSslPort`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to override that port with TCP43 (ssl), This is an org level setting that is applicable to wlans, switch_templates, and\u003cspan pulumi-lang-nodejs=\" mxedgeClusters \" pulumi-lang-dotnet=\" MxedgeClusters \" pulumi-lang-go=\" mxedgeClusters \" pulumi-lang-python=\" mxedge_clusters \" pulumi-lang-yaml=\" mxedgeClusters \" pulumi-lang-java=\" mxedgeClusters \" pulumi-lang-hcl=\" mxedge_clusters \"\u003e mxedgeClusters \u003c/span\u003ethat have mist-nac enabled\n"
                },
                "usermacExpiry": {
                    "type": "integer",
                    "description": "Allow customer to configure an expiry time for usermacs by attaching a Quarantine label to those which have been inactive for the configured period of time (in days). 0 means no expiry\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowTeapMachineAuthOnly",
                        "cacerts",
                        "euOnly",
                        "idps",
                        "usermacExpiry"
                    ]
                }
            }
        },
        "junipermist:org/SettingMistNacFingerprinting:SettingMistNacFingerprinting": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "enable/disable writes to NAC DDB fingerprint table\n"
                },
                "generateCoa": {
                    "type": "boolean",
                    "description": "enable/disable CoA triggers on fingerprint change for wired clients, always port-bounce\n"
                },
                "generateWirelessCoa": {
                    "type": "boolean",
                    "description": "enable/disable CoA triggers on fingerprint change for wireless clients\n"
                },
                "wirelessCoaType": {
                    "type": "string",
                    "description": "Change of Authorization action sent to wireless clients when fingerprints change\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "generateCoa",
                        "generateWirelessCoa"
                    ]
                }
            }
        },
        "junipermist:org/SettingMistNacIdp:SettingMistNacIdp": {
            "properties": {
                "excludeRealms": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When the IDP is \u003cspan pulumi-lang-nodejs=\"`mxedgeProxy`\" pulumi-lang-dotnet=\"`MxedgeProxy`\" pulumi-lang-go=\"`mxedgeProxy`\" pulumi-lang-python=\"`mxedge_proxy`\" pulumi-lang-yaml=\"`mxedgeProxy`\" pulumi-lang-java=\"`mxedgeProxy`\" pulumi-lang-hcl=\"`mxedge_proxy`\"\u003e`mxedgeProxy`\u003c/span\u003e type, realms excluded from proxying in addition to other valid home realms in this org\n"
                },
                "id": {
                    "type": "string",
                    "description": "ID of the \u003cspan pulumi-lang-nodejs=\"`mistNacidp`\" pulumi-lang-dotnet=\"`MistNacidp`\" pulumi-lang-go=\"`mistNacidp`\" pulumi-lang-python=\"`mist_nacidp`\" pulumi-lang-yaml=\"`mistNacidp`\" pulumi-lang-java=\"`mistNacidp`\" pulumi-lang-hcl=\"`mist_nacidp`\"\u003e`mistNacidp`\u003c/span\u003e\n"
                },
                "userRealms": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "User realms that select this identity provider\n"
                }
            },
            "type": "object",
            "required": [
                "id",
                "userRealms"
            ]
        },
        "junipermist:org/SettingMistNacMdm:SettingMistNacMdm": {
            "properties": {
                "coaType": {
                    "type": "string",
                    "description": "Change of Authorization action sent for MDM posture changes\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "coaType"
                    ]
                }
            }
        },
        "junipermist:org/SettingMistNacServerCert:SettingMistNacServerCert": {
            "properties": {
                "cert": {
                    "type": "string",
                    "description": "PEM-encoded RADIUS server certificate presented during EAP-TLS\n"
                },
                "key": {
                    "type": "string",
                    "description": "Private key paired with the Mist NAC RADIUS server certificate\n",
                    "secret": true
                },
                "password": {
                    "type": "string",
                    "description": "Optional password for the private key\n",
                    "secret": true
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingMxedgeMgmt:SettingMxedgeMgmt": {
            "properties": {
                "configAutoRevert": {
                    "type": "boolean",
                    "description": "Whether the Mist Edge automatically reverts configuration changes if connectivity is lost\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the Mist Edge\n"
                },
                "mistPassword": {
                    "type": "string",
                    "description": "Password for the Mist service account on the Mist Edge\n",
                    "secret": true
                },
                "oobIpType": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for out-of-band management\n"
                },
                "oobIpType6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for out-of-band management\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "Root account password for the Mist Edge\n",
                    "secret": true
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "fipsEnabled"
                    ]
                }
            }
        },
        "junipermist:org/SettingOpticPortConfig:SettingOpticPortConfig": {
            "properties": {
                "channelized": {
                    "type": "boolean",
                    "description": "Whether channelization is enabled on this optic port\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Interface speed (e.g. \u003cspan pulumi-lang-nodejs=\"`25g`\" pulumi-lang-dotnet=\"`25g`\" pulumi-lang-go=\"`25g`\" pulumi-lang-python=\"`25g`\" pulumi-lang-yaml=\"`25g`\" pulumi-lang-java=\"`25g`\" pulumi-lang-hcl=\"`25g`\"\u003e`25g`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`50g`\" pulumi-lang-dotnet=\"`50g`\" pulumi-lang-go=\"`50g`\" pulumi-lang-python=\"`50g`\" pulumi-lang-yaml=\"`50g`\" pulumi-lang-java=\"`50g`\" pulumi-lang-hcl=\"`50g`\"\u003e`50g`\u003c/span\u003e), use the chassis speed by default\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "channelized"
                    ]
                }
            }
        },
        "junipermist:org/SettingPasswordPolicy:SettingPasswordPolicy": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the policy is enabled\n"
                },
                "expiryInDays": {
                    "type": "integer",
                    "description": "Password expiry in days. Password Expiry Notice banner will display in the UI 14 days before expiration\n"
                },
                "minLength": {
                    "type": "integer",
                    "description": "Minimum number of characters required for passwords\n"
                },
                "requiresSpecialChar": {
                    "type": "boolean",
                    "description": "Whether to require special character\n"
                },
                "requiresTwoFactorAuth": {
                    "type": "boolean",
                    "description": "Whether to require two-factor auth\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "minLength",
                        "requiresSpecialChar",
                        "requiresTwoFactorAuth"
                    ]
                }
            }
        },
        "junipermist:org/SettingPcap:SettingPcap": {
            "properties": {
                "bucket": {
                    "type": "string",
                    "description": "Storage bucket name used for organization packet capture files\n"
                },
                "maxPktLen": {
                    "type": "integer",
                    "description": "Maximum length of non-management packets to capture, in bytes\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "bucket",
                        "maxPktLen"
                    ]
                }
            }
        },
        "junipermist:org/SettingSecurity:SettingSecurity": {
            "properties": {
                "disableLocalSsh": {
                    "type": "boolean",
                    "description": "Whether to disable local SSH (by default, local SSH is enabled with\u003cspan pulumi-lang-nodejs=\" allowMist \" pulumi-lang-dotnet=\" AllowMist \" pulumi-lang-go=\" allowMist \" pulumi-lang-python=\" allow_mist \" pulumi-lang-yaml=\" allowMist \" pulumi-lang-java=\" allowMist \" pulumi-lang-hcl=\" allow_mist \"\u003e allowMist \u003c/span\u003ein Org is enabled\n"
                },
                "fipsZeroizePassword": {
                    "type": "string",
                    "description": "password required to zeroize devices (FIPS) on site level\n",
                    "secret": true
                },
                "limitSshAccess": {
                    "type": "boolean",
                    "description": "Whether to allow certain SSH keys to SSH into the AP (see Site:Setting)\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "limitSshAccess"
                    ]
                }
            }
        },
        "junipermist:org/SettingSsr:SettingSsr": {
            "properties": {
                "autoUpgrade": {
                    "$ref": "#/types/junipermist:org/SettingSsrAutoUpgrade:SettingSsrAutoUpgrade",
                    "description": "Automatic SSR firmware upgrade settings for newly onboarded devices\n"
                },
                "conductorHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP addresses or hostnames of conductors used by SSR devices\n"
                },
                "conductorToken": {
                    "type": "string",
                    "description": "Registration token used by SSR devices to connect to the conductor\n",
                    "secret": true
                },
                "disableStats": {
                    "type": "boolean",
                    "description": "Whether stats collection is disabled on SSR devices\n"
                },
                "proxy": {
                    "$ref": "#/types/junipermist:org/SettingSsrProxy:SettingSsrProxy",
                    "description": "Network proxy settings used by SSR devices to reach Mist\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingSsrAutoUpgrade:SettingSsrAutoUpgrade": {
            "properties": {
                "channel": {
                    "type": "string",
                    "description": "Firmware release channel used for SSR auto-upgrade\n"
                },
                "customVersions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Per-model SSR firmware versions used for auto-upgrade\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SSR auto-upgrade is enabled for newly onboarded devices\n"
                },
                "version": {
                    "type": "string",
                    "description": "Firmware version to deploy (e.g. 6.3.0-107.r1). Optional, used when\u003cspan pulumi-lang-nodejs=\" customVersions \" pulumi-lang-dotnet=\" CustomVersions \" pulumi-lang-go=\" customVersions \" pulumi-lang-python=\" custom_versions \" pulumi-lang-yaml=\" customVersions \" pulumi-lang-java=\" customVersions \" pulumi-lang-hcl=\" custom_versions \"\u003e customVersions \u003c/span\u003enot specified\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingSsrProxy:SettingSsrProxy": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Whether the SSR proxy configuration is disabled\n"
                },
                "url": {
                    "type": "string",
                    "description": "Proxy URL that SSR devices use to reach Mist\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:org/SettingSwitch:SettingSwitch": {
            "properties": {
                "autoUpgrade": {
                    "$ref": "#/types/junipermist:org/SettingSwitchAutoUpgrade:SettingSwitchAutoUpgrade",
                    "description": "Auto-upgrade defaults for switches in this organization\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingSwitchAutoUpgrade:SettingSwitchAutoUpgrade": {
            "properties": {
                "customVersions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Per-model switch firmware versions to use for auto-upgrade\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether switch auto-upgrade is enabled\n"
                },
                "snapshot": {
                    "type": "boolean",
                    "description": "Whether to create a recovery snapshot during the upgrade process\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingSwitchMgmt:SettingSwitchMgmt": {
            "properties": {
                "apAffinityThreshold": {
                    "type": "integer",
                    "description": "If the field is set in both site/setting and org/setting, the value from site/setting will be used.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "apAffinityThreshold"
                    ]
                }
            }
        },
        "junipermist:org/SettingSyntheticTest:SettingSyntheticTest": {
            "properties": {
                "aggressiveness": {
                    "type": "string",
                    "description": "Overall aggressiveness level for synthetic test probes\n"
                },
                "customProbes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/SettingSyntheticTestCustomProbes:SettingSyntheticTestCustomProbes"
                    },
                    "description": "Custom synthetic probe definitions keyed by probe name\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether synthetic tests are disabled\n"
                },
                "lanNetworks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/SettingSyntheticTestLanNetwork:SettingSyntheticTestLanNetwork"
                    },
                    "description": "LAN network probe groups used by synthetic tests\n"
                },
                "vlans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/SettingSyntheticTestVlan:SettingSyntheticTestVlan"
                    },
                    "description": "Deprecated VLAN-based synthetic test settings\n",
                    "deprecationMessage": "This attribute is deprecated."
                },
                "wanSpeedtest": {
                    "$ref": "#/types/junipermist:org/SettingSyntheticTestWanSpeedtest:SettingSyntheticTestWanSpeedtest",
                    "description": "WAN speedtest settings for synthetic tests\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "aggressiveness",
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:org/SettingSyntheticTestCustomProbes:SettingSyntheticTestCustomProbes": {
            "properties": {
                "aggressiveness": {
                    "type": "string",
                    "description": "Probe aggressiveness level for this custom synthetic probe\n"
                },
                "target": {
                    "type": "string",
                    "description": "Can be URL (e.g. http://x.com, https://x.com:8080/path/to/resource), IP address, or IP:port combination\n"
                },
                "threshold": {
                    "type": "integer",
                    "description": "Response-time threshold for this custom probe, in milliseconds\n"
                },
                "type": {
                    "type": "string",
                    "description": "Probe type used by this custom synthetic probe\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "aggressiveness",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/SettingSyntheticTestLanNetwork:SettingSyntheticTestLanNetwork": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "LAN network names where synthetic probes are run\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Synthetic probe names to run on the listed LAN networks\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/SettingSyntheticTestVlan:SettingSyntheticTestVlan": {
            "properties": {
                "customTestUrls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Deprecated custom URLs tested by VLAN-based synthetic probes\n",
                    "deprecationMessage": "This attribute is deprecated."
                },
                "disabled": {
                    "type": "boolean",
                    "description": "For some vlans where we don't want this to run\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Synthetic probe names to run for the listed VLANs\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "VLAN identifiers where synthetic probes are run\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "customTestUrls",
                        "disabled",
                        "vlanIds"
                    ]
                }
            }
        },
        "junipermist:org/SettingSyntheticTestWanSpeedtest:SettingSyntheticTestWanSpeedtest": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether scheduled WAN speedtests are enabled\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "Scheduled time of day for WAN speedtests\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeOfDay"
                    ]
                }
            }
        },
        "junipermist:org/SettingVpnOptions:SettingVpnOptions": {
            "properties": {
                "asBase": {
                    "type": "integer",
                    "description": "Base BGP autonomous system number used for generated VPN configurations\n"
                },
                "enableIpv6": {
                    "type": "boolean",
                    "description": "Whether IPv6 is enabled for organization VPN configuration\n"
                },
                "stSubnet": {
                    "type": "string",
                    "description": "requiring /12 or bigger to support 16 private IPs for 65535 gateways\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enableIpv6",
                        "stSubnet"
                    ]
                }
            }
        },
        "junipermist:org/SettingWanPma:SettingWanPma": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether PMA is enabled for WAN Assurance\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/SettingWiredPma:SettingWiredPma": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether PMA is enabled for Wired Assurance\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/SettingWirelessPma:SettingWirelessPma": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether PMA is enabled for Wireless Assurance\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/SsoRolePrivilege:SsoRolePrivilege": {
            "properties": {
                "role": {
                    "type": "string",
                    "description": "Access role granted by this organization privilege\n"
                },
                "scope": {
                    "type": "string",
                    "description": "Organization hierarchy level where this privilege applies\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\" pulumi-lang-hcl=\"`scope`\"\u003e`scope`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\" pulumi-lang-hcl=\"`site`\"\u003e`site`\u003c/span\u003e\n"
                },
                "sitegroupId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\" pulumi-lang-hcl=\"`scope`\"\u003e`scope`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sitegroup`\" pulumi-lang-dotnet=\"`Sitegroup`\" pulumi-lang-go=\"`sitegroup`\" pulumi-lang-python=\"`sitegroup`\" pulumi-lang-yaml=\"`sitegroup`\" pulumi-lang-java=\"`sitegroup`\" pulumi-lang-hcl=\"`sitegroup`\"\u003e`sitegroup`\u003c/span\u003e\n"
                },
                "views": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "UI views allowed by custom role restrictions\n"
                }
            },
            "type": "object",
            "required": [
                "role",
                "scope"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "role",
                        "scope",
                        "views"
                    ]
                }
            }
        },
        "junipermist:org/VpnPathSelection:VpnPathSelection": {
            "properties": {
                "strategy": {
                    "type": "string",
                    "description": "Path selection strategy for a hub-and-spoke VPN\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "strategy"
                    ]
                }
            }
        },
        "junipermist:org/VpnPaths:VpnPaths": {
            "properties": {
                "bfdProfile": {
                    "type": "string",
                    "description": "BFD profile used for this VPN path\n"
                },
                "bfdUseTunnelMode": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mesh`\" pulumi-lang-dotnet=\"`Mesh`\" pulumi-lang-go=\"`mesh`\" pulumi-lang-python=\"`mesh`\" pulumi-lang-yaml=\"`mesh`\" pulumi-lang-java=\"`mesh`\" pulumi-lang-hcl=\"`mesh`\"\u003e`mesh`\u003c/span\u003e and for SSR only, whether to use tunnel mode\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Source IP address for this VPN path, if different from the WAN port IP\n"
                },
                "peerPaths": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/VpnPathsPeerPaths:VpnPathsPeerPaths"
                    },
                    "description": "Peer path preferences used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mesh`\" pulumi-lang-dotnet=\"`Mesh`\" pulumi-lang-go=\"`mesh`\" pulumi-lang-python=\"`mesh`\" pulumi-lang-yaml=\"`mesh`\" pulumi-lang-java=\"`mesh`\" pulumi-lang-hcl=\"`mesh`\"\u003e`mesh`\u003c/span\u003e\n"
                },
                "pod": {
                    "type": "integer",
                    "description": "Grouping index used to place this VPN path into a pod\n"
                },
                "trafficShaping": {
                    "$ref": "#/types/junipermist:org/VpnPathsTrafficShaping:VpnPathsTrafficShaping",
                    "description": "Traffic shaping settings applied to this VPN path\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/VpnPathsPeerPaths:VpnPathsPeerPaths": {
            "properties": {
                "preference": {
                    "type": "integer",
                    "description": "Lower numeric value makes this outgoing WAN path more preferred\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/VpnPathsTrafficShaping:VpnPathsTrafficShaping": {
            "properties": {
                "classPercentages": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Bandwidth percentages for high, medium, low, and best-effort traffic classes\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether traffic shaping is enabled for this VPN path\n"
                },
                "maxTxKbps": {
                    "type": "integer",
                    "description": "Maximum transmit rate for this VPN path, in Kbps; \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e means no explicit limit\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/WlanAcctServer:WlanAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS accounting server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this accounting server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS accounting server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:org/WlanAirwatch:WlanAirwatch": {
            "properties": {
                "apiKey": {
                    "type": "string",
                    "description": "API key used to authenticate to the AirWatch service\n"
                },
                "consoleUrl": {
                    "type": "string",
                    "description": "Base console URL of the AirWatch deployment\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether AirWatch integration is enabled for the WLAN\n"
                },
                "password": {
                    "type": "string",
                    "description": "AirWatch integration account password for this WLAN\n",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "AirWatch integration account username for this WLAN\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "apiKey",
                        "consoleUrl",
                        "enabled",
                        "password",
                        "username"
                    ]
                }
            }
        },
        "junipermist:org/WlanAppLimit:WlanAppLimit": {
            "properties": {
                "apps": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Map from app key to bandwidth in kbps. \nProperty key is the app key, defined in Get Application List\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether application bandwidth limits are enabled for this WLAN\n"
                },
                "wxtagIds": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Map from\u003cspan pulumi-lang-nodejs=\" wxtagId \" pulumi-lang-dotnet=\" WxtagId \" pulumi-lang-go=\" wxtagId \" pulumi-lang-python=\" wxtag_id \" pulumi-lang-yaml=\" wxtagId \" pulumi-lang-java=\" wxtagId \" pulumi-lang-hcl=\" wxtag_id \"\u003e wxtagId \u003c/span\u003eof Hostname Wxlan Tags to bandwidth in kbps. Property key is the \u003cspan pulumi-lang-nodejs=\"`wxtagId`\" pulumi-lang-dotnet=\"`WxtagId`\" pulumi-lang-go=\"`wxtagId`\" pulumi-lang-python=\"`wxtag_id`\" pulumi-lang-yaml=\"`wxtagId`\" pulumi-lang-java=\"`wxtagId`\" pulumi-lang-hcl=\"`wxtag_id`\"\u003e`wxtagId`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "apps",
                        "enabled",
                        "wxtagIds"
                    ]
                }
            }
        },
        "junipermist:org/WlanAppQos:WlanAppQos": {
            "properties": {
                "apps": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/WlanAppQosApps:WlanAppQosApps"
                    },
                    "description": "Map of application keys to QoS rewrite settings\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether application QoS rewrite rules are enabled for this WLAN\n"
                },
                "others": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WlanAppQosOther:WlanAppQosOther"
                    },
                    "description": "Custom traffic QoS rules that are not tied to named applications\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/WlanAppQosApps:WlanAppQosApps": {
            "properties": {
                "dscp": {
                    "type": "string",
                    "description": "DSCP value range between 0 and 63\n"
                },
                "dstSubnet": {
                    "type": "string",
                    "description": "Subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load)\n"
                },
                "srcSubnet": {
                    "type": "string",
                    "description": "Subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load)\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/WlanAppQosOther:WlanAppQosOther": {
            "properties": {
                "dscp": {
                    "type": "string",
                    "description": "Differentiated Services Code Point value applied to matching traffic\n"
                },
                "dstSubnet": {
                    "type": "string",
                    "description": "Destination subnet filter for this custom QoS rule\n"
                },
                "portRanges": {
                    "type": "string",
                    "description": "TCP or UDP port ranges matched by this custom QoS rule\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "IP protocol matched by this custom QoS rule\n"
                },
                "srcSubnet": {
                    "type": "string",
                    "description": "Source subnet filter for this custom QoS rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/WlanAuth:WlanAuth": {
            "properties": {
                "anticlogThreshold": {
                    "type": "integer",
                    "description": "SAE anti-clogging token threshold\n"
                },
                "eapReauth": {
                    "type": "boolean",
                    "description": "Whether to trigger EAP reauth when the session ends\n"
                },
                "enableBeaconProtection": {
                    "type": "boolean",
                    "description": "Enable Beacon Protection; default is false for better compatibility\n"
                },
                "enableGcmp256": {
                    "type": "boolean",
                    "description": "Enable GCMP-256 encryption suite; default is false for better compatibility\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Whether to enable MAC Auth, uses the same auth_servers\n"
                },
                "keyIdx": {
                    "type": "integer",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wep`\" pulumi-lang-dotnet=\"`Wep`\" pulumi-lang-go=\"`wep`\" pulumi-lang-python=\"`wep`\" pulumi-lang-yaml=\"`wep`\" pulumi-lang-java=\"`wep`\" pulumi-lang-hcl=\"`wep`\"\u003e`wep`\u003c/span\u003e, index of the WEP key used as the default transmit key\n"
                },
                "keys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wep`\" pulumi-lang-dotnet=\"`Wep`\" pulumi-lang-go=\"`wep`\" pulumi-lang-python=\"`wep`\" pulumi-lang-yaml=\"`wep`\" pulumi-lang-java=\"`wep`\" pulumi-lang-hcl=\"`wep`\"\u003e`wep`\u003c/span\u003e, WEP keys configured for this WLAN\n"
                },
                "multiPskOnly": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, whether to only use multi_psk\n"
                },
                "owe": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`open`\" pulumi-lang-dotnet=\"`Open`\" pulumi-lang-go=\"`open`\" pulumi-lang-python=\"`open`\" pulumi-lang-yaml=\"`open`\" pulumi-lang-java=\"`open`\" pulumi-lang-hcl=\"`open`\"\u003e`open`\u003c/span\u003e, Opportunistic Wireless Encryption mode for this WLAN\n"
                },
                "pairwises": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e, pairwise cipher suites allowed for this WLAN\n"
                },
                "privateWlan": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`multiPskOnly`\" pulumi-lang-dotnet=\"`MultiPskOnly`\" pulumi-lang-go=\"`multiPskOnly`\" pulumi-lang-python=\"`multi_psk_only`\" pulumi-lang-yaml=\"`multiPskOnly`\" pulumi-lang-java=\"`multiPskOnly`\" pulumi-lang-hcl=\"`multi_psk_only`\"\u003e`multiPskOnly`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether private wlan is enabled\n"
                },
                "psk": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, 8-64 characters, or 64 hex characters\n",
                    "secret": true
                },
                "type": {
                    "type": "string",
                    "description": "Authentication mode used by this WLAN\n"
                },
                "wepAsSecondaryAuth": {
                    "type": "boolean",
                    "description": "Enable WEP as secondary auth\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "eapReauth",
                        "enableMacAuth",
                        "keyIdx",
                        "keys",
                        "multiPskOnly",
                        "privateWlan",
                        "psk",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/WlanAuthServer:WlanAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS authentication server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this authentication server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS authentication server\n"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS authentication server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "host",
                        "requireMessageAuthenticator",
                        "secret"
                    ]
                }
            }
        },
        "junipermist:org/WlanBonjour:WlanBonjour": {
            "properties": {
                "additionalVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional VLAN IDs (on the LAN side or from other WLANs) should we be forwarding bonjour queries/responses\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable bonjour for this WLAN. Once enabled,\u003cspan pulumi-lang-nodejs=\" limitBcast \" pulumi-lang-dotnet=\" LimitBcast \" pulumi-lang-go=\" limitBcast \" pulumi-lang-python=\" limit_bcast \" pulumi-lang-yaml=\" limitBcast \" pulumi-lang-java=\" limitBcast \" pulumi-lang-hcl=\" limit_bcast \"\u003e limitBcast \u003c/span\u003eis assumed true,\u003cspan pulumi-lang-nodejs=\" allowMdns \" pulumi-lang-dotnet=\" AllowMdns \" pulumi-lang-go=\" allowMdns \" pulumi-lang-python=\" allow_mdns \" pulumi-lang-yaml=\" allowMdns \" pulumi-lang-java=\" allowMdns \" pulumi-lang-hcl=\" allow_mdns \"\u003e allowMdns \u003c/span\u003eis assumed false\n"
                },
                "services": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/WlanBonjourServices:WlanBonjourServices"
                    },
                    "description": "What services are allowed. \nProperty key is the service name\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/WlanBonjourServices:WlanBonjourServices": {
            "properties": {
                "disableLocal": {
                    "type": "boolean",
                    "description": "Whether to prevent wireless clients to discover bonjour devices on the same WLAN\n"
                },
                "radiusGroups": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "RADIUS groups allowed to discover this Bonjour service, when restricted\n"
                },
                "scope": {
                    "type": "string",
                    "description": "Discovery scope for this Bonjour service on the WLAN\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableLocal",
                        "scope"
                    ]
                }
            }
        },
        "junipermist:org/WlanCiscoCwa:WlanCiscoCwa": {
            "properties": {
                "allowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Hostnames allowed for Cisco CWA client access before authorization\n"
                },
                "allowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CIDR subnets allowed for Cisco CWA client access before authorization\n"
                },
                "blockedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CIDR subnets blocked for Cisco CWA client access\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Cisco CWA is enabled for this WLAN\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowedHostnames",
                        "allowedSubnets",
                        "blockedSubnets",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/WlanCoaServer:WlanCoaServer": {
            "properties": {
                "disableEventTimestampCheck": {
                    "type": "boolean",
                    "description": "Whether to disable Event-Timestamp Check\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this RADIUS CoA server is enabled\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Server IPv4 address for RADIUS CoA messages\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used to send RADIUS CoA messages to the server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used to authenticate RADIUS CoA messages\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "ip",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableEventTimestampCheck",
                        "enabled",
                        "ip",
                        "secret"
                    ]
                }
            }
        },
        "junipermist:org/WlanDnsServerRewrite:WlanDnsServerRewrite": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether DNS server rewrite by RADIUS group is enabled for this WLAN\n"
                },
                "radiusGroups": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map between\u003cspan pulumi-lang-nodejs=\" radiusGroup \" pulumi-lang-dotnet=\" RadiusGroup \" pulumi-lang-go=\" radiusGroup \" pulumi-lang-python=\" radius_group \" pulumi-lang-yaml=\" radiusGroup \" pulumi-lang-java=\" radiusGroup \" pulumi-lang-hcl=\" radius_group \"\u003e radiusGroup \u003c/span\u003eand the desired DNS server (IPv4 only). Property key is the RADIUS group, property value is the desired DNS Server\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/WlanDynamicPsk:WlanDynamicPsk": {
            "properties": {
                "defaultPsk": {
                    "type": "string",
                    "description": "Default PSK to use if cloud WLC is not available, 8-63 characters\n",
                    "secret": true
                },
                "defaultVlanId": {
                    "type": "string",
                    "description": "Default VLAN ID used when dynamic PSK lookup does not return a VLAN\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether dynamic PSK is enabled for this WLAN\n"
                },
                "forceLookup": {
                    "type": "boolean",
                    "description": "When 11r is enabled, we'll try to use the cached PMK, this can be disabled. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means auto\n"
                },
                "source": {
                    "type": "string",
                    "description": "Origin used to retrieve per-user PSKs\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "forceLookup",
                        "source"
                    ]
                }
            }
        },
        "junipermist:org/WlanDynamicVlan:WlanDynamicVlan": {
            "properties": {
                "defaultVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Fallback VLAN IDs, ranges, or variables used when no RADIUS VLAN match is returned\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to enable dynamic vlan\n"
                },
                "localVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "VLAN IDs that should be locally bridged for dynamic VLAN assignment\n"
                },
                "type": {
                    "type": "string",
                    "description": "Dynamic VLAN mapping method used for RADIUS-provided VLAN attributes\n"
                },
                "vlans": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map between\u003cspan pulumi-lang-nodejs=\" vlanId \" pulumi-lang-dotnet=\" VlanId \" pulumi-lang-go=\" vlanId \" pulumi-lang-python=\" vlan_id \" pulumi-lang-yaml=\" vlanId \" pulumi-lang-java=\" vlanId \" pulumi-lang-hcl=\" vlan_id \"\u003e vlanId \u003c/span\u003e(as string) to airespace interface names (comma-separated) or null for standard mapping\n  * if `dynamic_vlan.type`==\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e, property key is the VLAN ID and property value is \\\"\\\"\n  * if `dynamic_vlan.type`==`airespace-interface-name`, property key is the VLAN ID and property value is the Airespace Interface Name\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "localVlanIds",
                        "type"
                    ]
                }
            }
        },
        "junipermist:org/WlanHotspot20:WlanHotspot20": {
            "properties": {
                "domainNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Advertised domain names for Hotspot 2.0 clients\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable hotspot 2.0 config\n"
                },
                "naiRealms": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NAI realms advertised for Hotspot 2.0 authentication\n"
                },
                "operators": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Operator profiles supported by this Hotspot 2.0 configuration\n"
                },
                "rcois": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Roaming Consortium Organization Identifiers advertised for Hotspot 2.0\n"
                },
                "venueName": {
                    "type": "string",
                    "description": "Venue name, default is site name\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/WlanInjectDhcpOption82:WlanInjectDhcpOption82": {
            "properties": {
                "circuitId": {
                    "type": "string",
                    "description": "Information to set in the \u003cspan pulumi-lang-nodejs=\"`circuitId`\" pulumi-lang-dotnet=\"`CircuitId`\" pulumi-lang-go=\"`circuitId`\" pulumi-lang-python=\"`circuit_id`\" pulumi-lang-yaml=\"`circuitId`\" pulumi-lang-java=\"`circuitId`\" pulumi-lang-hcl=\"`circuit_id`\"\u003e`circuitId`\u003c/span\u003e field of the DHCP Option 82. It is possible to use static string or the following variables (e.g. `{{SSID}}:{{AP_MAC}}`):\n  * {{AP_MAC}}\n  * {{AP_MAC_DASHED}}\n  * {{AP_MODEL}}\n  * {{AP_NAME}}\n  * {{SITE_NAME}}\n  * {{SSID}}\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to inject option 82 when forwarding DHCP packets\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/WlanMistNac:WlanMistNac": {
            "properties": {
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled.\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"retries\" are set to value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"max-requests\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersRetries`\" pulumi-lang-dotnet=\"`AuthServersRetries`\" pulumi-lang-go=\"`authServersRetries`\" pulumi-lang-python=\"`auth_servers_retries`\" pulumi-lang-yaml=\"`authServersRetries`\" pulumi-lang-java=\"`authServersRetries`\" pulumi-lang-hcl=\"`auth_servers_retries`\"\u003e`authServersRetries`\u003c/span\u003e is set to default value to 3.\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"quite-period\" and \"transmit-period\" are set to half the value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"supplicant-timeout\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e is set to default value of 10.\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Allows a RADIUS server to dynamically modify the authorization status of a user session.\n"
                },
                "coaPort": {
                    "type": "integer",
                    "description": "the communication port used for “Change of Authorization” (CoA) messages\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled:\n  * \u003cspan pulumi-lang-nodejs=\"`authServers`\" pulumi-lang-dotnet=\"`AuthServers`\" pulumi-lang-go=\"`authServers`\" pulumi-lang-python=\"`auth_servers`\" pulumi-lang-yaml=\"`authServers`\" pulumi-lang-java=\"`authServers`\" pulumi-lang-hcl=\"`auth_servers`\"\u003e`authServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`acctServers`\" pulumi-lang-dotnet=\"`AcctServers`\" pulumi-lang-go=\"`acctServers`\" pulumi-lang-python=\"`acct_servers`\" pulumi-lang-yaml=\"`acctServers`\" pulumi-lang-java=\"`acctServers`\" pulumi-lang-hcl=\"`acct_servers`\"\u003e`acctServers`\u003c/span\u003e is ignored\n  * `auth_servers_*` are ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaServers`\" pulumi-lang-dotnet=\"`CoaServers`\" pulumi-lang-go=\"`coaServers`\" pulumi-lang-python=\"`coa_servers`\" pulumi-lang-yaml=\"`coaServers`\" pulumi-lang-java=\"`coaServers`\" pulumi-lang-hcl=\"`coa_servers`\"\u003e`coaServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`radsec`\" pulumi-lang-dotnet=\"`Radsec`\" pulumi-lang-go=\"`radsec`\" pulumi-lang-python=\"`radsec`\" pulumi-lang-yaml=\"`radsec`\" pulumi-lang-java=\"`radsec`\" pulumi-lang-hcl=\"`radsec`\"\u003e`radsec`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaEnabled`\" pulumi-lang-dotnet=\"`CoaEnabled`\" pulumi-lang-go=\"`coaEnabled`\" pulumi-lang-python=\"`coa_enabled`\" pulumi-lang-yaml=\"`coaEnabled`\" pulumi-lang-java=\"`coaEnabled`\" pulumi-lang-hcl=\"`coa_enabled`\"\u003e`coaEnabled`\u003c/span\u003e is assumed\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authServerRetries`\" pulumi-lang-dotnet=\"`AuthServerRetries`\" pulumi-lang-go=\"`authServerRetries`\" pulumi-lang-python=\"`auth_server_retries`\" pulumi-lang-yaml=\"`authServerRetries`\" pulumi-lang-java=\"`authServerRetries`\" pulumi-lang-hcl=\"`auth_server_retries`\"\u003e`authServerRetries`\u003c/span\u003e.\n"
                },
                "network": {
                    "type": "string",
                    "description": "Which network the mist nac server resides in\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "In case there is a static IP for this network, we can specify it using source ip\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/WlanPortal:WlanPortal": {
            "properties": {
                "allowWlanIdRoam": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to allow guest to connect to other Guest WLANs (with different `WLAN.ssid`) of same org without reauthentication (disable\u003cspan pulumi-lang-nodejs=\" randomMac \" pulumi-lang-dotnet=\" RandomMac \" pulumi-lang-go=\" randomMac \" pulumi-lang-python=\" random_mac \" pulumi-lang-yaml=\" randomMac \" pulumi-lang-java=\" randomMac \" pulumi-lang-hcl=\" random_mac \"\u003e randomMac \u003c/span\u003efor seamless roaming)\n"
                },
                "amazonClientId": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Amazon OAuth2 client id. This is optional. If not provided, it will use a default one.\n"
                },
                "amazonClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Amazon OAuth2 client secret. If\u003cspan pulumi-lang-nodejs=\" amazonClientId \" pulumi-lang-dotnet=\" AmazonClientId \" pulumi-lang-go=\" amazonClientId \" pulumi-lang-python=\" amazon_client_id \" pulumi-lang-yaml=\" amazonClientId \" pulumi-lang-java=\" amazonClientId \" pulumi-lang-hcl=\" amazon_client_id \"\u003e amazonClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n",
                    "secret": true
                },
                "amazonEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Email domains allowed for Amazon-authenticated guest users. If null or empty, any authenticated Amazon email domain is allowed.\n"
                },
                "amazonEnabled": {
                    "type": "boolean",
                    "description": "Whether amazon is enabled as a login method\n"
                },
                "amazonExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using amazon auth (in minutes), if not provided, uses expire`\n"
                },
                "auth": {
                    "type": "string",
                    "description": "Guest portal login scheme used by the WLAN\n"
                },
                "azureClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory app client id\n"
                },
                "azureClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory app client secret\n",
                    "secret": true
                },
                "azureEnabled": {
                    "type": "boolean",
                    "description": "Whether Azure Active Directory is enabled as a login method\n"
                },
                "azureExpire": {
                    "type": "integer",
                    "description": "Interval for which guest remains authorized using azure auth (in minutes), if not provided, uses expire`\n"
                },
                "azureTenantId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory tenant id.\n"
                },
                "broadnetPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e. Password for the Broadnet SMS provider account\n",
                    "secret": true
                },
                "broadnetSid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e. SID for the Broadnet SMS provider account\n"
                },
                "broadnetUserId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e. User ID for the Broadnet SMS provider account\n"
                },
                "bypassWhenCloudDown": {
                    "type": "boolean",
                    "description": "Whether to bypass the guest portal when cloud not reachable (and apply the default policies)\n"
                },
                "clickatellApiKey": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clickatell`\" pulumi-lang-dotnet=\"`Clickatell`\" pulumi-lang-go=\"`clickatell`\" pulumi-lang-python=\"`clickatell`\" pulumi-lang-yaml=\"`clickatell`\" pulumi-lang-java=\"`clickatell`\" pulumi-lang-hcl=\"`clickatell`\"\u003e`clickatell`\u003c/span\u003e. API key for the Clickatell SMS provider account\n"
                },
                "crossSite": {
                    "type": "boolean",
                    "description": "Whether to allow guest to roam between WLANs (with same `WLAN.ssid`, regardless of variables) of different sites of same org without reauthentication (disable\u003cspan pulumi-lang-nodejs=\" randomMac \" pulumi-lang-dotnet=\" RandomMac \" pulumi-lang-go=\" randomMac \" pulumi-lang-python=\" random_mac \" pulumi-lang-yaml=\" randomMac \" pulumi-lang-java=\" randomMac \" pulumi-lang-hcl=\" random_mac \"\u003e randomMac \u003c/span\u003efor seamless roaming)\n"
                },
                "emailEnabled": {
                    "type": "boolean",
                    "description": "Whether email (access code verification) is enabled as a login method\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether guest portal is enabled\n"
                },
                "expire": {
                    "type": "integer",
                    "description": "How long to remain authorized, in minutes\n"
                },
                "externalPortalUrl": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e. External portal URL (e.g. https://host/url) where we can append our query parameters to\n"
                },
                "facebookClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Facebook OAuth2 app id. This is optional. If not provided, it will use a default one.\n"
                },
                "facebookClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Facebook OAuth2 app secret. If\u003cspan pulumi-lang-nodejs=\" facebookClientId \" pulumi-lang-dotnet=\" FacebookClientId \" pulumi-lang-go=\" facebookClientId \" pulumi-lang-python=\" facebook_client_id \" pulumi-lang-yaml=\" facebookClientId \" pulumi-lang-java=\" facebookClientId \" pulumi-lang-hcl=\" facebook_client_id \"\u003e facebookClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n",
                    "secret": true
                },
                "facebookEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Email domains allowed for Facebook-authenticated guest users. If null or empty, any authenticated Facebook email domain is allowed.\n"
                },
                "facebookEnabled": {
                    "type": "boolean",
                    "description": "Whether facebook is enabled as a login method\n"
                },
                "facebookExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using facebook auth (in minutes), if not provided, uses expire`\n"
                },
                "forward": {
                    "type": "boolean",
                    "description": "Whether to forward the user to another URL after authorized\n"
                },
                "forwardUrl": {
                    "type": "string",
                    "description": "URL to forward the user to\n"
                },
                "googleClientId": {
                    "type": "string",
                    "description": "Google OAuth2 app id. This is optional. If not provided, it will use a default one.\n"
                },
                "googleClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Google OAuth2 app secret. If\u003cspan pulumi-lang-nodejs=\" googleClientId \" pulumi-lang-dotnet=\" GoogleClientId \" pulumi-lang-go=\" googleClientId \" pulumi-lang-python=\" google_client_id \" pulumi-lang-yaml=\" googleClientId \" pulumi-lang-java=\" googleClientId \" pulumi-lang-hcl=\" google_client_id \"\u003e googleClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n",
                    "secret": true
                },
                "googleEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Email domains allowed for Google-authenticated guest users. If null or empty, any authenticated Google email domain is allowed.\n"
                },
                "googleEnabled": {
                    "type": "boolean",
                    "description": "Whether Google is enabled as login method\n"
                },
                "googleExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using Google Auth (in minutes), if not provided, uses expire`\n"
                },
                "gupshupPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e. Password for the Gupshup SMS provider account\n",
                    "secret": true
                },
                "gupshupUserid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e. User ID for the Gupshup SMS provider account\n"
                },
                "microsoftClientId": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Microsoft 365 OAuth2 client id. This is optional. If not provided, it will use a default one.\n"
                },
                "microsoftClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Microsoft 365 OAuth2 client secret. If\u003cspan pulumi-lang-nodejs=\" microsoftClientId \" pulumi-lang-dotnet=\" MicrosoftClientId \" pulumi-lang-go=\" microsoftClientId \" pulumi-lang-python=\" microsoft_client_id \" pulumi-lang-yaml=\" microsoftClientId \" pulumi-lang-java=\" microsoftClientId \" pulumi-lang-hcl=\" microsoft_client_id \"\u003e microsoftClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n",
                    "secret": true
                },
                "microsoftEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Email domains allowed for Microsoft 365-authenticated guest users. If null or empty, any authenticated Microsoft 365 email domain is allowed.\n"
                },
                "microsoftEnabled": {
                    "type": "boolean",
                    "description": "Whether microsoft 365 is enabled as a login method\n"
                },
                "microsoftExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using microsoft auth (in minutes), if not provided, uses expire`\n"
                },
                "passphraseEnabled": {
                    "type": "boolean",
                    "description": "Whether password is enabled\n"
                },
                "passphraseExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`passphraseEnabled`\" pulumi-lang-dotnet=\"`PassphraseEnabled`\" pulumi-lang-go=\"`passphraseEnabled`\" pulumi-lang-python=\"`passphrase_enabled`\" pulumi-lang-yaml=\"`passphraseEnabled`\" pulumi-lang-java=\"`passphraseEnabled`\" pulumi-lang-hcl=\"`passphrase_enabled`\"\u003e`passphraseEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using passphrase auth (in minutes), if not provided, uses \u003cspan pulumi-lang-nodejs=\"`expire`\" pulumi-lang-dotnet=\"`Expire`\" pulumi-lang-go=\"`expire`\" pulumi-lang-python=\"`expire`\" pulumi-lang-yaml=\"`expire`\" pulumi-lang-java=\"`expire`\" pulumi-lang-hcl=\"`expire`\"\u003e`expire`\u003c/span\u003e\n"
                },
                "password": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`passphraseEnabled`\" pulumi-lang-dotnet=\"`PassphraseEnabled`\" pulumi-lang-go=\"`passphraseEnabled`\" pulumi-lang-python=\"`passphrase_enabled`\" pulumi-lang-yaml=\"`passphraseEnabled`\" pulumi-lang-java=\"`passphraseEnabled`\" pulumi-lang-hcl=\"`passphrase_enabled`\"\u003e`passphraseEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Passphrase guests must enter when passphrase authentication is enabled\n",
                    "secret": true
                },
                "predefinedSponsorsEnabled": {
                    "type": "boolean",
                    "description": "Whether to show list of sponsor emails mentioned in \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e object as a dropdown. If both \u003cspan pulumi-lang-nodejs=\"`sponsorNotifyAll`\" pulumi-lang-dotnet=\"`SponsorNotifyAll`\" pulumi-lang-go=\"`sponsorNotifyAll`\" pulumi-lang-python=\"`sponsor_notify_all`\" pulumi-lang-yaml=\"`sponsorNotifyAll`\" pulumi-lang-java=\"`sponsorNotifyAll`\" pulumi-lang-hcl=\"`sponsor_notify_all`\"\u003e`sponsorNotifyAll`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`predefinedSponsorsEnabled`\" pulumi-lang-dotnet=\"`PredefinedSponsorsEnabled`\" pulumi-lang-go=\"`predefinedSponsorsEnabled`\" pulumi-lang-python=\"`predefined_sponsors_enabled`\" pulumi-lang-yaml=\"`predefinedSponsorsEnabled`\" pulumi-lang-java=\"`predefinedSponsorsEnabled`\" pulumi-lang-hcl=\"`predefined_sponsors_enabled`\"\u003e`predefinedSponsorsEnabled`\u003c/span\u003e are false, behavior is acc to \u003cspan pulumi-lang-nodejs=\"`sponsorEmailDomains`\" pulumi-lang-dotnet=\"`SponsorEmailDomains`\" pulumi-lang-go=\"`sponsorEmailDomains`\" pulumi-lang-python=\"`sponsor_email_domains`\" pulumi-lang-yaml=\"`sponsorEmailDomains`\" pulumi-lang-java=\"`sponsorEmailDomains`\" pulumi-lang-hcl=\"`sponsor_email_domains`\"\u003e`sponsorEmailDomains`\u003c/span\u003e\n"
                },
                "predefinedSponsorsHideEmail": {
                    "type": "boolean",
                    "description": "Whether to hide sponsor’s email from list of sponsors\n"
                },
                "privacy": {
                    "type": "boolean",
                    "description": "Whether to show the privacy policy in the WLAN guest portal\n"
                },
                "puzzelPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e. Password for the Puzzel SMS provider account\n",
                    "secret": true
                },
                "puzzelServiceId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e. Service ID for the Puzzel SMS provider account\n"
                },
                "puzzelUsername": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e. Username for the Puzzel SMS provider account\n"
                },
                "smsEnabled": {
                    "type": "boolean",
                    "description": "Whether sms is enabled as a login method\n"
                },
                "smsExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using sms auth (in minutes), if not provided, uses expire`\n"
                },
                "smsMessageFormat": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. SMS Message format\n"
                },
                "smsProvider": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. SMS provider used to deliver guest portal access codes\n"
                },
                "smsglobalApiKey": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, Client API Key\n"
                },
                "smsglobalApiSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, Client secret\n",
                    "secret": true
                },
                "smsglobalSender": {
                    "type": "string",
                    "description": "Optional sender's number or sender ID for SMSGlobal. If not provided, uses the default number associated with the account\n"
                },
                "sponsorAutoApprove": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to automatically approve guest and allow sponsor to revoke guest access, needs\u003cspan pulumi-lang-nodejs=\" predefinedSponsorsEnabled \" pulumi-lang-dotnet=\" PredefinedSponsorsEnabled \" pulumi-lang-go=\" predefinedSponsorsEnabled \" pulumi-lang-python=\" predefined_sponsors_enabled \" pulumi-lang-yaml=\" predefinedSponsorsEnabled \" pulumi-lang-java=\" predefinedSponsorsEnabled \" pulumi-lang-hcl=\" predefined_sponsors_enabled \"\u003e predefinedSponsorsEnabled \u003c/span\u003eenabled and\u003cspan pulumi-lang-nodejs=\" sponsorNotifyAll \" pulumi-lang-dotnet=\" SponsorNotifyAll \" pulumi-lang-go=\" sponsorNotifyAll \" pulumi-lang-python=\" sponsor_notify_all \" pulumi-lang-yaml=\" sponsorNotifyAll \" pulumi-lang-java=\" sponsorNotifyAll \" pulumi-lang-hcl=\" sponsor_notify_all \"\u003e sponsorNotifyAll \u003c/span\u003edisabled\n"
                },
                "sponsorEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Email domains allowed for sponsor email addresses. Required if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e is empty.\n"
                },
                "sponsorEnabled": {
                    "type": "boolean",
                    "description": "Whether sponsor is enabled\n"
                },
                "sponsorExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using sponsor auth (in minutes), if not provided, uses expire`\n"
                },
                "sponsorLinkValidityDuration": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. How long to remain valid sponsored guest request approve/deny link received in email, in minutes. Default is 60 minutes.\n"
                },
                "sponsorNotifyAll": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. whether to notify all sponsors that are mentioned in \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e object. Both \u003cspan pulumi-lang-nodejs=\"`sponsorNotifyAll`\" pulumi-lang-dotnet=\"`SponsorNotifyAll`\" pulumi-lang-go=\"`sponsorNotifyAll`\" pulumi-lang-python=\"`sponsor_notify_all`\" pulumi-lang-yaml=\"`sponsorNotifyAll`\" pulumi-lang-java=\"`sponsorNotifyAll`\" pulumi-lang-hcl=\"`sponsor_notify_all`\"\u003e`sponsorNotifyAll`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`predefinedSponsorsEnabled`\" pulumi-lang-dotnet=\"`PredefinedSponsorsEnabled`\" pulumi-lang-go=\"`predefinedSponsorsEnabled`\" pulumi-lang-python=\"`predefined_sponsors_enabled`\" pulumi-lang-yaml=\"`predefinedSponsorsEnabled`\" pulumi-lang-java=\"`predefinedSponsorsEnabled`\" pulumi-lang-hcl=\"`predefined_sponsors_enabled`\"\u003e`predefinedSponsorsEnabled`\u003c/span\u003e should be true in order to notify sponsors. If true, email sent to 10 sponsors in no particular order.\n"
                },
                "sponsorStatusNotify": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. If enabled, guest will get email about sponsor's action (approve/deny)\n"
                },
                "sponsors": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "object of allowed sponsors email with name. Required if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e\n            is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sponsorEmailDomains`\" pulumi-lang-dotnet=\"`SponsorEmailDomains`\" pulumi-lang-go=\"`sponsorEmailDomains`\" pulumi-lang-python=\"`sponsor_email_domains`\" pulumi-lang-yaml=\"`sponsorEmailDomains`\" pulumi-lang-java=\"`sponsorEmailDomains`\" pulumi-lang-hcl=\"`sponsor_email_domains`\"\u003e`sponsorEmailDomains`\u003c/span\u003e is empty.\n\n            Property key is the sponsor email, Property value is the sponsor name\n"
                },
                "ssoDefaultRole": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched\n"
                },
                "ssoForcedRole": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. Role assigned to authenticated users when guest SSO is used\n"
                },
                "ssoIdpCert": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. IDP Cert (used to verify the signed response)\n"
                },
                "ssoIdpSignAlgo": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. Signing algorithm used for SAML assertions from the identity provider\n"
                },
                "ssoIdpSsoUrl": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, IDP Single-Sign-On URL\n"
                },
                "ssoIssuer": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, IDP issuer URL\n"
                },
                "ssoNameidFormat": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. SAML NameID format expected from the identity provider\n"
                },
                "telstraClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, Client ID provided by Telstra\n"
                },
                "telstraClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, Client secret provided by Telstra\n",
                    "secret": true
                },
                "twilioAuthToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Auth token account with twilio account\n",
                    "secret": true
                },
                "twilioPhoneNumber": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Twilio phone number associated with the account. See example for accepted format.\n"
                },
                "twilioSid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Account SID provided by Twilio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "amazonClientId",
                        "amazonClientSecret",
                        "amazonEmailDomains",
                        "amazonEnabled",
                        "auth",
                        "azureClientId",
                        "azureClientSecret",
                        "azureEnabled",
                        "azureTenantId",
                        "broadnetPassword",
                        "bypassWhenCloudDown",
                        "emailEnabled",
                        "enabled",
                        "expire",
                        "externalPortalUrl",
                        "facebookClientId",
                        "facebookClientSecret",
                        "facebookEmailDomains",
                        "facebookEnabled",
                        "forward",
                        "forwardUrl",
                        "googleClientId",
                        "googleClientSecret",
                        "googleEmailDomains",
                        "googleEnabled",
                        "microsoftClientId",
                        "microsoftClientSecret",
                        "microsoftEmailDomains",
                        "microsoftEnabled",
                        "passphraseEnabled",
                        "password",
                        "predefinedSponsorsEnabled",
                        "predefinedSponsorsHideEmail",
                        "privacy",
                        "smsEnabled",
                        "smsMessageFormat",
                        "smsProvider",
                        "sponsorEmailDomains",
                        "sponsorEnabled",
                        "sponsorLinkValidityDuration",
                        "sponsorNotifyAll",
                        "sponsorStatusNotify",
                        "sponsors",
                        "ssoDefaultRole",
                        "ssoForcedRole",
                        "ssoIdpCert",
                        "ssoIdpSignAlgo",
                        "ssoIdpSsoUrl",
                        "ssoIssuer",
                        "ssoNameidFormat"
                    ]
                }
            }
        },
        "junipermist:org/WlanPortalTemplatePortalTemplate:WlanPortalTemplatePortalTemplate": {
            "properties": {
                "accessCodeAlternateEmail": {
                    "type": "string",
                    "description": "Link text for using an alternate email address during access-code login\n"
                },
                "alignment": {
                    "type": "string",
                    "description": "Text and content alignment used by the guest portal template\n"
                },
                "authButtonAmazon": {
                    "type": "string",
                    "description": "Label for Amazon auth button\n"
                },
                "authButtonAzure": {
                    "type": "string",
                    "description": "Label for Azure auth button\n"
                },
                "authButtonEmail": {
                    "type": "string",
                    "description": "Label for Email auth button\n"
                },
                "authButtonFacebook": {
                    "type": "string",
                    "description": "Label for Facebook auth button\n"
                },
                "authButtonGoogle": {
                    "type": "string",
                    "description": "Label for Google auth button\n"
                },
                "authButtonMicrosoft": {
                    "type": "string",
                    "description": "Label for Microsoft auth button\n"
                },
                "authButtonPassphrase": {
                    "type": "string",
                    "description": "Label for passphrase auth button\n"
                },
                "authButtonSms": {
                    "type": "string",
                    "description": "Label for SMS auth button\n"
                },
                "authButtonSponsor": {
                    "type": "string",
                    "description": "Label for Sponsor auth button\n"
                },
                "authLabel": {
                    "type": "string",
                    "description": "Heading text displayed above portal authentication options\n"
                },
                "backLink": {
                    "type": "string",
                    "description": "Label of the link to go back to /logon\n"
                },
                "color": {
                    "type": "string",
                    "description": "Primary color used by the portal template\n"
                },
                "colorDark": {
                    "type": "string",
                    "description": "Darker accent color used by the portal template\n"
                },
                "colorLight": {
                    "type": "string",
                    "description": "Lighter accent color used by the portal template\n"
                },
                "company": {
                    "type": "boolean",
                    "description": "Whether company field is required\n"
                },
                "companyError": {
                    "type": "string",
                    "description": "Error message when company not provided\n"
                },
                "companyLabel": {
                    "type": "string",
                    "description": "Label displayed for the company input field\n"
                },
                "email": {
                    "type": "boolean",
                    "description": "Whether email field is required\n"
                },
                "emailAccessDomainError": {
                    "type": "string",
                    "description": "Error message when a user has valid social login but doesn't match specified email domains.\n"
                },
                "emailCancel": {
                    "type": "string",
                    "description": "Label for cancel confirmation code submission using email auth\n"
                },
                "emailCodeCancel": {
                    "type": "string",
                    "description": "Link text for requesting help when the email access code was not received\n"
                },
                "emailCodeError": {
                    "type": "string",
                    "description": "Error message shown when the alternate email address for access-code delivery is invalid\n"
                },
                "emailCodeFieldLabel": {
                    "type": "string",
                    "description": "Label for the email access-code input field\n"
                },
                "emailCodeMessage": {
                    "type": "string",
                    "description": "Instructional text shown before entering the email access code\n"
                },
                "emailCodeSubmit": {
                    "type": "string",
                    "description": "Button label for submitting the email access code\n"
                },
                "emailCodeTitle": {
                    "type": "string",
                    "description": "Title shown on the email access-code entry page\n"
                },
                "emailError": {
                    "type": "string",
                    "description": "Error message when email not provided\n"
                },
                "emailFieldLabel": {
                    "type": "string",
                    "description": "Label for the email address input field\n"
                },
                "emailLabel": {
                    "type": "string",
                    "description": "Label displayed for the email input field\n"
                },
                "emailMessage": {
                    "type": "string",
                    "description": "Instructional text explaining email access-code delivery\n"
                },
                "emailSubmit": {
                    "type": "string",
                    "description": "Label for confirmation code submit button using email auth\n"
                },
                "emailTitle": {
                    "type": "string",
                    "description": "Title for the Email registration\n"
                },
                "field1": {
                    "type": "boolean",
                    "description": "Whether to ask field1\n"
                },
                "field1error": {
                    "type": "string",
                    "description": "Error message when field1 not provided\n"
                },
                "field1label": {
                    "type": "string",
                    "description": "Label for custom field 1 input\n"
                },
                "field1required": {
                    "type": "boolean",
                    "description": "Whether custom field 1 must be provided when the field is shown\n"
                },
                "field2": {
                    "type": "boolean",
                    "description": "Whether to ask field2\n"
                },
                "field2error": {
                    "type": "string",
                    "description": "Error message when field2 not provided\n"
                },
                "field2label": {
                    "type": "string",
                    "description": "Label for custom field 2 input\n"
                },
                "field2required": {
                    "type": "boolean",
                    "description": "Whether custom field 2 must be provided when the field is shown\n"
                },
                "field3": {
                    "type": "boolean",
                    "description": "Whether to ask field3\n"
                },
                "field3error": {
                    "type": "string",
                    "description": "Error message when field3 not provided\n"
                },
                "field3label": {
                    "type": "string",
                    "description": "Label for custom field 3 input\n"
                },
                "field3required": {
                    "type": "boolean",
                    "description": "Whether custom field 3 must be provided when the field is shown\n"
                },
                "field4": {
                    "type": "boolean",
                    "description": "Whether to ask field4\n"
                },
                "field4error": {
                    "type": "string",
                    "description": "Error message when field4 not provided\n"
                },
                "field4label": {
                    "type": "string",
                    "description": "Label for custom field 4 input\n"
                },
                "field4required": {
                    "type": "boolean",
                    "description": "Whether custom field 4 must be provided when the field is shown\n"
                },
                "locales": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/WlanPortalTemplatePortalTemplateLocales:WlanPortalTemplatePortalTemplateLocales"
                    },
                    "description": "Can be used to localize the portal based on the User Agent. Allowed property key values are:\n  \u003cspan pulumi-lang-nodejs=\"`ar`\" pulumi-lang-dotnet=\"`Ar`\" pulumi-lang-go=\"`ar`\" pulumi-lang-python=\"`ar`\" pulumi-lang-yaml=\"`ar`\" pulumi-lang-java=\"`ar`\" pulumi-lang-hcl=\"`ar`\"\u003e`ar`\u003c/span\u003e, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-GB`, `en-US`, `es-ES`, `fi-FI`, `fr-FR`, \n  `he-IL`, `hi-IN`, `hr-HR`, `hu-HU`, `id-ID`, `it-IT`, `ja-J^`, `ko-KT`, `ms-MY`, `nb-NO`, `nl-NL`, \n  `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, \n  `zh-Hans`, `zh-Hant`\n"
                },
                "logo": {
                    "type": "string",
                    "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image less than 100kB and image dimension must be less 500px x 200px (width x height).\n"
                },
                "marketingPolicyLink": {
                    "type": "string",
                    "description": "label of the link to go to /marketing_policy\n"
                },
                "marketingPolicyOptIn": {
                    "type": "boolean",
                    "description": "Whether marketing policy optin is enabled\n"
                },
                "marketingPolicyOptInLabel": {
                    "type": "string",
                    "description": "label for marketing optin\n"
                },
                "marketingPolicyOptInText": {
                    "type": "string",
                    "description": "Text of the marketing policy opt-in content\n"
                },
                "message": {
                    "type": "string",
                    "description": "Main message displayed on the guest portal sign-in page\n"
                },
                "multiAuth": {
                    "type": "boolean",
                    "description": "Whether the portal presents multiple authentication methods\n"
                },
                "name": {
                    "type": "boolean",
                    "description": "Whether name field is required\n"
                },
                "nameError": {
                    "type": "string",
                    "description": "Error message when name not provided\n"
                },
                "nameLabel": {
                    "type": "string",
                    "description": "Label displayed for the name input field\n"
                },
                "optOutDefault": {
                    "type": "boolean",
                    "description": "Default value for the `Do not store` checkbox\n"
                },
                "optout": {
                    "type": "boolean",
                    "description": "Whether to display Do Not Store My Personal Information\n"
                },
                "optoutLabel": {
                    "type": "string",
                    "description": "Label for Do Not Store My Personal Information\n"
                },
                "pageTitle": {
                    "type": "string",
                    "description": "Browser or page title shown for the guest portal\n"
                },
                "passphraseCancel": {
                    "type": "string",
                    "description": "Label for the Passphrase cancel button\n"
                },
                "passphraseError": {
                    "type": "string",
                    "description": "Error message when invalid passphrase is provided\n"
                },
                "passphraseLabel": {
                    "type": "string",
                    "description": "Label for the passphrase input field\n"
                },
                "passphraseMessage": {
                    "type": "string",
                    "description": "Instructional text shown on the passphrase sign-in page\n"
                },
                "passphraseSubmit": {
                    "type": "string",
                    "description": "Label for the Passphrase submit button\n"
                },
                "passphraseTitle": {
                    "type": "string",
                    "description": "Title for passphrase details page\n"
                },
                "poweredBy": {
                    "type": "boolean",
                    "description": "Whether to show \\\"Powered by Mist\\\"\n"
                },
                "privacy": {
                    "type": "boolean",
                    "description": "Whether to require the Privacy Term acceptance\n"
                },
                "privacyPolicyAcceptLabel": {
                    "type": "string",
                    "description": "Prefix of the label of the link to go to Privacy Policy\n"
                },
                "privacyPolicyError": {
                    "type": "string",
                    "description": "Error message when Privacy Policy not accepted\n"
                },
                "privacyPolicyLink": {
                    "type": "string",
                    "description": "Label of the link to go to Privacy Policy\n"
                },
                "privacyPolicyText": {
                    "type": "string",
                    "description": "Text of the Privacy Policy\n"
                },
                "requiredFieldLabel": {
                    "type": "string",
                    "description": "Text used to mark a form field as required\n"
                },
                "responsiveLayout": {
                    "type": "boolean",
                    "description": "Whether the portal template uses a responsive layout\n"
                },
                "signInLabel": {
                    "type": "string",
                    "description": "Label of the button to signin\n"
                },
                "smsCarrierDefault": {
                    "type": "string",
                    "description": "Default option text shown in the SMS carrier selector\n"
                },
                "smsCarrierError": {
                    "type": "string",
                    "description": "Error message shown when no mobile carrier is selected\n"
                },
                "smsCarrierFieldLabel": {
                    "type": "string",
                    "description": "Label for mobile carrier drop-down list\n"
                },
                "smsCodeCancel": {
                    "type": "string",
                    "description": "Label for cancel confirmation code submission\n"
                },
                "smsCodeError": {
                    "type": "string",
                    "description": "Error message when confirmation code is invalid\n"
                },
                "smsCodeFieldLabel": {
                    "type": "string",
                    "description": "Label for the SMS confirmation-code input field\n"
                },
                "smsCodeMessage": {
                    "type": "string",
                    "description": "Instructional text shown before entering the SMS access code\n"
                },
                "smsCodeSubmit": {
                    "type": "string",
                    "description": "Label for confirmation code submit button\n"
                },
                "smsCodeTitle": {
                    "type": "string",
                    "description": "Title shown on the SMS access-code entry page\n"
                },
                "smsCountryFieldLabel": {
                    "type": "string",
                    "description": "Label for the SMS country-code input field\n"
                },
                "smsCountryFormat": {
                    "type": "string",
                    "description": "Example country code format shown for SMS authentication\n"
                },
                "smsHaveAccessCode": {
                    "type": "string",
                    "description": "Label for checkbox to specify that the user has access code\n"
                },
                "smsIsTwilio": {
                    "type": "boolean",
                    "description": "Whether the SMS portal flow uses Twilio-specific behavior\n"
                },
                "smsMessageFormat": {
                    "type": "string",
                    "description": "Format of access code sms message. {{code}} and {{duration}} are placeholders and should be retained as is.\n"
                },
                "smsNumberCancel": {
                    "type": "string",
                    "description": "Label for canceling mobile details for SMS auth\n"
                },
                "smsNumberError": {
                    "type": "string",
                    "description": "Error message shown when the mobile number is invalid\n"
                },
                "smsNumberFieldLabel": {
                    "type": "string",
                    "description": "Label for field to provide mobile number\n"
                },
                "smsNumberFormat": {
                    "type": "string",
                    "description": "Example mobile number format shown for SMS authentication\n"
                },
                "smsNumberMessage": {
                    "type": "string",
                    "description": "Instructional text explaining SMS access-code delivery\n"
                },
                "smsNumberSubmit": {
                    "type": "string",
                    "description": "Label for submit button for code generation\n"
                },
                "smsNumberTitle": {
                    "type": "string",
                    "description": "Title for phone number details\n"
                },
                "smsUsernameFormat": {
                    "type": "string",
                    "description": "Example username format shown for SMS authentication\n"
                },
                "smsValidityDuration": {
                    "type": "integer",
                    "description": "How long confirmation code should be considered valid (in minutes)\n"
                },
                "sponsorBackLink": {
                    "type": "string",
                    "description": "Link text for returning to edit the sponsor request form\n"
                },
                "sponsorCancel": {
                    "type": "string",
                    "description": "Button label for canceling sponsor authentication\n"
                },
                "sponsorEmail": {
                    "type": "string",
                    "description": "Label for Sponsor Email\n"
                },
                "sponsorEmailError": {
                    "type": "string",
                    "description": "Error message shown when the sponsor email address is invalid\n"
                },
                "sponsorEmailTemplate": {
                    "type": "string",
                    "description": "HTML template to replace/override default sponsor email template \nSponsor Email Template supports following template variables:\n  * \u003cspan pulumi-lang-nodejs=\"`approveUrl`\" pulumi-lang-dotnet=\"`ApproveUrl`\" pulumi-lang-go=\"`approveUrl`\" pulumi-lang-python=\"`approve_url`\" pulumi-lang-yaml=\"`approveUrl`\" pulumi-lang-java=\"`approveUrl`\" pulumi-lang-hcl=\"`approve_url`\"\u003e`approveUrl`\u003c/span\u003e: Renders URL to approve the request; optionally \u0026minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized\n  * \u003cspan pulumi-lang-nodejs=\"`denyUrl`\" pulumi-lang-dotnet=\"`DenyUrl`\" pulumi-lang-go=\"`denyUrl`\" pulumi-lang-python=\"`deny_url`\" pulumi-lang-yaml=\"`denyUrl`\" pulumi-lang-java=\"`denyUrl`\" pulumi-lang-hcl=\"`deny_url`\"\u003e`denyUrl`\u003c/span\u003e: Renders URL to reject the request\n  * \u003cspan pulumi-lang-nodejs=\"`guestEmail`\" pulumi-lang-dotnet=\"`GuestEmail`\" pulumi-lang-go=\"`guestEmail`\" pulumi-lang-python=\"`guest_email`\" pulumi-lang-yaml=\"`guestEmail`\" pulumi-lang-java=\"`guestEmail`\" pulumi-lang-hcl=\"`guest_email`\"\u003e`guestEmail`\u003c/span\u003e: Renders Email ID of the guest\n  * \u003cspan pulumi-lang-nodejs=\"`guestName`\" pulumi-lang-dotnet=\"`GuestName`\" pulumi-lang-go=\"`guestName`\" pulumi-lang-python=\"`guest_name`\" pulumi-lang-yaml=\"`guestName`\" pulumi-lang-java=\"`guestName`\" pulumi-lang-hcl=\"`guest_name`\"\u003e`guestName`\u003c/span\u003e: Renders Name of the guest\n  * \u003cspan pulumi-lang-nodejs=\"`field1`\" pulumi-lang-dotnet=\"`Field1`\" pulumi-lang-go=\"`field1`\" pulumi-lang-python=\"`field1`\" pulumi-lang-yaml=\"`field1`\" pulumi-lang-java=\"`field1`\" pulumi-lang-hcl=\"`field1`\"\u003e`field1`\u003c/span\u003e: Renders value of the Custom Field 1\n  * \u003cspan pulumi-lang-nodejs=\"`field2`\" pulumi-lang-dotnet=\"`Field2`\" pulumi-lang-go=\"`field2`\" pulumi-lang-python=\"`field2`\" pulumi-lang-yaml=\"`field2`\" pulumi-lang-java=\"`field2`\" pulumi-lang-hcl=\"`field2`\"\u003e`field2`\u003c/span\u003e: Renders value of the Custom Field 2\n  * \u003cspan pulumi-lang-nodejs=\"`sponsorLinkValidityDuration`\" pulumi-lang-dotnet=\"`SponsorLinkValidityDuration`\" pulumi-lang-go=\"`sponsorLinkValidityDuration`\" pulumi-lang-python=\"`sponsor_link_validity_duration`\" pulumi-lang-yaml=\"`sponsorLinkValidityDuration`\" pulumi-lang-java=\"`sponsorLinkValidityDuration`\" pulumi-lang-hcl=\"`sponsor_link_validity_duration`\"\u003e`sponsorLinkValidityDuration`\u003c/span\u003e: Renders validity time of the request (i.e. Approve/Deny URL)\n  * \u003cspan pulumi-lang-nodejs=\"`authExpireMinutes`\" pulumi-lang-dotnet=\"`AuthExpireMinutes`\" pulumi-lang-go=\"`authExpireMinutes`\" pulumi-lang-python=\"`auth_expire_minutes`\" pulumi-lang-yaml=\"`authExpireMinutes`\" pulumi-lang-java=\"`authExpireMinutes`\" pulumi-lang-hcl=\"`auth_expire_minutes`\"\u003e`authExpireMinutes`\u003c/span\u003e: Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes)\n"
                },
                "sponsorInfoApproved": {
                    "type": "string",
                    "description": "Status message prefix shown when a sponsor approves the request\n"
                },
                "sponsorInfoDenied": {
                    "type": "string",
                    "description": "Status message prefix shown when a sponsor denies the request\n"
                },
                "sponsorInfoPending": {
                    "type": "string",
                    "description": "Status message prefix shown after a sponsor notification is sent\n"
                },
                "sponsorName": {
                    "type": "string",
                    "description": "Label for Sponsor Name\n"
                },
                "sponsorNameError": {
                    "type": "string",
                    "description": "Error message shown when the sponsor name is missing\n"
                },
                "sponsorNotePending": {
                    "type": "string",
                    "description": "Additional status text shown while sponsor approval is pending\n"
                },
                "sponsorRequestAccess": {
                    "type": "string",
                    "description": "Submit button label request Wifi Access and notify sponsor about guest request\n"
                },
                "sponsorStatusApproved": {
                    "type": "string",
                    "description": "Text to display if sponsor approves request\n"
                },
                "sponsorStatusDenied": {
                    "type": "string",
                    "description": "Text to display when sponsor denies request\n"
                },
                "sponsorStatusPending": {
                    "type": "string",
                    "description": "Text to display if request is still pending\n"
                },
                "sponsorSubmit": {
                    "type": "string",
                    "description": "Submit button label to notify sponsor about guest request\n"
                },
                "sponsorsError": {
                    "type": "string",
                    "description": "Error message shown when no sponsor is selected\n"
                },
                "sponsorsFieldLabel": {
                    "type": "string",
                    "description": "Label for the sponsor selection field\n"
                },
                "tos": {
                    "type": "boolean",
                    "description": "Whether the portal requires Terms of Service acceptance\n"
                },
                "tosAcceptLabel": {
                    "type": "string",
                    "description": "Prefix of the label of the link to go to tos\n"
                },
                "tosError": {
                    "type": "string",
                    "description": "Error message when tos not accepted\n"
                },
                "tosLink": {
                    "type": "string",
                    "description": "Label of the link to go to tos\n"
                },
                "tosText": {
                    "type": "string",
                    "description": "Text of the Terms of Service\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "accessCodeAlternateEmail",
                        "alignment",
                        "authButtonAmazon",
                        "authButtonAzure",
                        "authButtonEmail",
                        "authButtonFacebook",
                        "authButtonGoogle",
                        "authButtonMicrosoft",
                        "authButtonPassphrase",
                        "authButtonSms",
                        "authButtonSponsor",
                        "authLabel",
                        "color",
                        "colorDark",
                        "colorLight",
                        "company",
                        "companyError",
                        "companyLabel",
                        "email",
                        "emailAccessDomainError",
                        "emailCancel",
                        "emailCodeCancel",
                        "emailCodeError",
                        "emailCodeFieldLabel",
                        "emailCodeMessage",
                        "emailCodeSubmit",
                        "emailCodeTitle",
                        "emailError",
                        "emailFieldLabel",
                        "emailLabel",
                        "emailMessage",
                        "emailSubmit",
                        "emailTitle",
                        "field1",
                        "field1error",
                        "field1label",
                        "field2",
                        "field2error",
                        "field2label",
                        "field3",
                        "field3error",
                        "field3label",
                        "field4",
                        "field4error",
                        "field4label",
                        "logo",
                        "marketingPolicyLink",
                        "marketingPolicyOptIn",
                        "marketingPolicyOptInLabel",
                        "marketingPolicyOptInText",
                        "message",
                        "multiAuth",
                        "name",
                        "nameError",
                        "nameLabel",
                        "optOutDefault",
                        "optout",
                        "optoutLabel",
                        "pageTitle",
                        "passphraseCancel",
                        "passphraseError",
                        "passphraseLabel",
                        "passphraseMessage",
                        "passphraseSubmit",
                        "passphraseTitle",
                        "poweredBy",
                        "privacy",
                        "privacyPolicyAcceptLabel",
                        "privacyPolicyError",
                        "privacyPolicyLink",
                        "privacyPolicyText",
                        "requiredFieldLabel",
                        "responsiveLayout",
                        "signInLabel",
                        "smsCarrierDefault",
                        "smsCarrierError",
                        "smsCarrierFieldLabel",
                        "smsCodeCancel",
                        "smsCodeError",
                        "smsCodeFieldLabel",
                        "smsCodeMessage",
                        "smsCodeSubmit",
                        "smsCodeTitle",
                        "smsCountryFieldLabel",
                        "smsCountryFormat",
                        "smsHaveAccessCode",
                        "smsIsTwilio",
                        "smsNumberCancel",
                        "smsNumberError",
                        "smsNumberFieldLabel",
                        "smsNumberFormat",
                        "smsNumberMessage",
                        "smsNumberSubmit",
                        "smsNumberTitle",
                        "smsUsernameFormat",
                        "sponsorBackLink",
                        "sponsorCancel",
                        "sponsorEmail",
                        "sponsorEmailError",
                        "sponsorEmailTemplate",
                        "sponsorInfoApproved",
                        "sponsorInfoDenied",
                        "sponsorInfoPending",
                        "sponsorName",
                        "sponsorNameError",
                        "sponsorNotePending",
                        "sponsorRequestAccess",
                        "sponsorStatusApproved",
                        "sponsorStatusDenied",
                        "sponsorStatusPending",
                        "sponsorSubmit",
                        "sponsorsError",
                        "sponsorsFieldLabel",
                        "tos",
                        "tosAcceptLabel",
                        "tosError",
                        "tosLink",
                        "tosText"
                    ]
                }
            }
        },
        "junipermist:org/WlanPortalTemplatePortalTemplateLocales:WlanPortalTemplatePortalTemplateLocales": {
            "properties": {
                "authButtonAmazon": {
                    "type": "string",
                    "description": "Label for Amazon auth button\n"
                },
                "authButtonAzure": {
                    "type": "string",
                    "description": "Label for Azure auth button\n"
                },
                "authButtonEmail": {
                    "type": "string",
                    "description": "Label for Email auth button\n"
                },
                "authButtonFacebook": {
                    "type": "string",
                    "description": "Label for Facebook auth button\n"
                },
                "authButtonGoogle": {
                    "type": "string",
                    "description": "Label for Google auth button\n"
                },
                "authButtonMicrosoft": {
                    "type": "string",
                    "description": "Label for Microsoft auth button\n"
                },
                "authButtonPassphrase": {
                    "type": "string",
                    "description": "Label for passphrase auth button\n"
                },
                "authButtonSms": {
                    "type": "string",
                    "description": "Label for SMS auth button\n"
                },
                "authButtonSponsor": {
                    "type": "string",
                    "description": "Label for Sponsor auth button\n"
                },
                "authLabel": {
                    "type": "string",
                    "description": "Localized heading text displayed above portal authentication options\n"
                },
                "backLink": {
                    "type": "string",
                    "description": "Label of the link to go back to /logon\n"
                },
                "companyError": {
                    "type": "string",
                    "description": "Error message when company not provided\n"
                },
                "companyLabel": {
                    "type": "string",
                    "description": "Localized label displayed for the company input field\n"
                },
                "emailAccessDomainError": {
                    "type": "string",
                    "description": "Error message when a user has valid social login but doesn't match specified email domains.\n"
                },
                "emailCancel": {
                    "type": "string",
                    "description": "Label for cancel confirmation code submission using email auth\n"
                },
                "emailCodeCancel": {
                    "type": "string",
                    "description": "Localized link text for requesting help when the email access code was not received\n"
                },
                "emailCodeError": {
                    "type": "string",
                    "description": "Localized error message shown when the alternate email address for access-code delivery is invalid\n"
                },
                "emailCodeFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the email access-code input field\n"
                },
                "emailCodeMessage": {
                    "type": "string",
                    "description": "Localized instructional text shown before entering the email access code\n"
                },
                "emailCodeSubmit": {
                    "type": "string",
                    "description": "Localized button label for submitting the email access code\n"
                },
                "emailCodeTitle": {
                    "type": "string",
                    "description": "Localized title shown on the email access-code entry page\n"
                },
                "emailError": {
                    "type": "string",
                    "description": "Error message when email not provided\n"
                },
                "emailFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the email address input field\n"
                },
                "emailLabel": {
                    "type": "string",
                    "description": "Localized label displayed for the email input field\n"
                },
                "emailMessage": {
                    "type": "string",
                    "description": "Localized instructional text explaining email access-code delivery\n"
                },
                "emailSubmit": {
                    "type": "string",
                    "description": "Label for confirmation code submit button using email auth\n"
                },
                "emailTitle": {
                    "type": "string",
                    "description": "Title for the Email registration\n"
                },
                "field1error": {
                    "type": "string",
                    "description": "Error message when field1 not provided\n"
                },
                "field1label": {
                    "type": "string",
                    "description": "Localized label for custom field 1 input\n"
                },
                "field2error": {
                    "type": "string",
                    "description": "Error message when field2 not provided\n"
                },
                "field2label": {
                    "type": "string",
                    "description": "Localized label for custom field 2 input\n"
                },
                "field3error": {
                    "type": "string",
                    "description": "Error message when field3 not provided\n"
                },
                "field3label": {
                    "type": "string",
                    "description": "Localized label for custom field 3 input\n"
                },
                "field4error": {
                    "type": "string",
                    "description": "Error message when field4 not provided\n"
                },
                "field4label": {
                    "type": "string",
                    "description": "Localized label for custom field 4 input\n"
                },
                "marketingPolicyLink": {
                    "type": "string",
                    "description": "label of the link to go to /marketing_policy\n"
                },
                "marketingPolicyOptIn": {
                    "type": "boolean",
                    "description": "Whether marketing policy optin is enabled\n"
                },
                "marketingPolicyOptInLabel": {
                    "type": "string",
                    "description": "label for marketing optin\n"
                },
                "marketingPolicyOptInText": {
                    "type": "string",
                    "description": "Localized text of the marketing policy opt-in content\n"
                },
                "message": {
                    "type": "string",
                    "description": "Localized main message displayed on the guest portal sign-in page\n"
                },
                "nameError": {
                    "type": "string",
                    "description": "Error message when name not provided\n"
                },
                "nameLabel": {
                    "type": "string",
                    "description": "Localized label displayed for the name input field\n"
                },
                "optoutLabel": {
                    "type": "string",
                    "description": "Label for Do Not Store My Personal Information\n"
                },
                "pageTitle": {
                    "type": "string",
                    "description": "Localized browser or page title shown for the guest portal\n"
                },
                "passphraseCancel": {
                    "type": "string",
                    "description": "Label for the Passphrase cancel button\n"
                },
                "passphraseError": {
                    "type": "string",
                    "description": "Error message when invalid passphrase is provided\n"
                },
                "passphraseLabel": {
                    "type": "string",
                    "description": "Localized label for the passphrase input field\n"
                },
                "passphraseMessage": {
                    "type": "string",
                    "description": "Localized instructional text shown on the passphrase sign-in page\n"
                },
                "passphraseSubmit": {
                    "type": "string",
                    "description": "Label for the Passphrase submit button\n"
                },
                "passphraseTitle": {
                    "type": "string",
                    "description": "Title for passphrase details page\n"
                },
                "privacyPolicyAcceptLabel": {
                    "type": "string",
                    "description": "Prefix of the label of the link to go to Privacy Policy\n"
                },
                "privacyPolicyError": {
                    "type": "string",
                    "description": "Error message when Privacy Policy not accepted\n"
                },
                "privacyPolicyLink": {
                    "type": "string",
                    "description": "Label of the link to go to Privacy Policy\n"
                },
                "privacyPolicyText": {
                    "type": "string",
                    "description": "Text of the Privacy Policy\n"
                },
                "requiredFieldLabel": {
                    "type": "string",
                    "description": "Localized text used to mark a form field as required\n"
                },
                "signInLabel": {
                    "type": "string",
                    "description": "Label of the button to signin\n"
                },
                "smsCarrierDefault": {
                    "type": "string",
                    "description": "Localized default option text shown in the SMS carrier selector\n"
                },
                "smsCarrierError": {
                    "type": "string",
                    "description": "Localized error message shown when no mobile carrier is selected\n"
                },
                "smsCarrierFieldLabel": {
                    "type": "string",
                    "description": "Label for mobile carrier drop-down list\n"
                },
                "smsCodeCancel": {
                    "type": "string",
                    "description": "Label for cancel confirmation code submission\n"
                },
                "smsCodeError": {
                    "type": "string",
                    "description": "Error message when confirmation code is invalid\n"
                },
                "smsCodeFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the SMS confirmation-code input field\n"
                },
                "smsCodeMessage": {
                    "type": "string",
                    "description": "Localized instructional text shown before entering the SMS access code\n"
                },
                "smsCodeSubmit": {
                    "type": "string",
                    "description": "Label for confirmation code submit button\n"
                },
                "smsCodeTitle": {
                    "type": "string",
                    "description": "Localized title shown on the SMS access-code entry page\n"
                },
                "smsCountryFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the SMS country-code input field\n"
                },
                "smsCountryFormat": {
                    "type": "string",
                    "description": "Localized example country code format shown for SMS authentication\n"
                },
                "smsHaveAccessCode": {
                    "type": "string",
                    "description": "Label for checkbox to specify that the user has access code\n"
                },
                "smsMessageFormat": {
                    "type": "string",
                    "description": "Format of access code sms message. {{code}} and {{duration}} are placeholders and should be retained as is.\n"
                },
                "smsNumberCancel": {
                    "type": "string",
                    "description": "Label for canceling mobile details for SMS auth\n"
                },
                "smsNumberError": {
                    "type": "string",
                    "description": "Localized error message shown when the mobile number is invalid\n"
                },
                "smsNumberFieldLabel": {
                    "type": "string",
                    "description": "Label for field to provide mobile number\n"
                },
                "smsNumberFormat": {
                    "type": "string",
                    "description": "Localized example mobile number format shown for SMS authentication\n"
                },
                "smsNumberMessage": {
                    "type": "string",
                    "description": "Localized instructional text explaining SMS access-code delivery\n"
                },
                "smsNumberSubmit": {
                    "type": "string",
                    "description": "Label for submit button for code generation\n"
                },
                "smsNumberTitle": {
                    "type": "string",
                    "description": "Title for phone number details\n"
                },
                "smsUsernameFormat": {
                    "type": "string",
                    "description": "Localized example username format shown for SMS authentication\n"
                },
                "sponsorBackLink": {
                    "type": "string",
                    "description": "Localized link text for returning to edit the sponsor request form\n"
                },
                "sponsorCancel": {
                    "type": "string",
                    "description": "Localized button label for canceling sponsor authentication\n"
                },
                "sponsorEmail": {
                    "type": "string",
                    "description": "Label for Sponsor Email\n"
                },
                "sponsorEmailError": {
                    "type": "string",
                    "description": "Localized error message shown when the sponsor email address is invalid\n"
                },
                "sponsorInfoApproved": {
                    "type": "string",
                    "description": "Localized status message prefix shown when a sponsor approves the request\n"
                },
                "sponsorInfoDenied": {
                    "type": "string",
                    "description": "Localized status message prefix shown when a sponsor denies the request\n"
                },
                "sponsorInfoPending": {
                    "type": "string",
                    "description": "Localized status message prefix shown after a sponsor notification is sent\n"
                },
                "sponsorName": {
                    "type": "string",
                    "description": "Label for Sponsor Name\n"
                },
                "sponsorNameError": {
                    "type": "string",
                    "description": "Localized error message shown when the sponsor name is missing\n"
                },
                "sponsorNotePending": {
                    "type": "string",
                    "description": "Localized additional status text shown while sponsor approval is pending\n"
                },
                "sponsorRequestAccess": {
                    "type": "string",
                    "description": "Submit button label request Wifi Access and notify sponsor about guest request\n"
                },
                "sponsorStatusApproved": {
                    "type": "string",
                    "description": "Text to display if sponsor approves request\n"
                },
                "sponsorStatusDenied": {
                    "type": "string",
                    "description": "Text to display when sponsor denies request\n"
                },
                "sponsorStatusPending": {
                    "type": "string",
                    "description": "Text to display if request is still pending\n"
                },
                "sponsorSubmit": {
                    "type": "string",
                    "description": "Submit button label to notify sponsor about guest request\n"
                },
                "sponsorsError": {
                    "type": "string",
                    "description": "Localized error message shown when no sponsor is selected\n"
                },
                "sponsorsFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the sponsor selection field\n"
                },
                "tosAcceptLabel": {
                    "type": "string",
                    "description": "Prefix of the label of the link to go to tos\n"
                },
                "tosError": {
                    "type": "string",
                    "description": "Error message when tos not accepted\n"
                },
                "tosLink": {
                    "type": "string",
                    "description": "Label of the link to go to tos\n"
                },
                "tosText": {
                    "type": "string",
                    "description": "Text of the Terms of Service\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/WlanQos:WlanQos": {
            "properties": {
                "class": {
                    "type": "string",
                    "description": "QoS traffic class applied when WLAN QoS override is enabled\n"
                },
                "overwrite": {
                    "type": "boolean",
                    "description": "Whether to overwrite QoS\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "class",
                        "overwrite"
                    ]
                }
            }
        },
        "junipermist:org/WlanRadsec:WlanRadsec": {
            "properties": {
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS Change of Authorization (CoA) is enabled for RadSec traffic\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether RadSec is enabled\n"
                },
                "idleTimeout": {
                    "type": "string",
                    "description": "Idle timeout, in seconds, for RadSec connections\n"
                },
                "mxclusterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Edge cluster IDs used as RadSec proxies when the WLAN does not use mxtunnel\n"
                },
                "proxyHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "RadSec proxy hostnames advertised to APs\n"
                },
                "serverName": {
                    "type": "string",
                    "description": "TLS server name to verify against the CA certificates in Org Setting. Only if not Mist Edge.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WlanRadsecServer:WlanRadsecServer"
                    },
                    "description": "External RadSec servers. Only if not Mist Edge.\n"
                },
                "useMxedge": {
                    "type": "boolean",
                    "description": "Whether to use organization Mist Edge instances as RadSec proxies\n"
                },
                "useSiteMxedge": {
                    "type": "boolean",
                    "description": "Whether to use site Mist Edge instances when this WLAN does not use mxtunnel\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "serverName"
                    ]
                }
            }
        },
        "junipermist:org/WlanRadsecServer:WlanRadsecServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RadSec server\n"
                },
                "port": {
                    "type": "integer",
                    "description": "TCP port used by the RadSec server\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/WlanRateset:WlanRateset": {
            "properties": {
                "eht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. EHT MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit)\n"
                },
                "he": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. HE MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit\n"
                },
                "ht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 00ff 00f0 001f limits HT rates to MCS 0-7 for 1 stream, MCS 4-7 for 2 stream (i.e. MCS 12-15), MCS 1-5 for 3 stream (i.e. MCS 16-20)\n"
                },
                "legacies": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. List of supported rates (IE=1) and extended supported rates (IE=50) for custom template, append ‘b’ at the end to indicate a rate being basic/mandatory. If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e is configured and legacy does not define at least one basic rate, it will use `no-legacy` default values. enum: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\" pulumi-lang-hcl=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\" pulumi-lang-hcl=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11b`\" pulumi-lang-dotnet=\"`11b`\" pulumi-lang-go=\"`11b`\" pulumi-lang-python=\"`11b`\" pulumi-lang-yaml=\"`11b`\" pulumi-lang-java=\"`11b`\" pulumi-lang-hcl=\"`11b`\"\u003e`11b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\" pulumi-lang-hcl=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12b`\" pulumi-lang-dotnet=\"`12b`\" pulumi-lang-go=\"`12b`\" pulumi-lang-python=\"`12b`\" pulumi-lang-yaml=\"`12b`\" pulumi-lang-java=\"`12b`\" pulumi-lang-hcl=\"`12b`\"\u003e`12b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\" pulumi-lang-hcl=\"`18`\"\u003e`18`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`18b`\" pulumi-lang-dotnet=\"`18b`\" pulumi-lang-go=\"`18b`\" pulumi-lang-python=\"`18b`\" pulumi-lang-yaml=\"`18b`\" pulumi-lang-java=\"`18b`\" pulumi-lang-hcl=\"`18b`\"\u003e`18b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1b`\" pulumi-lang-dotnet=\"`1b`\" pulumi-lang-go=\"`1b`\" pulumi-lang-python=\"`1b`\" pulumi-lang-yaml=\"`1b`\" pulumi-lang-java=\"`1b`\" pulumi-lang-hcl=\"`1b`\"\u003e`1b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\" pulumi-lang-hcl=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24b`\" pulumi-lang-dotnet=\"`24b`\" pulumi-lang-go=\"`24b`\" pulumi-lang-python=\"`24b`\" pulumi-lang-yaml=\"`24b`\" pulumi-lang-java=\"`24b`\" pulumi-lang-hcl=\"`24b`\"\u003e`24b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2b`\" pulumi-lang-dotnet=\"`2b`\" pulumi-lang-go=\"`2b`\" pulumi-lang-python=\"`2b`\" pulumi-lang-yaml=\"`2b`\" pulumi-lang-java=\"`2b`\" pulumi-lang-hcl=\"`2b`\"\u003e`2b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\" pulumi-lang-hcl=\"`36`\"\u003e`36`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`36b`\" pulumi-lang-dotnet=\"`36b`\" pulumi-lang-go=\"`36b`\" pulumi-lang-python=\"`36b`\" pulumi-lang-yaml=\"`36b`\" pulumi-lang-java=\"`36b`\" pulumi-lang-hcl=\"`36b`\"\u003e`36b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\" pulumi-lang-hcl=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48b`\" pulumi-lang-dotnet=\"`48b`\" pulumi-lang-go=\"`48b`\" pulumi-lang-python=\"`48b`\" pulumi-lang-yaml=\"`48b`\" pulumi-lang-java=\"`48b`\" pulumi-lang-hcl=\"`48b`\"\u003e`48b`\u003c/span\u003e, `5.5`, `5.5b`, \u003cspan pulumi-lang-nodejs=\"`54`\" pulumi-lang-dotnet=\"`54`\" pulumi-lang-go=\"`54`\" pulumi-lang-python=\"`54`\" pulumi-lang-yaml=\"`54`\" pulumi-lang-java=\"`54`\" pulumi-lang-hcl=\"`54`\"\u003e`54`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`54b`\" pulumi-lang-dotnet=\"`54b`\" pulumi-lang-go=\"`54b`\" pulumi-lang-python=\"`54b`\" pulumi-lang-yaml=\"`54b`\" pulumi-lang-java=\"`54b`\" pulumi-lang-hcl=\"`54b`\"\u003e`54b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6b`\" pulumi-lang-dotnet=\"`6b`\" pulumi-lang-go=\"`6b`\" pulumi-lang-python=\"`6b`\" pulumi-lang-yaml=\"`6b`\" pulumi-lang-java=\"`6b`\" pulumi-lang-hcl=\"`6b`\"\u003e`6b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\" pulumi-lang-hcl=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9b`\" pulumi-lang-dotnet=\"`9b`\" pulumi-lang-go=\"`9b`\" pulumi-lang-python=\"`9b`\" pulumi-lang-yaml=\"`9b`\" pulumi-lang-java=\"`9b`\" pulumi-lang-hcl=\"`9b`\"\u003e`9b`\u003c/span\u003e\n"
                },
                "minRssi": {
                    "type": "integer",
                    "description": "Minimum RSSI for client to connect, 0 means not enforcing\n"
                },
                "template": {
                    "type": "string",
                    "description": "Data rate template used to derive WLAN rate settings\n"
                },
                "vht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 03ff 01ff 00ff limits VHT rates to MCS 0-9 for 1 stream, MCS 0-8 for 2 streams, and MCS 0-7 for 3 streams.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "minRssi",
                        "template"
                    ]
                }
            }
        },
        "junipermist:org/WlanSchedule:WlanSchedule": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the WLAN operating schedule is enabled\n"
                },
                "hours": {
                    "$ref": "#/types/junipermist:org/WlanScheduleHours:WlanScheduleHours",
                    "description": "Time ranges when the WLAN is scheduled to operate\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:org/WlanScheduleHours:WlanScheduleHours": {
            "properties": {
                "fri": {
                    "type": "string",
                    "description": "Operating hour range for Friday\n"
                },
                "mon": {
                    "type": "string",
                    "description": "Operating hour range for Monday\n"
                },
                "sat": {
                    "type": "string",
                    "description": "Operating hour range for Saturday\n"
                },
                "sun": {
                    "type": "string",
                    "description": "Operating hour range for Sunday\n"
                },
                "thu": {
                    "type": "string",
                    "description": "Operating hour range for Thursday\n"
                },
                "tue": {
                    "type": "string",
                    "description": "Operating hour range for Tuesday\n"
                },
                "wed": {
                    "type": "string",
                    "description": "Operating hour range for Wednesday\n"
                }
            },
            "type": "object"
        },
        "junipermist:org/WlantemplateApplies:WlantemplateApplies": {
            "properties": {
                "orgId": {
                    "type": "string",
                    "description": "Organization included in the WLAN template application scope\n"
                },
                "siteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Sites included in the WLAN template application scope\n"
                },
                "sitegroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Site groups included in the WLAN template application scope\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "siteIds",
                        "sitegroupIds"
                    ]
                }
            }
        },
        "junipermist:org/WlantemplateExceptions:WlantemplateExceptions": {
            "properties": {
                "siteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Sites excluded from the WLAN template application scope\n"
                },
                "sitegroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Site groups excluded from the WLAN template application scope\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "siteIds",
                        "sitegroupIds"
                    ]
                }
            }
        },
        "junipermist:org/WxtagSpec:WxtagSpec": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Matched destination port, \"0\" means any\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "tcp / udp / icmp / gre / any / \":protocol_number\", \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination subnets or IP addresses matched by this WxLAN tag spec\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol",
                        "subnets"
                    ]
                }
            }
        },
        "junipermist:org/getAlarmtemplatesOrgAlarmtemplate:getAlarmtemplatesOrgAlarmtemplate": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "delivery": {
                    "$ref": "#/types/junipermist:org/getAlarmtemplatesOrgAlarmtemplateDelivery:getAlarmtemplatesOrgAlarmtemplateDelivery",
                    "description": "Delivery object to configure the alarm delivery\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string",
                    "description": "Some string to name the alarm template\n"
                },
                "orgId": {
                    "type": "string"
                },
                "rules": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getAlarmtemplatesOrgAlarmtemplateRules:getAlarmtemplatesOrgAlarmtemplateRules"
                    },
                    "description": "Alarm Rules object to configure the individual alarm keys/types. Property key is the alarm name.\n"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "delivery",
                "id",
                "modifiedTime",
                "name",
                "orgId",
                "rules"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getAlarmtemplatesOrgAlarmtemplateDelivery:getAlarmtemplatesOrgAlarmtemplateDelivery": {
            "properties": {
                "additionalEmails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of additional email string to deliver the alarms via emails\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable the alarm delivery via emails or not\n"
                },
                "toOrgAdmins": {
                    "type": "boolean",
                    "description": "Whether to deliver the alarms via emails to Org admins or not\n"
                },
                "toSiteAdmins": {
                    "type": "boolean",
                    "description": "Whether to deliver the alarms via emails to Site admins or not\n"
                }
            },
            "type": "object",
            "required": [
                "additionalEmails",
                "enabled",
                "toOrgAdmins",
                "toSiteAdmins"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getAlarmtemplatesOrgAlarmtemplateRules:getAlarmtemplatesOrgAlarmtemplateRules": {
            "properties": {
                "delivery": {
                    "$ref": "#/types/junipermist:org/getAlarmtemplatesOrgAlarmtemplateRulesDelivery:getAlarmtemplatesOrgAlarmtemplateRulesDelivery",
                    "description": "Delivery object to configure the alarm delivery\n"
                },
                "enabled": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "delivery",
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getAlarmtemplatesOrgAlarmtemplateRulesDelivery:getAlarmtemplatesOrgAlarmtemplateRulesDelivery": {
            "properties": {
                "additionalEmails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of additional email string to deliver the alarms via emails\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable the alarm delivery via emails or not\n"
                },
                "toOrgAdmins": {
                    "type": "boolean",
                    "description": "Whether to deliver the alarms via emails to Org admins or not\n"
                },
                "toSiteAdmins": {
                    "type": "boolean",
                    "description": "Whether to deliver the alarms via emails to Site admins or not\n"
                }
            },
            "type": "object",
            "required": [
                "additionalEmails",
                "enabled",
                "toOrgAdmins",
                "toSiteAdmins"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getAvprofilesOrgAvprofile:getAvprofilesOrgAvprofile": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "fallbackAction": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\" pulumi-lang-hcl=\"`block`\"\u003e`block`\u003c/span\u003e, `log-and-permit`, \u003cspan pulumi-lang-nodejs=\"`permit`\" pulumi-lang-dotnet=\"`Permit`\" pulumi-lang-go=\"`permit`\" pulumi-lang-python=\"`permit`\" pulumi-lang-yaml=\"`permit`\" pulumi-lang-java=\"`permit`\" pulumi-lang-hcl=\"`permit`\"\u003e`permit`\u003c/span\u003e\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "maxFilesize": {
                    "type": "integer",
                    "description": "In KB\n"
                },
                "mimeWhitelists": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of protocols to monitor. enum: \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\" pulumi-lang-hcl=\"`ftp`\"\u003e`ftp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`imap`\" pulumi-lang-dotnet=\"`Imap`\" pulumi-lang-go=\"`imap`\" pulumi-lang-python=\"`imap`\" pulumi-lang-yaml=\"`imap`\" pulumi-lang-java=\"`imap`\" pulumi-lang-hcl=\"`imap`\"\u003e`imap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pop3`\" pulumi-lang-dotnet=\"`Pop3`\" pulumi-lang-go=\"`pop3`\" pulumi-lang-python=\"`pop3`\" pulumi-lang-yaml=\"`pop3`\" pulumi-lang-java=\"`pop3`\" pulumi-lang-hcl=\"`pop3`\"\u003e`pop3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`smtp`\" pulumi-lang-dotnet=\"`Smtp`\" pulumi-lang-go=\"`smtp`\" pulumi-lang-python=\"`smtp`\" pulumi-lang-yaml=\"`smtp`\" pulumi-lang-java=\"`smtp`\" pulumi-lang-hcl=\"`smtp`\"\u003e`smtp`\u003c/span\u003e\n"
                },
                "urlWhitelists": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "fallbackAction",
                "id",
                "maxFilesize",
                "mimeWhitelists",
                "modifiedTime",
                "name",
                "orgId",
                "protocols",
                "urlWhitelists"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getDeviceprofilesApDeviceprofile:getDeviceprofilesApDeviceprofile": {
            "properties": {
                "createdTime": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                },
                "modifiedTime": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getDeviceprofilesGatewayDeviceprofile:getDeviceprofilesGatewayDeviceprofile": {
            "properties": {
                "createdTime": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                },
                "modifiedTime": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getEvpnTopologiesOrgEvpnTopology:getEvpnTopologiesOrgEvpnTopology": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "evpnOptions": {
                    "$ref": "#/types/junipermist:org/getEvpnTopologiesOrgEvpnTopologyEvpnOptions:getEvpnTopologiesOrgEvpnTopologyEvpnOptions",
                    "description": "EVPN Options\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "podNames": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Property key is the pod number\n"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "evpnOptions",
                "id",
                "modifiedTime",
                "name",
                "orgId",
                "podNames"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getEvpnTopologiesOrgEvpnTopologyEvpnOptions:getEvpnTopologiesOrgEvpnTopologyEvpnOptions": {
            "properties": {
                "autoLoopbackSubnet": {
                    "type": "string",
                    "description": "Optional, for dhcp*relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server*id-overrides\n"
                },
                "autoLoopbackSubnet6": {
                    "type": "string",
                    "description": "Optional, for dhcp*relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server*id-overrides\n"
                },
                "autoRouterIdSubnet": {
                    "type": "string",
                    "description": "Optional, this generates\u003cspan pulumi-lang-nodejs=\" routerId \" pulumi-lang-dotnet=\" RouterId \" pulumi-lang-go=\" routerId \" pulumi-lang-python=\" router_id \" pulumi-lang-yaml=\" routerId \" pulumi-lang-java=\" routerId \" pulumi-lang-hcl=\" router_id \"\u003e routerId \u003c/span\u003eautomatically, if specified, \u003cspan pulumi-lang-nodejs=\"`routerIdPrefix`\" pulumi-lang-dotnet=\"`RouterIdPrefix`\" pulumi-lang-go=\"`routerIdPrefix`\" pulumi-lang-python=\"`router_id_prefix`\" pulumi-lang-yaml=\"`routerIdPrefix`\" pulumi-lang-java=\"`routerIdPrefix`\" pulumi-lang-hcl=\"`router_id_prefix`\"\u003e`routerIdPrefix`\u003c/span\u003e is ignored\n"
                },
                "autoRouterIdSubnet6": {
                    "type": "string",
                    "description": "Optional, this generates\u003cspan pulumi-lang-nodejs=\" routerId \" pulumi-lang-dotnet=\" RouterId \" pulumi-lang-go=\" routerId \" pulumi-lang-python=\" router_id \" pulumi-lang-yaml=\" routerId \" pulumi-lang-java=\" routerId \" pulumi-lang-hcl=\" router_id \"\u003e routerId \u003c/span\u003eautomatically, if specified, \u003cspan pulumi-lang-nodejs=\"`routerIdPrefix`\" pulumi-lang-dotnet=\"`RouterIdPrefix`\" pulumi-lang-go=\"`routerIdPrefix`\" pulumi-lang-python=\"`router_id_prefix`\" pulumi-lang-yaml=\"`routerIdPrefix`\" pulumi-lang-java=\"`routerIdPrefix`\" pulumi-lang-hcl=\"`router_id_prefix`\"\u003e`routerIdPrefix`\u003c/span\u003e is ignored\n"
                },
                "coreAsBorder": {
                    "type": "boolean",
                    "description": "Optional, for ERB or CLOS, you can either use esilag to upstream routers or to also be the virtual-gateway. When \u003cspan pulumi-lang-nodejs=\"`routedAt`\" pulumi-lang-dotnet=\"`RoutedAt`\" pulumi-lang-go=\"`routedAt`\" pulumi-lang-python=\"`routed_at`\" pulumi-lang-yaml=\"`routedAt`\" pulumi-lang-java=\"`routedAt`\" pulumi-lang-hcl=\"`routed_at`\"\u003e`routedAt`\u003c/span\u003e != \u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e, whether to do virtual-gateway at core as well\n"
                },
                "enableInbandZtp": {
                    "type": "boolean",
                    "description": "if the mangement traffic goes inbnd, during installation, only the border/core switches are connected to the Internet to allow initial configuration to be pushed down and leave the downstream access switches stay in the Factory Default state enabling inband-ztp allows upstream switches to use LLDP to assign IP and gives Internet to downstream switches in that state\n"
                },
                "overlay": {
                    "$ref": "#/types/junipermist:org/getEvpnTopologiesOrgEvpnTopologyEvpnOptionsOverlay:getEvpnTopologiesOrgEvpnTopologyEvpnOptionsOverlay"
                },
                "perVlanVgaV4Mac": {
                    "type": "boolean",
                    "description": "Only for by Core-Distribution architecture when `evpn_options.routed_at`==\u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e. By default, JUNOS uses 00-00-5e-00-01-01 as the virtual-gateway-address's v4*mac. If enabled, 00-00-5e-00-0X-YY will be used (where XX=vlan*id/256, YY=vlan_id%256)\n"
                },
                "perVlanVgaV6Mac": {
                    "type": "boolean",
                    "description": "Only for by Core-Distribution architecture when `evpn_options.routed_at`==\u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e. By default, JUNOS uses 00-00-5e-00-02-01 as the virtual-gateway-address's v6*mac. If enabled, 00-00-5e-00-1X-YY will be used (where XX=vlan*id/256, YY=vlan_id%256)\n"
                },
                "routedAt": {
                    "type": "string",
                    "description": "optional, where virtual-gateway should reside. enum: \u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distribution`\" pulumi-lang-dotnet=\"`Distribution`\" pulumi-lang-go=\"`distribution`\" pulumi-lang-python=\"`distribution`\" pulumi-lang-yaml=\"`distribution`\" pulumi-lang-java=\"`distribution`\" pulumi-lang-hcl=\"`distribution`\"\u003e`distribution`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`edge`\" pulumi-lang-dotnet=\"`Edge`\" pulumi-lang-go=\"`edge`\" pulumi-lang-python=\"`edge`\" pulumi-lang-yaml=\"`edge`\" pulumi-lang-java=\"`edge`\" pulumi-lang-hcl=\"`edge`\"\u003e`edge`\u003c/span\u003e\n"
                },
                "underlay": {
                    "$ref": "#/types/junipermist:org/getEvpnTopologiesOrgEvpnTopologyEvpnOptionsUnderlay:getEvpnTopologiesOrgEvpnTopologyEvpnOptionsUnderlay"
                },
                "vsInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getEvpnTopologiesOrgEvpnTopologyEvpnOptionsVsInstances:getEvpnTopologiesOrgEvpnTopologyEvpnOptionsVsInstances"
                    },
                    "description": "Optional, for EX9200 only to segregate virtual-switches\n"
                }
            },
            "type": "object",
            "required": [
                "autoLoopbackSubnet",
                "autoLoopbackSubnet6",
                "autoRouterIdSubnet",
                "autoRouterIdSubnet6",
                "coreAsBorder",
                "enableInbandZtp",
                "overlay",
                "perVlanVgaV4Mac",
                "perVlanVgaV6Mac",
                "routedAt",
                "underlay",
                "vsInstances"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getEvpnTopologiesOrgEvpnTopologyEvpnOptionsOverlay:getEvpnTopologiesOrgEvpnTopologyEvpnOptionsOverlay": {
            "properties": {
                "as": {
                    "type": "integer",
                    "description": "Overlay BGP Local AS Number\n"
                }
            },
            "type": "object",
            "required": [
                "as"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getEvpnTopologiesOrgEvpnTopologyEvpnOptionsUnderlay:getEvpnTopologiesOrgEvpnTopologyEvpnOptionsUnderlay": {
            "properties": {
                "asBase": {
                    "type": "integer",
                    "description": "Underlay BGP Base AS Number\n"
                },
                "routedIdPrefix": {
                    "type": "string"
                },
                "subnet": {
                    "type": "string",
                    "description": "Underlay subnet, by default, `10.255.240.0/20`, or `fd31:5700::/64` for ipv6\n"
                },
                "useIpv6": {
                    "type": "boolean",
                    "description": "If v6 is desired for underlay\n"
                }
            },
            "type": "object",
            "required": [
                "asBase",
                "routedIdPrefix",
                "subnet",
                "useIpv6"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getEvpnTopologiesOrgEvpnTopologyEvpnOptionsVsInstances:getEvpnTopologiesOrgEvpnTopologyEvpnOptionsVsInstances": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "networks"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getGatewaytemplatesOrgGatewaytemplate:getGatewaytemplatesOrgGatewaytemplate": {
            "properties": {
                "createdTime": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                },
                "modifiedTime": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getIdpprofilesOrgIdpprofile:getIdpprofilesOrgIdpprofile": {
            "properties": {
                "baseProfile": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\" pulumi-lang-hcl=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "overwrites": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getIdpprofilesOrgIdpprofileOverwrite:getIdpprofilesOrgIdpprofileOverwrite"
                    }
                }
            },
            "type": "object",
            "required": [
                "baseProfile",
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId",
                "overwrites"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getIdpprofilesOrgIdpprofileOverwrite:getIdpprofilesOrgIdpprofileOverwrite": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "enum:\n  * alert (default)\n  * drop: silently dropping packets\n  * close: notify client/server to close connection\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:org/getIdpprofilesOrgIdpprofileOverwriteMatching:getIdpprofilesOrgIdpprofileOverwriteMatching"
                },
                "name": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "action",
                "matching",
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getIdpprofilesOrgIdpprofileOverwriteMatching:getIdpprofilesOrgIdpprofileOverwriteMatching": {
            "properties": {
                "attackNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "dstSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "severities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "attackNames",
                "dstSubnets",
                "severities"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getInventoryOrgInventory:getInventoryOrgInventory": {
            "properties": {
                "adopted": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e, whether the switch/gateway is adopted\n"
                },
                "chassisMac": {
                    "type": "string",
                    "description": "For Virtual Chassis only, the MAC Address of the FPC0\n"
                },
                "chassisSerial": {
                    "type": "string",
                    "description": "For Virtual Chassis only, the Serial Number of the FPC0\n"
                },
                "claimCode": {
                    "type": "string",
                    "description": "Device claim code\n"
                },
                "connected": {
                    "type": "boolean",
                    "description": "Whether the device is connected\n"
                },
                "deviceprofileId": {
                    "type": "string",
                    "description": "Deviceprofile id if assigned, null if not assigned\n"
                },
                "hostname": {
                    "type": "string",
                    "description": "Hostname reported by the device\n"
                },
                "hwRev": {
                    "type": "string",
                    "description": "Device hardware revision number\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "jsi": {
                    "type": "boolean"
                },
                "mac": {
                    "type": "string",
                    "description": "Device MAC address\n"
                },
                "model": {
                    "type": "string",
                    "description": "Device model\n"
                },
                "name": {
                    "type": "string",
                    "description": "Device name if configured\n"
                },
                "orgId": {
                    "type": "string"
                },
                "serial": {
                    "type": "string",
                    "description": "Device serial\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site ID where the device is assigned to\n"
                },
                "sku": {
                    "type": "string",
                    "description": "Device stock keeping unit\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ap`\" pulumi-lang-dotnet=\"`Ap`\" pulumi-lang-go=\"`ap`\" pulumi-lang-python=\"`ap`\" pulumi-lang-yaml=\"`ap`\" pulumi-lang-java=\"`ap`\" pulumi-lang-hcl=\"`ap`\"\u003e`ap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e\n"
                },
                "vcMac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e and device part of a Virtual Chassis, MAC Address of the Virtual Chassis. if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e and device part of a Cluster, MAC Address of the Cluster\n"
                }
            },
            "type": "object",
            "required": [
                "adopted",
                "chassisMac",
                "chassisSerial",
                "claimCode",
                "connected",
                "deviceprofileId",
                "hostname",
                "hwRev",
                "id",
                "jsi",
                "mac",
                "model",
                "name",
                "orgId",
                "serial",
                "siteId",
                "sku",
                "type",
                "vcMac"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNacEndpointsOrgUsermac:getNacEndpointsOrgUsermac": {
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "mac": {
                    "type": "string",
                    "description": "Only non-local-admin MAC is accepted\n"
                },
                "name": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "radiusGroup": {
                    "type": "string"
                },
                "vlan": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "id",
                "labels",
                "mac",
                "name",
                "notes",
                "radiusGroup",
                "vlan"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNacrulesOrgNacrule:getNacrulesOrgNacrule": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Enabled or not\n"
                },
                "guestAuthState": {
                    "type": "string",
                    "description": "Guest portal authorization state. enum: \u003cspan pulumi-lang-nodejs=\"`authorized`\" pulumi-lang-dotnet=\"`Authorized`\" pulumi-lang-go=\"`authorized`\" pulumi-lang-python=\"`authorized`\" pulumi-lang-yaml=\"`authorized`\" pulumi-lang-java=\"`authorized`\" pulumi-lang-hcl=\"`authorized`\"\u003e`authorized`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unknown`\" pulumi-lang-dotnet=\"`Unknown`\" pulumi-lang-go=\"`unknown`\" pulumi-lang-python=\"`unknown`\" pulumi-lang-yaml=\"`unknown`\" pulumi-lang-java=\"`unknown`\" pulumi-lang-hcl=\"`unknown`\"\u003e`unknown`\u003c/span\u003e\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "order": {
                    "type": "integer",
                    "description": "Order of the rule, lower value implies higher priority\n"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "enabled",
                "guestAuthState",
                "id",
                "modifiedTime",
                "name",
                "order",
                "orgId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNactagsOrgNactag:getNactagsOrgNactag": {
            "properties": {
                "allowUsermacOverride": {
                    "type": "boolean",
                    "description": "Can be set to true to allow the override by usermac result\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "egressVlanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`egressVlanNames`\" pulumi-lang-dotnet=\"`EgressVlanNames`\" pulumi-lang-go=\"`egressVlanNames`\" pulumi-lang-python=\"`egress_vlan_names`\" pulumi-lang-yaml=\"`egressVlanNames`\" pulumi-lang-java=\"`egressVlanNames`\" pulumi-lang-hcl=\"`egress_vlan_names`\"\u003e`egressVlanNames`\u003c/span\u003e, list of egress vlans to return\n"
                },
                "gbpTag": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "match": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`certCn`\" pulumi-lang-dotnet=\"`CertCn`\" pulumi-lang-go=\"`certCn`\" pulumi-lang-python=\"`cert_cn`\" pulumi-lang-yaml=\"`certCn`\" pulumi-lang-java=\"`certCn`\" pulumi-lang-hcl=\"`cert_cn`\"\u003e`certCn`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`certEku`\" pulumi-lang-dotnet=\"`CertEku`\" pulumi-lang-go=\"`certEku`\" pulumi-lang-python=\"`cert_eku`\" pulumi-lang-yaml=\"`certEku`\" pulumi-lang-java=\"`certEku`\" pulumi-lang-hcl=\"`cert_eku`\"\u003e`certEku`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`certIssuer`\" pulumi-lang-dotnet=\"`CertIssuer`\" pulumi-lang-go=\"`certIssuer`\" pulumi-lang-python=\"`cert_issuer`\" pulumi-lang-yaml=\"`certIssuer`\" pulumi-lang-java=\"`certIssuer`\" pulumi-lang-hcl=\"`cert_issuer`\"\u003e`certIssuer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`certSan`\" pulumi-lang-dotnet=\"`CertSan`\" pulumi-lang-go=\"`certSan`\" pulumi-lang-python=\"`cert_san`\" pulumi-lang-yaml=\"`certSan`\" pulumi-lang-java=\"`certSan`\" pulumi-lang-hcl=\"`cert_san`\"\u003e`certSan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`certSerial`\" pulumi-lang-dotnet=\"`CertSerial`\" pulumi-lang-go=\"`certSerial`\" pulumi-lang-python=\"`cert_serial`\" pulumi-lang-yaml=\"`certSerial`\" pulumi-lang-java=\"`certSerial`\" pulumi-lang-hcl=\"`cert_serial`\"\u003e`certSerial`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`certSub`\" pulumi-lang-dotnet=\"`CertSub`\" pulumi-lang-go=\"`certSub`\" pulumi-lang-python=\"`cert_sub`\" pulumi-lang-yaml=\"`certSub`\" pulumi-lang-java=\"`certSub`\" pulumi-lang-hcl=\"`cert_sub`\"\u003e`certSub`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`certTemplate`\" pulumi-lang-dotnet=\"`CertTemplate`\" pulumi-lang-go=\"`certTemplate`\" pulumi-lang-python=\"`cert_template`\" pulumi-lang-yaml=\"`certTemplate`\" pulumi-lang-java=\"`certTemplate`\" pulumi-lang-hcl=\"`cert_template`\"\u003e`certTemplate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clientMac`\" pulumi-lang-dotnet=\"`ClientMac`\" pulumi-lang-go=\"`clientMac`\" pulumi-lang-python=\"`client_mac`\" pulumi-lang-yaml=\"`clientMac`\" pulumi-lang-java=\"`clientMac`\" pulumi-lang-hcl=\"`client_mac`\"\u003e`clientMac`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`edrStatus`\" pulumi-lang-dotnet=\"`EdrStatus`\" pulumi-lang-go=\"`edrStatus`\" pulumi-lang-python=\"`edr_status`\" pulumi-lang-yaml=\"`edrStatus`\" pulumi-lang-java=\"`edrStatus`\" pulumi-lang-hcl=\"`edr_status`\"\u003e`edrStatus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gbpTag`\" pulumi-lang-dotnet=\"`GbpTag`\" pulumi-lang-go=\"`gbpTag`\" pulumi-lang-python=\"`gbp_tag`\" pulumi-lang-yaml=\"`gbpTag`\" pulumi-lang-java=\"`gbpTag`\" pulumi-lang-hcl=\"`gbp_tag`\"\u003e`gbpTag`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\" pulumi-lang-hcl=\"`hostname`\"\u003e`hostname`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idpRole`\" pulumi-lang-dotnet=\"`IdpRole`\" pulumi-lang-go=\"`idpRole`\" pulumi-lang-python=\"`idp_role`\" pulumi-lang-yaml=\"`idpRole`\" pulumi-lang-java=\"`idpRole`\" pulumi-lang-hcl=\"`idp_role`\"\u003e`idpRole`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ingressVlan`\" pulumi-lang-dotnet=\"`IngressVlan`\" pulumi-lang-go=\"`ingressVlan`\" pulumi-lang-python=\"`ingress_vlan`\" pulumi-lang-yaml=\"`ingressVlan`\" pulumi-lang-java=\"`ingressVlan`\" pulumi-lang-hcl=\"`ingress_vlan`\"\u003e`ingressVlan`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mdmStatus`\" pulumi-lang-dotnet=\"`MdmStatus`\" pulumi-lang-go=\"`mdmStatus`\" pulumi-lang-python=\"`mdm_status`\" pulumi-lang-yaml=\"`mdmStatus`\" pulumi-lang-java=\"`mdmStatus`\" pulumi-lang-hcl=\"`mdm_status`\"\u003e`mdmStatus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`nasIp`\" pulumi-lang-dotnet=\"`NasIp`\" pulumi-lang-go=\"`nasIp`\" pulumi-lang-python=\"`nas_ip`\" pulumi-lang-yaml=\"`nasIp`\" pulumi-lang-java=\"`nasIp`\" pulumi-lang-hcl=\"`nas_ip`\"\u003e`nasIp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`realm`\" pulumi-lang-dotnet=\"`Realm`\" pulumi-lang-go=\"`realm`\" pulumi-lang-python=\"`realm`\" pulumi-lang-yaml=\"`realm`\" pulumi-lang-java=\"`realm`\" pulumi-lang-hcl=\"`realm`\"\u003e`realm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ssid`\" pulumi-lang-dotnet=\"`Ssid`\" pulumi-lang-go=\"`ssid`\" pulumi-lang-python=\"`ssid`\" pulumi-lang-yaml=\"`ssid`\" pulumi-lang-java=\"`ssid`\" pulumi-lang-hcl=\"`ssid`\"\u003e`ssid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`userName`\" pulumi-lang-dotnet=\"`UserName`\" pulumi-lang-go=\"`userName`\" pulumi-lang-python=\"`user_name`\" pulumi-lang-yaml=\"`userName`\" pulumi-lang-java=\"`userName`\" pulumi-lang-hcl=\"`user_name`\"\u003e`userName`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`usermacLabel`\" pulumi-lang-dotnet=\"`UsermacLabel`\" pulumi-lang-go=\"`usermacLabel`\" pulumi-lang-python=\"`usermac_label`\" pulumi-lang-yaml=\"`usermacLabel`\" pulumi-lang-java=\"`usermacLabel`\" pulumi-lang-hcl=\"`usermac_label`\"\u003e`usermacLabel`\u003c/span\u003e\n"
                },
                "matchAll": {
                    "type": "boolean",
                    "description": "This field is applicable only when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: means it is sufficient to match any of the values (i.e., match-any behavior)\n  * \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: means all values should be matched (i.e., match-all behavior)\n\n\nCurrently it makes sense to set this field to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e only if the \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`idpRole`\" pulumi-lang-dotnet=\"`IdpRole`\" pulumi-lang-go=\"`idpRole`\" pulumi-lang-python=\"`idp_role`\" pulumi-lang-yaml=\"`idpRole`\" pulumi-lang-java=\"`idpRole`\" pulumi-lang-hcl=\"`idp_role`\"\u003e`idpRole`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`usermacLabel`\" pulumi-lang-dotnet=\"`UsermacLabel`\" pulumi-lang-go=\"`usermacLabel`\" pulumi-lang-python=\"`usermac_label`\" pulumi-lang-yaml=\"`usermacLabel`\" pulumi-lang-java=\"`usermacLabel`\" pulumi-lang-hcl=\"`usermac_label`\"\u003e`usermacLabel`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`edrStatus`\" pulumi-lang-dotnet=\"`EdrStatus`\" pulumi-lang-go=\"`edrStatus`\" pulumi-lang-python=\"`edr_status`\" pulumi-lang-yaml=\"`edrStatus`\" pulumi-lang-java=\"`edrStatus`\" pulumi-lang-hcl=\"`edr_status`\"\u003e`edrStatus`\u003c/span\u003e\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "nacportalId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`redirectNacportalId`\" pulumi-lang-dotnet=\"`RedirectNacportalId`\" pulumi-lang-go=\"`redirectNacportalId`\" pulumi-lang-python=\"`redirect_nacportal_id`\" pulumi-lang-yaml=\"`redirectNacportalId`\" pulumi-lang-java=\"`redirectNacportalId`\" pulumi-lang-hcl=\"`redirect_nacportal_id`\"\u003e`redirectNacportalId`\u003c/span\u003e, the ID of the NAC portal to redirect to\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "radiusAttrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusAttrs`\" pulumi-lang-dotnet=\"`RadiusAttrs`\" pulumi-lang-go=\"`radiusAttrs`\" pulumi-lang-python=\"`radius_attrs`\" pulumi-lang-yaml=\"`radiusAttrs`\" pulumi-lang-java=\"`radiusAttrs`\" pulumi-lang-hcl=\"`radius_attrs`\"\u003e`radiusAttrs`\u003c/span\u003e, user can specify a list of one or more standard attributes in the field \u003cspan pulumi-lang-nodejs=\"\"radiusAttrs\"\" pulumi-lang-dotnet=\"\"RadiusAttrs\"\" pulumi-lang-go=\"\"radiusAttrs\"\" pulumi-lang-python=\"\"radius_attrs\"\" pulumi-lang-yaml=\"\"radiusAttrs\"\" pulumi-lang-java=\"\"radiusAttrs\"\" pulumi-lang-hcl=\"\"radius_attrs\"\"\u003e\"radiusAttrs\"\u003c/span\u003e. \nIt is the responsibility of the user to provide a syntactically correct string, otherwise it may not work as expected.\nNote that it is allowed to have more than one\u003cspan pulumi-lang-nodejs=\" radiusAttrs \" pulumi-lang-dotnet=\" RadiusAttrs \" pulumi-lang-go=\" radiusAttrs \" pulumi-lang-python=\" radius_attrs \" pulumi-lang-yaml=\" radiusAttrs \" pulumi-lang-java=\" radiusAttrs \" pulumi-lang-hcl=\" radius_attrs \"\u003e radiusAttrs \u003c/span\u003ein the result of a given rule.\n"
                },
                "radiusGroup": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e\n"
                },
                "radiusVendorAttrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusVendorAttrs`\" pulumi-lang-dotnet=\"`RadiusVendorAttrs`\" pulumi-lang-go=\"`radiusVendorAttrs`\" pulumi-lang-python=\"`radius_vendor_attrs`\" pulumi-lang-yaml=\"`radiusVendorAttrs`\" pulumi-lang-java=\"`radiusVendorAttrs`\" pulumi-lang-hcl=\"`radius_vendor_attrs`\"\u003e`radiusVendorAttrs`\u003c/span\u003e, user can specify a list of one or more vendor-specific attributes in the field \u003cspan pulumi-lang-nodejs=\"\"radiusVendorAttrs\"\" pulumi-lang-dotnet=\"\"RadiusVendorAttrs\"\" pulumi-lang-go=\"\"radiusVendorAttrs\"\" pulumi-lang-python=\"\"radius_vendor_attrs\"\" pulumi-lang-yaml=\"\"radiusVendorAttrs\"\" pulumi-lang-java=\"\"radiusVendorAttrs\"\" pulumi-lang-hcl=\"\"radius_vendor_attrs\"\"\u003e\"radiusVendorAttrs\"\u003c/span\u003e. \nIt is the responsibility of the user to provide a syntactically correct string, otherwise it may not work as expected.\nNote that it is allowed to have more than one\u003cspan pulumi-lang-nodejs=\" radiusVendorAttrs \" pulumi-lang-dotnet=\" RadiusVendorAttrs \" pulumi-lang-go=\" radiusVendorAttrs \" pulumi-lang-python=\" radius_vendor_attrs \" pulumi-lang-yaml=\" radiusVendorAttrs \" pulumi-lang-java=\" radiusVendorAttrs \" pulumi-lang-hcl=\" radius_vendor_attrs \"\u003e radiusVendorAttrs \u003c/span\u003ein the result of a given rule.\n"
                },
                "sessionTimeout": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==`session_timeout, in seconds\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`egressVlanNames`\" pulumi-lang-dotnet=\"`EgressVlanNames`\" pulumi-lang-go=\"`egressVlanNames`\" pulumi-lang-python=\"`egress_vlan_names`\" pulumi-lang-yaml=\"`egressVlanNames`\" pulumi-lang-java=\"`egressVlanNames`\" pulumi-lang-hcl=\"`egress_vlan_names`\"\u003e`egressVlanNames`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gbpTag`\" pulumi-lang-dotnet=\"`GbpTag`\" pulumi-lang-go=\"`gbpTag`\" pulumi-lang-python=\"`gbp_tag`\" pulumi-lang-yaml=\"`gbpTag`\" pulumi-lang-java=\"`gbpTag`\" pulumi-lang-hcl=\"`gbp_tag`\"\u003e`gbpTag`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusAttrs`\" pulumi-lang-dotnet=\"`RadiusAttrs`\" pulumi-lang-go=\"`radiusAttrs`\" pulumi-lang-python=\"`radius_attrs`\" pulumi-lang-yaml=\"`radiusAttrs`\" pulumi-lang-java=\"`radiusAttrs`\" pulumi-lang-hcl=\"`radius_attrs`\"\u003e`radiusAttrs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusVendorAttrs`\" pulumi-lang-dotnet=\"`RadiusVendorAttrs`\" pulumi-lang-go=\"`radiusVendorAttrs`\" pulumi-lang-python=\"`radius_vendor_attrs`\" pulumi-lang-yaml=\"`radiusVendorAttrs`\" pulumi-lang-java=\"`radiusVendorAttrs`\" pulumi-lang-hcl=\"`radius_vendor_attrs`\"\u003e`radiusVendorAttrs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`redirectNacportalId`\" pulumi-lang-dotnet=\"`RedirectNacportalId`\" pulumi-lang-go=\"`redirectNacportalId`\" pulumi-lang-python=\"`redirect_nacportal_id`\" pulumi-lang-yaml=\"`redirectNacportalId`\" pulumi-lang-java=\"`redirectNacportalId`\" pulumi-lang-hcl=\"`redirect_nacportal_id`\"\u003e`redirectNacportalId`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sessionTimeout`\" pulumi-lang-dotnet=\"`SessionTimeout`\" pulumi-lang-go=\"`sessionTimeout`\" pulumi-lang-python=\"`session_timeout`\" pulumi-lang-yaml=\"`sessionTimeout`\" pulumi-lang-java=\"`sessionTimeout`\" pulumi-lang-hcl=\"`session_timeout`\"\u003e`sessionTimeout`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`usernameAttr`\" pulumi-lang-dotnet=\"`UsernameAttr`\" pulumi-lang-go=\"`usernameAttr`\" pulumi-lang-python=\"`username_attr`\" pulumi-lang-yaml=\"`usernameAttr`\" pulumi-lang-java=\"`usernameAttr`\" pulumi-lang-hcl=\"`username_attr`\"\u003e`usernameAttr`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e\n"
                },
                "usernameAttr": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`automatic`\" pulumi-lang-dotnet=\"`Automatic`\" pulumi-lang-go=\"`automatic`\" pulumi-lang-python=\"`automatic`\" pulumi-lang-yaml=\"`automatic`\" pulumi-lang-java=\"`automatic`\" pulumi-lang-hcl=\"`automatic`\"\u003e`automatic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cn`\" pulumi-lang-dotnet=\"`Cn`\" pulumi-lang-go=\"`cn`\" pulumi-lang-python=\"`cn`\" pulumi-lang-yaml=\"`cn`\" pulumi-lang-java=\"`cn`\" pulumi-lang-hcl=\"`cn`\"\u003e`cn`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dns`\" pulumi-lang-dotnet=\"`Dns`\" pulumi-lang-go=\"`dns`\" pulumi-lang-python=\"`dns`\" pulumi-lang-yaml=\"`dns`\" pulumi-lang-java=\"`dns`\" pulumi-lang-hcl=\"`dns`\"\u003e`dns`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`upn`\" pulumi-lang-dotnet=\"`Upn`\" pulumi-lang-go=\"`upn`\" pulumi-lang-python=\"`upn`\" pulumi-lang-yaml=\"`upn`\" pulumi-lang-java=\"`upn`\" pulumi-lang-hcl=\"`upn`\"\u003e`upn`\u003c/span\u003e\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n"
                },
                "vlan": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "allowUsermacOverride",
                "createdTime",
                "egressVlanNames",
                "gbpTag",
                "id",
                "match",
                "matchAll",
                "modifiedTime",
                "nacportalId",
                "name",
                "orgId",
                "radiusAttrs",
                "radiusGroup",
                "radiusVendorAttrs",
                "sessionTimeout",
                "type",
                "usernameAttr",
                "values",
                "vlan"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetwork:getNetworksOrgNetwork": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "disallowMistServices": {
                    "type": "boolean",
                    "description": "Whether to disallow Mist Devices in the network\n"
                },
                "gateway": {
                    "type": "string"
                },
                "gateway6": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "internalAccess": {
                    "$ref": "#/types/junipermist:org/getNetworksOrgNetworkInternalAccess:getNetworksOrgNetworkInternalAccess"
                },
                "internetAccess": {
                    "$ref": "#/types/junipermist:org/getNetworksOrgNetworkInternetAccess:getNetworksOrgNetworkInternetAccess",
                    "description": "Whether this network has direct internet access\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to allow clients in the network to talk to each other\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "multicast": {
                    "$ref": "#/types/junipermist:org/getNetworksOrgNetworkMulticast:getNetworksOrgNetworkMulticast",
                    "description": "Whether to enable multicast support (only PIM-sparse mode is supported)\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "routedForNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "For a Network (usually LAN), it can be routable to other networks (e.g. OSPF)\n"
                },
                "subnet": {
                    "type": "string"
                },
                "subnet6": {
                    "type": "string"
                },
                "tenants": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getNetworksOrgNetworkTenants:getNetworksOrgNetworkTenants"
                    },
                    "description": "Property key must be the user/tenant name (i.e. \"printer-1\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "vlanId": {
                    "type": "string"
                },
                "vpnAccess": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getNetworksOrgNetworkVpnAccess:getNetworksOrgNetworkVpnAccess"
                    },
                    "description": "Property key is the VPN name. Whether this network can be accessed from vpn\n"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "disallowMistServices",
                "gateway",
                "gateway6",
                "id",
                "internalAccess",
                "internetAccess",
                "isolation",
                "modifiedTime",
                "multicast",
                "name",
                "orgId",
                "routedForNetworks",
                "subnet",
                "subnet6",
                "tenants",
                "vlanId",
                "vpnAccess"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkInternalAccess:getNetworksOrgNetworkInternalAccess": {
            "properties": {
                "enabled": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkInternetAccess:getNetworksOrgNetworkInternetAccess": {
            "properties": {
                "createSimpleServicePolicy": {
                    "type": "boolean"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getNetworksOrgNetworkInternetAccessDestinationNat:getNetworksOrgNetworkInternetAccessDestinationNat"
                    },
                    "description": "Property key can be an External IP (i.e. \"63.16.0.3\"), an External IP:Port (i.e. \"63.16.0.3:443\"), an External Port (i.e. \":443\"), an External CIDR (i.e. \"63.16.0.0/30\"), an External CIDR:Port (i.e. \"63.16.0.0/30:443\") or a Variable (i.e. \"{{myvar}}\"). At least one of the \u003cspan pulumi-lang-nodejs=\"`internalIp`\" pulumi-lang-dotnet=\"`InternalIp`\" pulumi-lang-go=\"`internalIp`\" pulumi-lang-python=\"`internal_ip`\" pulumi-lang-yaml=\"`internalIp`\" pulumi-lang-java=\"`internalIp`\" pulumi-lang-hcl=\"`internal_ip`\"\u003e`internalIp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\" pulumi-lang-hcl=\"`port`\"\u003e`port`\u003c/span\u003e must be defined\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "restricted": {
                    "type": "boolean",
                    "description": "By default, all access is allowed, to only allow certain traffic, make \u003cspan pulumi-lang-nodejs=\"`restricted`\" pulumi-lang-dotnet=\"`Restricted`\" pulumi-lang-go=\"`restricted`\" pulumi-lang-python=\"`restricted`\" pulumi-lang-yaml=\"`restricted`\" pulumi-lang-java=\"`restricted`\" pulumi-lang-hcl=\"`restricted`\"\u003e`restricted`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and define service_policies\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getNetworksOrgNetworkInternetAccessStaticNat:getNetworksOrgNetworkInternetAccessStaticNat"
                    },
                    "description": "Property key may be an External IP Address (i.e. \"63.16.0.3\"), a CIDR (i.e. \"63.16.0.12/20\") or a Variable (i.e. \"{{myvar}}\")\n"
                }
            },
            "type": "object",
            "required": [
                "createSimpleServicePolicy",
                "destinationNat",
                "enabled",
                "restricted",
                "staticNat"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkInternetAccessDestinationNat:getNetworksOrgNetworkInternetAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP Address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string"
                },
                "port": {
                    "type": "string",
                    "description": "The Destination NAT destination IP Address. Must be a Port (i.e. \"443\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name",
                "port",
                "wanName"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkInternetAccessStaticNat:getNetworksOrgNetworkInternetAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP Address. Must be an IP Address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string"
                },
                "wanName": {
                    "type": "string",
                    "description": "SRX Only. If not set, we configure the nat policies against all WAN ports for simplicity. Can be a Variable (i.e. \"{{myvar}}\")\n"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name",
                "wanName"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkMulticast:getNetworksOrgNetworkMulticast": {
            "properties": {
                "disableIgmp": {
                    "type": "boolean",
                    "description": "If the network will only be the source of the multicast traffic, IGMP can be disabled\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "groups": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getNetworksOrgNetworkMulticastGroups:getNetworksOrgNetworkMulticastGroups"
                    },
                    "description": "Group address to RP (rendezvous point) mapping. Property Key is the CIDR (example \"225.1.0.3/32\")\n"
                }
            },
            "type": "object",
            "required": [
                "disableIgmp",
                "enabled",
                "groups"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkMulticastGroups:getNetworksOrgNetworkMulticastGroups": {
            "properties": {
                "rpIp": {
                    "type": "string",
                    "description": "RP (rendezvous point) IP Address\n"
                }
            },
            "type": "object",
            "required": [
                "rpIp"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkTenants:getNetworksOrgNetworkTenants": {
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "addresses"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkVpnAccess:getNetworksOrgNetworkVpnAccess": {
            "properties": {
                "advertisedSubnet": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to advertise an aggregated subnet toward HUB this is useful when there are multiple networks on SPOKE's side\n"
                },
                "allowPing": {
                    "type": "boolean",
                    "description": "Whether to allow ping from vpn into this routed network\n"
                },
                "destinationNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getNetworksOrgNetworkVpnAccessDestinationNat:getNetworksOrgNetworkVpnAccessDestinationNat"
                    },
                    "description": "Property key can be an External IP (i.e. \"63.16.0.3\"), an External IP:Port (i.e. \"63.16.0.3:443\"), an External Port (i.e. \":443\"), an External CIDR (i.e. \"63.16.0.0/30\"), an External CIDR:Port (i.e. \"63.16.0.0/30:443\") or a Variable (i.e. \"{{myvar}}\"). At least one of the \u003cspan pulumi-lang-nodejs=\"`internalIp`\" pulumi-lang-dotnet=\"`InternalIp`\" pulumi-lang-go=\"`internalIp`\" pulumi-lang-python=\"`internal_ip`\" pulumi-lang-yaml=\"`internalIp`\" pulumi-lang-java=\"`internalIp`\" pulumi-lang-hcl=\"`internal_ip`\"\u003e`internalIp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\" pulumi-lang-hcl=\"`port`\"\u003e`port`\u003c/span\u003e must be defined\n"
                },
                "natPool": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (usually at Spoke), but some hosts needs to be reachable from Hub, a subnet is required to create and advertise the route to Hub\n"
                },
                "noReadvertiseToLanBgp": {
                    "type": "boolean",
                    "description": "toward LAN-side BGP peers\n"
                },
                "noReadvertiseToLanOspf": {
                    "type": "boolean",
                    "description": "toward LAN-side OSPF peers\n"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "otherVrfs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "By default, the routes are only readvertised toward the same vrf on spoke. To allow it to be leaked to other vrfs\n"
                },
                "routed": {
                    "type": "boolean",
                    "description": "Whether this network is routable\n"
                },
                "sourceNat": {
                    "$ref": "#/types/junipermist:org/getNetworksOrgNetworkVpnAccessSourceNat:getNetworksOrgNetworkVpnAccessSourceNat",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`routed`\" pulumi-lang-dotnet=\"`Routed`\" pulumi-lang-go=\"`routed`\" pulumi-lang-python=\"`routed`\" pulumi-lang-yaml=\"`routed`\" pulumi-lang-java=\"`routed`\" pulumi-lang-hcl=\"`routed`\"\u003e`routed`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (usually at Spoke), but some hosts needs to be reachable from Hub\n"
                },
                "staticNat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getNetworksOrgNetworkVpnAccessStaticNat:getNetworksOrgNetworkVpnAccessStaticNat"
                    },
                    "description": "Property key may be an External IP Address (i.e. \"63.16.0.3\"), a CIDR (i.e. \"63.16.0.12/20\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "summarizedSubnet": {
                    "type": "string",
                    "description": "toward overlay, how HUB should deal with routes it received from Spokes\n"
                },
                "summarizedSubnetToLanBgp": {
                    "type": "string",
                    "description": "toward LAN-side BGP peers\n"
                },
                "summarizedSubnetToLanOspf": {
                    "type": "string",
                    "description": "toward LAN-side OSPF peers\n"
                }
            },
            "type": "object",
            "required": [
                "advertisedSubnet",
                "allowPing",
                "destinationNat",
                "natPool",
                "noReadvertiseToLanBgp",
                "noReadvertiseToLanOspf",
                "noReadvertiseToOverlay",
                "otherVrfs",
                "routed",
                "sourceNat",
                "staticNat",
                "summarizedSubnet",
                "summarizedSubnetToLanBgp",
                "summarizedSubnetToLanOspf"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkVpnAccessDestinationNat:getNetworksOrgNetworkVpnAccessDestinationNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Destination NAT destination IP Address. Must be an IP (i.e. \"192.168.70.30\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name",
                "port"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkVpnAccessSourceNat:getNetworksOrgNetworkVpnAccessSourceNat": {
            "properties": {
                "externalIp": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "externalIp"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworksOrgNetworkVpnAccessStaticNat:getNetworksOrgNetworkVpnAccessStaticNat": {
            "properties": {
                "internalIp": {
                    "type": "string",
                    "description": "The Static NAT destination IP Address. Must be an IP Address (i.e. \"192.168.70.3\") or a Variable (i.e. \"{{myvar}}\")\n"
                },
                "name": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "internalIp",
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getNetworktemplatesOrgNetworktemplate:getNetworktemplatesOrgNetworktemplate": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getPsksOrgPsk:getPsksOrgPsk": {
            "properties": {
                "adminSsoId": {
                    "type": "string",
                    "description": "sso id for psk created from psk portal\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "email": {
                    "type": "string",
                    "description": "email to send psk expiring notifications to\n"
                },
                "expireTime": {
                    "type": "integer",
                    "description": "Expire time for this PSK key (epoch time in seconds). Default \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e (as no expiration)\n"
                },
                "expiryNotificationTime": {
                    "type": "integer",
                    "description": "Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e, the mac that this PSK ties to, empty if `auto-binding`\n"
                },
                "macs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`macs`\" pulumi-lang-dotnet=\"`Macs`\" pulumi-lang-go=\"`macs`\" pulumi-lang-python=\"`macs`\" pulumi-lang-yaml=\"`macs`\" pulumi-lang-java=\"`macs`\" pulumi-lang-hcl=\"`macs`\"\u003e`macs`\u003c/span\u003e, this list contains N number of client mac addresses or mac patterns(1122*) or both. This list is capped at 5000\n"
                },
                "maxUsage": {
                    "type": "integer",
                    "description": "For Org PSK Only. Max concurrent users for this PSK key. Default is 0 (unlimited)\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "note": {
                    "type": "string"
                },
                "notifyExpiry": {
                    "type": "boolean",
                    "description": "If set to true, reminder notification will be sent when psk is about to expire\n"
                },
                "notifyOnCreateOrEdit": {
                    "type": "boolean",
                    "description": "If set to true, notification will be sent when psk is created or edited\n"
                },
                "oldPassphrase": {
                    "type": "string",
                    "description": "previous passphrase of the PSK if it has been rotated\n",
                    "secret": true
                },
                "orgId": {
                    "type": "string"
                },
                "passphrase": {
                    "type": "string",
                    "description": "passphrase of the PSK (8-63 character or 64 in hex)\n",
                    "secret": true
                },
                "role": {
                    "type": "string"
                },
                "ssid": {
                    "type": "string",
                    "description": "SSID this PSK should be applicable to\n"
                },
                "usage": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`macs`\" pulumi-lang-dotnet=\"`Macs`\" pulumi-lang-go=\"`macs`\" pulumi-lang-python=\"`macs`\" pulumi-lang-yaml=\"`macs`\" pulumi-lang-java=\"`macs`\" pulumi-lang-hcl=\"`macs`\"\u003e`macs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "adminSsoId",
                "createdTime",
                "email",
                "expireTime",
                "expiryNotificationTime",
                "id",
                "mac",
                "macs",
                "maxUsage",
                "modifiedTime",
                "name",
                "note",
                "notifyExpiry",
                "notifyOnCreateOrEdit",
                "oldPassphrase",
                "orgId",
                "passphrase",
                "role",
                "ssid",
                "usage",
                "vlanId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getRftemplatesOrgRftemplate:getRftemplatesOrgRftemplate": {
            "properties": {
                "countryCode": {
                    "type": "string",
                    "description": "Optional, country code to use. If specified, this gets applied to all sites using the RF Template\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the RF template\n"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "countryCode",
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getServicepoliciesOrgServicepolicy:getServicepoliciesOrgServicepolicy": {
            "properties": {
                "aamw": {
                    "$ref": "#/types/junipermist:org/getServicepoliciesOrgServicepolicyAamw:getServicepoliciesOrgServicepolicyAamw",
                    "description": "SRX only\n"
                },
                "action": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\" pulumi-lang-hcl=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\" pulumi-lang-hcl=\"`deny`\"\u003e`deny`\u003c/span\u003e\n"
                },
                "antivirus": {
                    "$ref": "#/types/junipermist:org/getServicepoliciesOrgServicepolicyAntivirus:getServicepoliciesOrgServicepolicyAntivirus",
                    "description": "For SRX-only\n"
                },
                "appqoe": {
                    "$ref": "#/types/junipermist:org/getServicepoliciesOrgServicepolicyAppqoe:getServicepoliciesOrgServicepolicyAppqoe",
                    "description": "SRX only\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "ewfs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getServicepoliciesOrgServicepolicyEwf:getServicepoliciesOrgServicepolicyEwf"
                    }
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "idp": {
                    "$ref": "#/types/junipermist:org/getServicepoliciesOrgServicepolicyIdp:getServicepoliciesOrgServicepolicyIdp"
                },
                "localRouting": {
                    "type": "boolean",
                    "description": "access within the same VRF\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "pathPreference": {
                    "type": "string",
                    "description": "By default, we derive all paths available and use them, optionally, you can customize by using \u003cspan pulumi-lang-nodejs=\"`pathPreference`\" pulumi-lang-dotnet=\"`PathPreference`\" pulumi-lang-go=\"`pathPreference`\" pulumi-lang-python=\"`path_preference`\" pulumi-lang-yaml=\"`pathPreference`\" pulumi-lang-java=\"`pathPreference`\" pulumi-lang-hcl=\"`path_preference`\"\u003e`pathPreference`\u003c/span\u003e\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "sslProxy": {
                    "$ref": "#/types/junipermist:org/getServicepoliciesOrgServicepolicySslProxy:getServicepoliciesOrgServicepolicySslProxy",
                    "description": "For SRX-only\n"
                },
                "tenants": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "aamw",
                "action",
                "antivirus",
                "appqoe",
                "createdTime",
                "ewfs",
                "id",
                "idp",
                "localRouting",
                "modifiedTime",
                "name",
                "orgId",
                "pathPreference",
                "services",
                "sslProxy",
                "tenants"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getServicepoliciesOrgServicepolicyAamw:getServicepoliciesOrgServicepolicyAamw": {
            "properties": {
                "aamwprofileId": {
                    "type": "string",
                    "description": "org-level Advanced Advance Anti Malware Profile (SkyAtp) Profile can be used, this takes precedence over 'profile'\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "profile": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`docsonly`\" pulumi-lang-dotnet=\"`Docsonly`\" pulumi-lang-go=\"`docsonly`\" pulumi-lang-python=\"`docsonly`\" pulumi-lang-yaml=\"`docsonly`\" pulumi-lang-java=\"`docsonly`\" pulumi-lang-hcl=\"`docsonly`\"\u003e`docsonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`executables`\" pulumi-lang-dotnet=\"`Executables`\" pulumi-lang-go=\"`executables`\" pulumi-lang-python=\"`executables`\" pulumi-lang-yaml=\"`executables`\" pulumi-lang-java=\"`executables`\" pulumi-lang-hcl=\"`executables`\"\u003e`executables`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "aamwprofileId",
                "enabled",
                "profile"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getServicepoliciesOrgServicepolicyAntivirus:getServicepoliciesOrgServicepolicyAntivirus": {
            "properties": {
                "avprofileId": {
                    "type": "string",
                    "description": "org-level AV Profile can be used, this takes precedence over 'profile'\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "profile": {
                    "type": "string",
                    "description": "Default / noftp / httponly / or keys from av_profiles\n"
                }
            },
            "type": "object",
            "required": [
                "avprofileId",
                "enabled",
                "profile"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getServicepoliciesOrgServicepolicyAppqoe:getServicepoliciesOrgServicepolicyAppqoe": {
            "properties": {
                "enabled": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getServicepoliciesOrgServicepolicyEwf:getServicepoliciesOrgServicepolicyEwf": {
            "properties": {
                "alertOnly": {
                    "type": "boolean"
                },
                "blockMessage": {
                    "type": "string"
                },
                "enabled": {
                    "type": "boolean"
                },
                "profile": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\" pulumi-lang-hcl=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "alertOnly",
                "blockMessage",
                "enabled",
                "profile"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getServicepoliciesOrgServicepolicyIdp:getServicepoliciesOrgServicepolicyIdp": {
            "properties": {
                "alertOnly": {
                    "type": "boolean"
                },
                "enabled": {
                    "type": "boolean"
                },
                "idpprofileId": {
                    "type": "string",
                    "description": "org_level IDP Profile can be used, this takes precedence over \u003cspan pulumi-lang-nodejs=\"`profile`\" pulumi-lang-dotnet=\"`Profile`\" pulumi-lang-go=\"`profile`\" pulumi-lang-python=\"`profile`\" pulumi-lang-yaml=\"`profile`\" pulumi-lang-java=\"`profile`\" pulumi-lang-hcl=\"`profile`\"\u003e`profile`\u003c/span\u003e\n"
                },
                "profile": {
                    "type": "string",
                    "description": "enum: `Custom`, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e (default), \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e or keys from idp_profiles\n"
                }
            },
            "type": "object",
            "required": [
                "alertOnly",
                "enabled",
                "idpprofileId",
                "profile"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getServicepoliciesOrgServicepolicySslProxy:getServicepoliciesOrgServicepolicySslProxy": {
            "properties": {
                "ciphersCategory": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`medium`\" pulumi-lang-dotnet=\"`Medium`\" pulumi-lang-go=\"`medium`\" pulumi-lang-python=\"`medium`\" pulumi-lang-yaml=\"`medium`\" pulumi-lang-java=\"`medium`\" pulumi-lang-hcl=\"`medium`\"\u003e`medium`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`strong`\" pulumi-lang-dotnet=\"`Strong`\" pulumi-lang-go=\"`strong`\" pulumi-lang-python=\"`strong`\" pulumi-lang-yaml=\"`strong`\" pulumi-lang-java=\"`strong`\" pulumi-lang-hcl=\"`strong`\"\u003e`strong`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weak`\" pulumi-lang-dotnet=\"`Weak`\" pulumi-lang-go=\"`weak`\" pulumi-lang-python=\"`weak`\" pulumi-lang-yaml=\"`weak`\" pulumi-lang-java=\"`weak`\" pulumi-lang-hcl=\"`weak`\"\u003e`weak`\u003c/span\u003e\n"
                },
                "enabled": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "ciphersCategory",
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getServicesOrgService:getServicesOrgService": {
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, IPv4 and/or IPv6 subnets (e.g. 10.0.0.0/8, fd28::/128)\n"
                },
                "appCategories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e, list of application categories are available through List App Category Definitions\n"
                },
                "appSubcategories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e, list of application categories are available through List App Sub Category Definitions\n"
                },
                "apps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`apps`\" pulumi-lang-dotnet=\"`Apps`\" pulumi-lang-go=\"`apps`\" pulumi-lang-python=\"`apps`\" pulumi-lang-yaml=\"`apps`\" pulumi-lang-java=\"`apps`\" pulumi-lang-hcl=\"`apps`\"\u003e`apps`\u003c/span\u003e, list of applications are available through:\n  * List Applications\n  * List Gateway Applications\n  * /insight/top_app_by-bytes?wired=true\n"
                },
                "clientLimitDown": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "clientLimitUp": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "description": {
                    "type": "string"
                },
                "dscp": {
                    "type": "string"
                },
                "failoverPolicy": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`nonRevertible`\" pulumi-lang-dotnet=\"`NonRevertible`\" pulumi-lang-go=\"`nonRevertible`\" pulumi-lang-python=\"`non_revertible`\" pulumi-lang-yaml=\"`nonRevertible`\" pulumi-lang-java=\"`nonRevertible`\" pulumi-lang-hcl=\"`non_revertible`\"\u003e`nonRevertible`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`revertible`\" pulumi-lang-dotnet=\"`Revertible`\" pulumi-lang-go=\"`revertible`\" pulumi-lang-python=\"`revertible`\" pulumi-lang-yaml=\"`revertible`\" pulumi-lang-java=\"`revertible`\" pulumi-lang-hcl=\"`revertible`\"\u003e`revertible`\u003c/span\u003e\n"
                },
                "hostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, web filtering\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "maxJitter": {
                    "type": "string"
                },
                "maxLatency": {
                    "type": "string"
                },
                "maxLoss": {
                    "type": "string"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "serviceLimitDown": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "serviceLimitUp": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "sleEnabled": {
                    "type": "boolean",
                    "description": "Whether to enable measure SLE\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getServicesOrgServiceSpec:getServicesOrgServiceSpec"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, optional, if it doesn't exist, http and https is assumed\n"
                },
                "ssrRelaxedTcpStateEnforcement": {
                    "type": "boolean"
                },
                "trafficClass": {
                    "type": "string",
                    "description": "when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`bestEffort`\" pulumi-lang-dotnet=\"`BestEffort`\" pulumi-lang-go=\"`bestEffort`\" pulumi-lang-python=\"`best_effort`\" pulumi-lang-yaml=\"`bestEffort`\" pulumi-lang-java=\"`bestEffort`\" pulumi-lang-hcl=\"`best_effort`\"\u003e`bestEffort`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\" pulumi-lang-hcl=\"`high`\"\u003e`high`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`low`\" pulumi-lang-dotnet=\"`Low`\" pulumi-lang-go=\"`low`\" pulumi-lang-python=\"`low`\" pulumi-lang-yaml=\"`low`\" pulumi-lang-java=\"`low`\" pulumi-lang-hcl=\"`low`\"\u003e`low`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`medium`\" pulumi-lang-dotnet=\"`Medium`\" pulumi-lang-go=\"`medium`\" pulumi-lang-python=\"`medium`\" pulumi-lang-yaml=\"`medium`\" pulumi-lang-java=\"`medium`\" pulumi-lang-hcl=\"`medium`\"\u003e`medium`\u003c/span\u003e\n"
                },
                "trafficType": {
                    "type": "string",
                    "description": "values from List Traffic Types\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`apps`\" pulumi-lang-dotnet=\"`Apps`\" pulumi-lang-go=\"`apps`\" pulumi-lang-python=\"`apps`\" pulumi-lang-yaml=\"`apps`\" pulumi-lang-java=\"`apps`\" pulumi-lang-hcl=\"`apps`\"\u003e`apps`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`urls`\" pulumi-lang-dotnet=\"`Urls`\" pulumi-lang-go=\"`urls`\" pulumi-lang-python=\"`urls`\" pulumi-lang-yaml=\"`urls`\" pulumi-lang-java=\"`urls`\" pulumi-lang-hcl=\"`urls`\"\u003e`urls`\u003c/span\u003e\n"
                },
                "urls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`urls`\" pulumi-lang-dotnet=\"`Urls`\" pulumi-lang-go=\"`urls`\" pulumi-lang-python=\"`urls`\" pulumi-lang-yaml=\"`urls`\" pulumi-lang-java=\"`urls`\" pulumi-lang-hcl=\"`urls`\"\u003e`urls`\u003c/span\u003e, no need for spec as URL can encode the ports being used\n"
                }
            },
            "type": "object",
            "required": [
                "addresses",
                "appCategories",
                "appSubcategories",
                "apps",
                "clientLimitDown",
                "clientLimitUp",
                "createdTime",
                "description",
                "dscp",
                "failoverPolicy",
                "hostnames",
                "id",
                "maxJitter",
                "maxLatency",
                "maxLoss",
                "modifiedTime",
                "name",
                "orgId",
                "serviceLimitDown",
                "serviceLimitUp",
                "sleEnabled",
                "specs",
                "ssrRelaxedTcpStateEnforcement",
                "trafficClass",
                "trafficType",
                "type",
                "urls"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getServicesOrgServiceSpec:getServicesOrgServiceSpec": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Port number, port range, or variable\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\" pulumi-lang-hcl=\"`https`\"\u003e`https`\u003c/span\u003e/ \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`gre`\" pulumi-lang-dotnet=\"`Gre`\" pulumi-lang-go=\"`gre`\" pulumi-lang-python=\"`gre`\" pulumi-lang-yaml=\"`gre`\" pulumi-lang-java=\"`gre`\" pulumi-lang-hcl=\"`gre`\"\u003e`gre`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e / `:protocol_number`, \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254\n"
                }
            },
            "type": "object",
            "required": [
                "portRange",
                "protocol"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getSitegroupsOrgSitegroup:getSitegroupsOrgSitegroup": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "siteIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId",
                "siteIds"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getSsoRolesOrgSsoRole:getSsoRolesOrgSsoRole": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "privileges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getSsoRolesOrgSsoRolePrivilege:getSsoRolesOrgSsoRolePrivilege"
                    }
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId",
                "privileges"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getSsoRolesOrgSsoRolePrivilege:getSsoRolesOrgSsoRolePrivilege": {
            "properties": {
                "role": {
                    "type": "string",
                    "description": "access permissions. enum: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\" pulumi-lang-hcl=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helpdesk`\" pulumi-lang-dotnet=\"`Helpdesk`\" pulumi-lang-go=\"`helpdesk`\" pulumi-lang-python=\"`helpdesk`\" pulumi-lang-yaml=\"`helpdesk`\" pulumi-lang-java=\"`helpdesk`\" pulumi-lang-hcl=\"`helpdesk`\"\u003e`helpdesk`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`installer`\" pulumi-lang-dotnet=\"`Installer`\" pulumi-lang-go=\"`installer`\" pulumi-lang-python=\"`installer`\" pulumi-lang-yaml=\"`installer`\" pulumi-lang-java=\"`installer`\" pulumi-lang-hcl=\"`installer`\"\u003e`installer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\" pulumi-lang-hcl=\"`write`\"\u003e`write`\u003c/span\u003e\n"
                },
                "scope": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`org`\" pulumi-lang-dotnet=\"`Org`\" pulumi-lang-go=\"`org`\" pulumi-lang-python=\"`org`\" pulumi-lang-yaml=\"`org`\" pulumi-lang-java=\"`org`\" pulumi-lang-hcl=\"`org`\"\u003e`org`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\" pulumi-lang-hcl=\"`site`\"\u003e`site`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sitegroup`\" pulumi-lang-dotnet=\"`Sitegroup`\" pulumi-lang-go=\"`sitegroup`\" pulumi-lang-python=\"`sitegroup`\" pulumi-lang-yaml=\"`sitegroup`\" pulumi-lang-java=\"`sitegroup`\" pulumi-lang-hcl=\"`sitegroup`\"\u003e`sitegroup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`orgsites`\" pulumi-lang-dotnet=\"`Orgsites`\" pulumi-lang-go=\"`orgsites`\" pulumi-lang-python=\"`orgsites`\" pulumi-lang-yaml=\"`orgsites`\" pulumi-lang-java=\"`orgsites`\" pulumi-lang-hcl=\"`orgsites`\"\u003e`orgsites`\u003c/span\u003e\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\" pulumi-lang-hcl=\"`scope`\"\u003e`scope`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\" pulumi-lang-hcl=\"`site`\"\u003e`site`\u003c/span\u003e\n"
                },
                "sitegroupId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\" pulumi-lang-hcl=\"`scope`\"\u003e`scope`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sitegroup`\" pulumi-lang-dotnet=\"`Sitegroup`\" pulumi-lang-go=\"`sitegroup`\" pulumi-lang-python=\"`sitegroup`\" pulumi-lang-yaml=\"`sitegroup`\" pulumi-lang-java=\"`sitegroup`\" pulumi-lang-hcl=\"`sitegroup`\"\u003e`sitegroup`\u003c/span\u003e\n"
                },
                "views": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Custom roles restrict Org users to specific UI views. This is useful for limiting UI access of Org users. Custom roles restrict Org users to specific UI views. This is useful for limiting UI access of Org users.  \nYou can define custom roles by adding the \u003cspan pulumi-lang-nodejs=\"`views`\" pulumi-lang-dotnet=\"`Views`\" pulumi-lang-go=\"`views`\" pulumi-lang-python=\"`views`\" pulumi-lang-yaml=\"`views`\" pulumi-lang-java=\"`views`\" pulumi-lang-hcl=\"`views`\"\u003e`views`\u003c/span\u003e attribute along with \u003cspan pulumi-lang-nodejs=\"`role`\" pulumi-lang-dotnet=\"`Role`\" pulumi-lang-go=\"`role`\" pulumi-lang-python=\"`role`\" pulumi-lang-yaml=\"`role`\" pulumi-lang-java=\"`role`\" pulumi-lang-hcl=\"`role`\"\u003e`role`\u003c/span\u003e when assigning privileges.  \nBelow are the list of supported UI views. Note that this is UI only feature.  \n\n  | UI View | Required Role | Description |\n  | --- | --- | --- |\n  | \u003cspan pulumi-lang-nodejs=\"`reporting`\" pulumi-lang-dotnet=\"`Reporting`\" pulumi-lang-go=\"`reporting`\" pulumi-lang-python=\"`reporting`\" pulumi-lang-yaml=\"`reporting`\" pulumi-lang-java=\"`reporting`\" pulumi-lang-hcl=\"`reporting`\"\u003e`reporting`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e | full access to all analytics tools |\n  | \u003cspan pulumi-lang-nodejs=\"`marketing`\" pulumi-lang-dotnet=\"`Marketing`\" pulumi-lang-go=\"`marketing`\" pulumi-lang-python=\"`marketing`\" pulumi-lang-yaml=\"`marketing`\" pulumi-lang-java=\"`marketing`\" pulumi-lang-hcl=\"`marketing`\"\u003e`marketing`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e | can view analytics and location maps |\n  | \u003cspan pulumi-lang-nodejs=\"`superObserver`\" pulumi-lang-dotnet=\"`SuperObserver`\" pulumi-lang-go=\"`superObserver`\" pulumi-lang-python=\"`super_observer`\" pulumi-lang-yaml=\"`superObserver`\" pulumi-lang-java=\"`superObserver`\" pulumi-lang-hcl=\"`super_observer`\"\u003e`superObserver`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e | can view all the organization except the subscription page |\n  | \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\" pulumi-lang-hcl=\"`location`\"\u003e`location`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\" pulumi-lang-hcl=\"`write`\"\u003e`write`\u003c/span\u003e | can view and manage location maps, can view analytics |\n  | \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\" pulumi-lang-hcl=\"`security`\"\u003e`security`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\" pulumi-lang-hcl=\"`write`\"\u003e`write`\u003c/span\u003e | can view and manage site labels, policies and security |\n  | \u003cspan pulumi-lang-nodejs=\"`switchAdmin`\" pulumi-lang-dotnet=\"`SwitchAdmin`\" pulumi-lang-go=\"`switchAdmin`\" pulumi-lang-python=\"`switch_admin`\" pulumi-lang-yaml=\"`switchAdmin`\" pulumi-lang-java=\"`switchAdmin`\" pulumi-lang-hcl=\"`switch_admin`\"\u003e`switchAdmin`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`helpdesk`\" pulumi-lang-dotnet=\"`Helpdesk`\" pulumi-lang-go=\"`helpdesk`\" pulumi-lang-python=\"`helpdesk`\" pulumi-lang-yaml=\"`helpdesk`\" pulumi-lang-java=\"`helpdesk`\" pulumi-lang-hcl=\"`helpdesk`\"\u003e`helpdesk`\u003c/span\u003e | can view and manage Switch ports, can view wired clients |\n  | \u003cspan pulumi-lang-nodejs=\"`mxedgeAdmin`\" pulumi-lang-dotnet=\"`MxedgeAdmin`\" pulumi-lang-go=\"`mxedgeAdmin`\" pulumi-lang-python=\"`mxedge_admin`\" pulumi-lang-yaml=\"`mxedgeAdmin`\" pulumi-lang-java=\"`mxedgeAdmin`\" pulumi-lang-hcl=\"`mxedge_admin`\"\u003e`mxedgeAdmin`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\" pulumi-lang-hcl=\"`admin`\"\u003e`admin`\u003c/span\u003e | can view and manage Mist edges and Mist tunnels |\n  | \u003cspan pulumi-lang-nodejs=\"`lobbyAdmin`\" pulumi-lang-dotnet=\"`LobbyAdmin`\" pulumi-lang-go=\"`lobbyAdmin`\" pulumi-lang-python=\"`lobby_admin`\" pulumi-lang-yaml=\"`lobbyAdmin`\" pulumi-lang-java=\"`lobbyAdmin`\" pulumi-lang-hcl=\"`lobby_admin`\"\u003e`lobbyAdmin`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\" pulumi-lang-hcl=\"`admin`\"\u003e`admin`\u003c/span\u003e | full access to Org and Site Pre-shared keys |\n"
                }
            },
            "type": "object",
            "required": [
                "role",
                "scope",
                "siteId",
                "sitegroupId",
                "views"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getVpnsOrgVpn:getVpnsOrgVpn": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "pathSelection": {
                    "$ref": "#/types/junipermist:org/getVpnsOrgVpnPathSelection:getVpnsOrgVpnPathSelection",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e\n"
                },
                "paths": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getVpnsOrgVpnPaths:getVpnsOrgVpnPaths"
                    },
                    "description": "For \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e, Property key is the VPN name. For \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mesh`\" pulumi-lang-dotnet=\"`Mesh`\" pulumi-lang-go=\"`mesh`\" pulumi-lang-python=\"`mesh`\" pulumi-lang-yaml=\"`mesh`\" pulumi-lang-java=\"`mesh`\" pulumi-lang-hcl=\"`mesh`\"\u003e`mesh`\u003c/span\u003e, Property key is the Interface name\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mesh`\" pulumi-lang-dotnet=\"`Mesh`\" pulumi-lang-go=\"`mesh`\" pulumi-lang-python=\"`mesh`\" pulumi-lang-yaml=\"`mesh`\" pulumi-lang-java=\"`mesh`\" pulumi-lang-hcl=\"`mesh`\"\u003e`mesh`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId",
                "pathSelection",
                "paths",
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getVpnsOrgVpnPathSelection:getVpnsOrgVpnPathSelection": {
            "properties": {
                "strategy": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\" pulumi-lang-hcl=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manual`\" pulumi-lang-dotnet=\"`Manual`\" pulumi-lang-go=\"`manual`\" pulumi-lang-python=\"`manual`\" pulumi-lang-yaml=\"`manual`\" pulumi-lang-java=\"`manual`\" pulumi-lang-hcl=\"`manual`\"\u003e`manual`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "strategy"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getVpnsOrgVpnPaths:getVpnsOrgVpnPaths": {
            "properties": {
                "bfdProfile": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`broadband`\" pulumi-lang-dotnet=\"`Broadband`\" pulumi-lang-go=\"`broadband`\" pulumi-lang-python=\"`broadband`\" pulumi-lang-yaml=\"`broadband`\" pulumi-lang-java=\"`broadband`\" pulumi-lang-hcl=\"`broadband`\"\u003e`broadband`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lte`\" pulumi-lang-dotnet=\"`Lte`\" pulumi-lang-go=\"`lte`\" pulumi-lang-python=\"`lte`\" pulumi-lang-yaml=\"`lte`\" pulumi-lang-java=\"`lte`\" pulumi-lang-hcl=\"`lte`\"\u003e`lte`\u003c/span\u003e\n"
                },
                "bfdUseTunnelMode": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mesh`\" pulumi-lang-dotnet=\"`Mesh`\" pulumi-lang-go=\"`mesh`\" pulumi-lang-python=\"`mesh`\" pulumi-lang-yaml=\"`mesh`\" pulumi-lang-java=\"`mesh`\" pulumi-lang-hcl=\"`mesh`\"\u003e`mesh`\u003c/span\u003e and for SSR only, whether to use tunnel mode\n"
                },
                "ip": {
                    "type": "string",
                    "description": "If different from the wan port\n"
                },
                "peerPaths": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getVpnsOrgVpnPathsPeerPaths:getVpnsOrgVpnPathsPeerPaths"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mesh`\" pulumi-lang-dotnet=\"`Mesh`\" pulumi-lang-go=\"`mesh`\" pulumi-lang-python=\"`mesh`\" pulumi-lang-yaml=\"`mesh`\" pulumi-lang-java=\"`mesh`\" pulumi-lang-hcl=\"`mesh`\"\u003e`mesh`\u003c/span\u003e, Property key is the Peer Interface name\n"
                },
                "pod": {
                    "type": "integer"
                },
                "trafficShaping": {
                    "$ref": "#/types/junipermist:org/getVpnsOrgVpnPathsTrafficShaping:getVpnsOrgVpnPathsTrafficShaping"
                }
            },
            "type": "object",
            "required": [
                "bfdProfile",
                "bfdUseTunnelMode",
                "ip",
                "peerPaths",
                "pod",
                "trafficShaping"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getVpnsOrgVpnPathsPeerPaths:getVpnsOrgVpnPathsPeerPaths": {
            "properties": {
                "preference": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "preference"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getVpnsOrgVpnPathsTrafficShaping:getVpnsOrgVpnPathsTrafficShaping": {
            "properties": {
                "classPercentages": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "percentages for different class of traffic: high / medium / low / best-effort adding up to 100\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "maxTxKbps": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "classPercentages",
                "enabled",
                "maxTxKbps"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWebhooksOrgWebhook:getWebhooksOrgWebhook": {
            "properties": {
                "assetfilterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==`asset-raw-rssi`. List of ids to associated asset filters. These filters will be applied to messages routed to a filtered-asset-rssi webhook\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether webhook is enabled\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the webhook\n"
                },
                "oauth2ClientId": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e\n"
                },
                "oauth2ClientSecret": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e\n",
                    "secret": true
                },
                "oauth2GrantType": {
                    "type": "string",
                    "description": "required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e\n"
                },
                "oauth2Password": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e\n",
                    "secret": true
                },
                "oauth2Scopes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e, if provided, will be used in the token request\n"
                },
                "oauth2TokenUrl": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2Username": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e\n"
                },
                "orgId": {
                    "type": "string"
                },
                "secret": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`\n",
                    "secret": true
                },
                "singleEventPerMessage": {
                    "type": "boolean",
                    "description": "Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, only a single event will be sent per message. this feature is only available on certain topics (see List Webhook Topics)\n"
                },
                "splunkToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e. If\u003cspan pulumi-lang-nodejs=\" splunkToken \" pulumi-lang-dotnet=\" SplunkToken \" pulumi-lang-go=\" splunkToken \" pulumi-lang-python=\" splunk_token \" pulumi-lang-yaml=\" splunkToken \" pulumi-lang-java=\" splunkToken \" pulumi-lang-hcl=\" splunk_token \"\u003e splunkToken \u003c/span\u003eis not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.\n",
                    "secret": true
                },
                "topics": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of supported webhook topics available with the API Call List Webhook Topics\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: `aws-sns`, `google-pubsub`, `http-post`, \u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e\n"
                },
                "url": {
                    "type": "string"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "When url uses HTTPS, whether to verify the certificate\n"
                }
            },
            "type": "object",
            "required": [
                "assetfilterIds",
                "createdTime",
                "enabled",
                "headers",
                "id",
                "modifiedTime",
                "name",
                "oauth2ClientId",
                "oauth2ClientSecret",
                "oauth2GrantType",
                "oauth2Password",
                "oauth2Scopes",
                "oauth2TokenUrl",
                "oauth2Username",
                "orgId",
                "secret",
                "singleEventPerMessage",
                "splunkToken",
                "topics",
                "type",
                "url",
                "verifyCert"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlan:getWlansOrgWlan": {
            "properties": {
                "acctImmediateUpdate": {
                    "type": "boolean",
                    "description": "Enable coa-immediate-update and address-change-immediate-update on the access profile.\n"
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled\n"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getWlansOrgWlanAcctServer:getWlansOrgWlanAcctServer"
                    },
                    "description": "List of RADIUS accounting servers, optional, order matters where the first one is treated as primary\n"
                },
                "airwatch": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanAirwatch:getWlansOrgWlanAirwatch",
                    "description": "Airwatch wlan settings\n"
                },
                "allowIpv6Ndp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows or disallows ipv6 Neighbor Discovery packets to go through\n"
                },
                "allowMdns": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows mDNS / Bonjour packets to go through\n"
                },
                "allowSsdp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows SSDP\n"
                },
                "apIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of device ids\n"
                },
                "appLimit": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanAppLimit:getWlansOrgWlanAppLimit",
                    "description": "Bandwidth limiting for apps (applies to up/down)\n"
                },
                "appQos": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanAppQos:getWlansOrgWlanAppQos",
                    "description": "APP qos wlan settings\n"
                },
                "applyTo": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`aps`\" pulumi-lang-dotnet=\"`Aps`\" pulumi-lang-go=\"`aps`\" pulumi-lang-python=\"`aps`\" pulumi-lang-yaml=\"`aps`\" pulumi-lang-java=\"`aps`\" pulumi-lang-hcl=\"`aps`\"\u003e`aps`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\" pulumi-lang-hcl=\"`site`\"\u003e`site`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wxtags`\" pulumi-lang-dotnet=\"`Wxtags`\" pulumi-lang-go=\"`wxtags`\" pulumi-lang-python=\"`wxtags`\" pulumi-lang-yaml=\"`wxtags`\" pulumi-lang-java=\"`wxtags`\" pulumi-lang-hcl=\"`wxtags`\"\u003e`wxtags`\u003c/span\u003e\n"
                },
                "arpFilter": {
                    "type": "boolean",
                    "description": "Whether to enable smart arp filter\n"
                },
                "auth": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanAuth:getWlansOrgWlanAuth",
                    "description": "Authentication wlan settings\n"
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "When ordered, AP will prefer and go back to the first server if possible. enum: \u003cspan pulumi-lang-nodejs=\"`ordered`\" pulumi-lang-dotnet=\"`Ordered`\" pulumi-lang-go=\"`ordered`\" pulumi-lang-python=\"`ordered`\" pulumi-lang-yaml=\"`ordered`\" pulumi-lang-java=\"`ordered`\" pulumi-lang-hcl=\"`ordered`\"\u003e`ordered`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unordered`\" pulumi-lang-dotnet=\"`Unordered`\" pulumi-lang-go=\"`unordered`\" pulumi-lang-python=\"`unordered`\" pulumi-lang-yaml=\"`unordered`\" pulumi-lang-java=\"`unordered`\" pulumi-lang-hcl=\"`unordered`\"\u003e`unordered`\u003c/span\u003e\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getWlansOrgWlanAuthServer:getWlansOrgWlanAuthServer"
                    },
                    "description": "List of RADIUS authentication servers, at least one is needed if `auth type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e, order matters where the first one is treated as primary\n"
                },
                "authServersNasId": {
                    "type": "string",
                    "description": "Optional, up to 48 bytes, will be dynamically generated if not provided. used only for authentication servers\n"
                },
                "authServersNasIp": {
                    "type": "string",
                    "description": "Optional, NAS-IP-ADDRESS to use\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "Radius auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘retries’  are set to value of auth_servers_retries. ‘max-requests’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersRetries \" pulumi-lang-dotnet=\" AuthServersRetries \" pulumi-lang-go=\" authServersRetries \" pulumi-lang-python=\" auth_servers_retries \" pulumi-lang-yaml=\" authServersRetries \" pulumi-lang-java=\" authServersRetries \" pulumi-lang-hcl=\" auth_servers_retries \"\u003e authServersRetries \u003c/span\u003eand is set to default value to 3.\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "Radius auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘quite-period’  and ‘transmit-period’ are set to half the value of auth_servers_timeout. ‘supplicant-timeout’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersTimeout \" pulumi-lang-dotnet=\" AuthServersTimeout \" pulumi-lang-go=\" authServersTimeout \" pulumi-lang-python=\" auth_servers_timeout \" pulumi-lang-yaml=\" authServersTimeout \" pulumi-lang-java=\" authServersTimeout \" pulumi-lang-hcl=\" auth_servers_timeout \"\u003e authServersTimeout \u003c/span\u003eand is set to default value of 10.\n"
                },
                "bandSteer": {
                    "type": "boolean",
                    "description": "Whether to enable band_steering, this works only when band==both\n"
                },
                "bandSteerForceBand5": {
                    "type": "boolean",
                    "description": "Force\u003cspan pulumi-lang-nodejs=\" dualBand \" pulumi-lang-dotnet=\" DualBand \" pulumi-lang-go=\" dualBand \" pulumi-lang-python=\" dual_band \" pulumi-lang-yaml=\" dualBand \" pulumi-lang-java=\" dualBand \" pulumi-lang-hcl=\" dual_band \"\u003e dualBand \u003c/span\u003ecapable client to connect to 5G\n"
                },
                "bands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of radios that the wlan should apply to.\n"
                },
                "blockBlacklistClients": {
                    "type": "boolean",
                    "description": "Whether to block the clients in the blacklist (up to first 256 macs)\n"
                },
                "bonjour": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanBonjour:getWlansOrgWlanBonjour",
                    "description": "Bonjour gateway wlan settings\n"
                },
                "ciscoCwa": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanCiscoCwa:getWlansOrgWlanCiscoCwa",
                    "description": "Cisco CWA (central web authentication) required RADIUS with COA in order to work. See CWA: https://www.cisco.com/c/en/us/support/docs/security/identity-services-engine/115732-central-web-auth-00.html\n"
                },
                "clientLimitDown": {
                    "type": "string"
                },
                "clientLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting per-client is enabled\n"
                },
                "clientLimitUp": {
                    "type": "string"
                },
                "clientLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting per-client is enabled\n"
                },
                "coaServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getWlansOrgWlanCoaServer:getWlansOrgWlanCoaServer"
                    },
                    "description": "List of COA (change of authorization) servers, optional\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "disable11ax": {
                    "type": "boolean",
                    "description": "Some old WLAN drivers may not be compatible\n"
                },
                "disable11be": {
                    "type": "boolean",
                    "description": "To disable Wi-Fi 7 EHT IEs\n"
                },
                "disableHtVhtRates": {
                    "type": "boolean",
                    "description": "To disable ht or vht rates\n"
                },
                "disableUapsd": {
                    "type": "boolean",
                    "description": "Whether to disable U-APSD\n"
                },
                "disableV1RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages\n"
                },
                "disableV2RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages\n"
                },
                "disableWhenGatewayUnreachable": {
                    "type": "boolean",
                    "description": "When any of the following is true, this WLAN will be disabled\n   * cannot get IP\n   * cannot obtain default gateway\n   * cannot reach default gateway\n"
                },
                "disableWhenMxtunnelDown": {
                    "type": "boolean"
                },
                "disableWmm": {
                    "type": "boolean",
                    "description": "Whether to disable WMM\n"
                },
                "dnsServerRewrite": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanDnsServerRewrite:getWlansOrgWlanDnsServerRewrite",
                    "description": "For radius_group-based DNS server (rewrite DNS request depending on the Group RADIUS server returns)\n"
                },
                "dtim": {
                    "type": "integer"
                },
                "dynamicPsk": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanDynamicPsk:getWlansOrgWlanDynamicPsk",
                    "description": "For dynamic PSK where we get\u003cspan pulumi-lang-nodejs=\" perUser \" pulumi-lang-dotnet=\" PerUser \" pulumi-lang-go=\" perUser \" pulumi-lang-python=\" per_user \" pulumi-lang-yaml=\" perUser \" pulumi-lang-java=\" perUser \" pulumi-lang-hcl=\" per_user \"\u003e perUser \u003c/span\u003ePSK from Radius.\u003cspan pulumi-lang-nodejs=\" dynamicPsk \" pulumi-lang-dotnet=\" DynamicPsk \" pulumi-lang-go=\" dynamicPsk \" pulumi-lang-python=\" dynamic_psk \" pulumi-lang-yaml=\" dynamicPsk \" pulumi-lang-java=\" dynamicPsk \" pulumi-lang-hcl=\" dynamic_psk \"\u003e dynamicPsk \u003c/span\u003eallows PSK to be selected at runtime depending on context (wlan/site/user/...) thus following configurations are assumed (currently)\n  * PSK will come from RADIUS server\n  * AP sends client MAC as username and password (i.e. \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e is assumed)\n  * AP sends BSSID:SSID as Caller-Station-ID\n  * \u003cspan pulumi-lang-nodejs=\"`authServers`\" pulumi-lang-dotnet=\"`AuthServers`\" pulumi-lang-go=\"`authServers`\" pulumi-lang-python=\"`auth_servers`\" pulumi-lang-yaml=\"`authServers`\" pulumi-lang-java=\"`authServers`\" pulumi-lang-hcl=\"`auth_servers`\"\u003e`authServers`\u003c/span\u003e is required\n  * PSK will come from cloud WLC if source is\u003cspan pulumi-lang-nodejs=\" cloudPsks\n\" pulumi-lang-dotnet=\" CloudPsks\n\" pulumi-lang-go=\" cloudPsks\n\" pulumi-lang-python=\" cloud_psks\n\" pulumi-lang-yaml=\" cloudPsks\n\" pulumi-lang-java=\" cloudPsks\n\" pulumi-lang-hcl=\" cloud_psks\n\"\u003e cloudPsks\n\u003c/span\u003e  *\u003cspan pulumi-lang-nodejs=\" defaultPsk \" pulumi-lang-dotnet=\" DefaultPsk \" pulumi-lang-go=\" defaultPsk \" pulumi-lang-python=\" default_psk \" pulumi-lang-yaml=\" defaultPsk \" pulumi-lang-java=\" defaultPsk \" pulumi-lang-hcl=\" default_psk \"\u003e defaultPsk \u003c/span\u003ewill be used if cloud WLC is not available\n  * \u003cspan pulumi-lang-nodejs=\"`multiPskOnly`\" pulumi-lang-dotnet=\"`MultiPskOnly`\" pulumi-lang-go=\"`multiPskOnly`\" pulumi-lang-python=\"`multi_psk_only`\" pulumi-lang-yaml=\"`multiPskOnly`\" pulumi-lang-java=\"`multiPskOnly`\" pulumi-lang-hcl=\"`multi_psk_only`\"\u003e`multiPskOnly`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`pairwise`\" pulumi-lang-dotnet=\"`Pairwise`\" pulumi-lang-go=\"`pairwise`\" pulumi-lang-python=\"`pairwise`\" pulumi-lang-yaml=\"`pairwise`\" pulumi-lang-java=\"`pairwise`\" pulumi-lang-hcl=\"`pairwise`\"\u003e`pairwise`\u003c/span\u003e can only be wpa2-ccmp (for now, wpa3 support on the roadmap)\n"
                },
                "dynamicVlan": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanDynamicVlan:getWlansOrgWlanDynamicVlan",
                    "description": "For 802.1x\n"
                },
                "enableLocalKeycaching": {
                    "type": "boolean",
                    "description": "Enable AP-AP keycaching via multicast\n"
                },
                "enableWirelessBridging": {
                    "type": "boolean",
                    "description": "By default, we'd inspect all DHCP packets and drop those unrelated to the wireless client itself in the case where client is a wireless bridge (DHCP packets for other MACs will need to be forwarded),\u003cspan pulumi-lang-nodejs=\" wirelessBridging \" pulumi-lang-dotnet=\" WirelessBridging \" pulumi-lang-go=\" wirelessBridging \" pulumi-lang-python=\" wireless_bridging \" pulumi-lang-yaml=\" wirelessBridging \" pulumi-lang-java=\" wirelessBridging \" pulumi-lang-hcl=\" wireless_bridging \"\u003e wirelessBridging \u003c/span\u003ecan be enabled\n"
                },
                "enableWirelessBridgingDhcpTracking": {
                    "type": "boolean",
                    "description": "If the client bridge is doing DHCP on behalf of other devices (L2-NAT), enable\u003cspan pulumi-lang-nodejs=\" dhcpTracking \" pulumi-lang-dotnet=\" DhcpTracking \" pulumi-lang-go=\" dhcpTracking \" pulumi-lang-python=\" dhcp_tracking \" pulumi-lang-yaml=\" dhcpTracking \" pulumi-lang-java=\" dhcpTracking \" pulumi-lang-hcl=\" dhcp_tracking \"\u003e dhcpTracking \u003c/span\u003ewill cut down DHCP response packets to be forwarded to wireless\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If this wlan is enabled\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from ‘auth_servers_timeout’ and ‘auth_server_retries’ .\n"
                },
                "hideSsid": {
                    "type": "boolean",
                    "description": "Whether to hide SSID in beacon\n"
                },
                "hostnameIe": {
                    "type": "boolean",
                    "description": "Include hostname inside IE in AP beacons / probe responses\n"
                },
                "hotspot20": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanHotspot20:getWlansOrgWlanHotspot20",
                    "description": "Hostspot 2.0 wlan settings\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "injectDhcpOption82": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanInjectDhcpOption82:getWlansOrgWlanInjectDhcpOption82"
                },
                "interface": {
                    "type": "string",
                    "description": "where this WLAN will be connected to. enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\" pulumi-lang-hcl=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eth0`\" pulumi-lang-dotnet=\"`Eth0`\" pulumi-lang-go=\"`eth0`\" pulumi-lang-python=\"`eth0`\" pulumi-lang-yaml=\"`eth0`\" pulumi-lang-java=\"`eth0`\" pulumi-lang-hcl=\"`eth0`\"\u003e`eth0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eth1`\" pulumi-lang-dotnet=\"`Eth1`\" pulumi-lang-go=\"`eth1`\" pulumi-lang-python=\"`eth1`\" pulumi-lang-yaml=\"`eth1`\" pulumi-lang-java=\"`eth1`\" pulumi-lang-hcl=\"`eth1`\"\u003e`eth1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eth2`\" pulumi-lang-dotnet=\"`Eth2`\" pulumi-lang-go=\"`eth2`\" pulumi-lang-python=\"`eth2`\" pulumi-lang-yaml=\"`eth2`\" pulumi-lang-java=\"`eth2`\" pulumi-lang-hcl=\"`eth2`\"\u003e`eth2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eth3`\" pulumi-lang-dotnet=\"`Eth3`\" pulumi-lang-go=\"`eth3`\" pulumi-lang-python=\"`eth3`\" pulumi-lang-yaml=\"`eth3`\" pulumi-lang-java=\"`eth3`\" pulumi-lang-hcl=\"`eth3`\"\u003e`eth3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to stop clients to talk to each other\n"
                },
                "l2Isolation": {
                    "type": "boolean",
                    "description": "If isolation is enabled, whether to deny clients to talk to L2 on the LAN\n"
                },
                "legacyOverds": {
                    "type": "boolean",
                    "description": "Legacy devices requires the Over-DS (for Fast BSS Transition) bit set (while our chip doesn’t support it). Warning! Enabling this will cause problem for iOS devices.\n"
                },
                "limitBcast": {
                    "type": "boolean",
                    "description": "Whether to limit broadcast packets going to wireless (i.e. only allow certain bcast packets to go through)\n"
                },
                "limitProbeResponse": {
                    "type": "boolean",
                    "description": "Limit probe response base on some heuristic rules\n"
                },
                "maxIdletime": {
                    "type": "integer",
                    "description": "Max idle time in seconds\n"
                },
                "maxNumClients": {
                    "type": "integer",
                    "description": "Maximum number of client connected to the SSID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means unlimited\n"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanMistNac:getWlansOrgWlanMistNac"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "mspId": {
                    "type": "string"
                },
                "mxtunnelIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e, id of the Mist Tunnel\n"
                },
                "mxtunnelNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e, name of the mxtunnel that in mxtunnels under Site Setting\n"
                },
                "noStaticDns": {
                    "type": "boolean",
                    "description": "Whether to only allow client to use DNS that we’ve learned from DHCP response\n"
                },
                "noStaticIp": {
                    "type": "boolean",
                    "description": "Whether to only allow client that we’ve learned from DHCP exchange to talk\n"
                },
                "orgId": {
                    "type": "string"
                },
                "portal": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanPortal:getWlansOrgWlanPortal",
                    "description": "Portal wlan settings\n"
                },
                "portalAllowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of hostnames without http(s):// (matched by substring)\n"
                },
                "portalAllowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of CIDRs\n"
                },
                "portalApiSecret": {
                    "type": "string",
                    "description": "API secret (auto-generated) that can be used to sign guest authorization requests, only generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e\n"
                },
                "portalDeniedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of hostnames without http(s):// (matched by substring), this takes precedence over portal_allowed_hostnames\n"
                },
                "portalImage": {
                    "type": "string",
                    "description": "Url of portal background image\n"
                },
                "portalSsoUrl": {
                    "type": "string",
                    "description": "URL used in the SSO process, auto-generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e\n"
                },
                "qos": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanQos:getWlansOrgWlanQos"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanRadsec:getWlansOrgWlanRadsec",
                    "description": "RadSec settings\n"
                },
                "rateset": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getWlansOrgWlanRateset:getWlansOrgWlanRateset"
                    },
                    "description": "Property key is the RF band. enum: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\" pulumi-lang-hcl=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e\n"
                },
                "reconnectClientsWhenRoamingMxcluster": {
                    "type": "boolean",
                    "description": "When different mxcluster is on different subnet, we'd want to disconnect clients (so they'll reconnect and get new IPs)\n"
                },
                "roamMode": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`11r`\" pulumi-lang-dotnet=\"`11r`\" pulumi-lang-go=\"`11r`\" pulumi-lang-python=\"`11r`\" pulumi-lang-yaml=\"`11r`\" pulumi-lang-java=\"`11r`\" pulumi-lang-hcl=\"`11r`\"\u003e`11r`\u003c/span\u003e, `OKC`, `NONE`\n"
                },
                "schedule": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanSchedule:getWlansOrgWlanSchedule",
                    "description": "WLAN operating schedule, default is disabled\n"
                },
                "sleExcluded": {
                    "type": "boolean",
                    "description": "Whether to exclude this WLAN from SLE metrics\n"
                },
                "ssid": {
                    "type": "string",
                    "description": "Name of the SSID\n"
                },
                "templateId": {
                    "type": "string"
                },
                "useEapolV1": {
                    "type": "boolean",
                    "description": "If `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e or `auth.type`==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, should only be set for legacy client, such as pre-2004, 802.11b devices\n"
                },
                "vlanEnabled": {
                    "type": "boolean",
                    "description": "If vlan tagging is enabled\n"
                },
                "vlanId": {
                    "type": "string"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vlanPooling`\" pulumi-lang-dotnet=\"`VlanPooling`\" pulumi-lang-go=\"`vlanPooling`\" pulumi-lang-python=\"`vlan_pooling`\" pulumi-lang-yaml=\"`vlanPooling`\" pulumi-lang-java=\"`vlanPooling`\" pulumi-lang-hcl=\"`vlan_pooling`\"\u003e`vlanPooling`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. List of VLAN IDs (comma separated) to be used in the VLAN Pool\n"
                },
                "vlanPooling": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Vlan pooling allows AP to place client on different VLAN using a deterministic algorithm\n"
                },
                "wlanLimitDown": {
                    "type": "string"
                },
                "wlanLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting for whole wlan is enabled\n"
                },
                "wlanLimitUp": {
                    "type": "string"
                },
                "wlanLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting for whole wlan is enabled\n"
                },
                "wxtagIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of wxtag_ids\n"
                },
                "wxtunnelId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, id of the WXLAN Tunnel\n"
                },
                "wxtunnelRemoteId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, remote tunnel identifier\n"
                }
            },
            "type": "object",
            "required": [
                "acctImmediateUpdate",
                "acctInterimInterval",
                "acctServers",
                "airwatch",
                "allowIpv6Ndp",
                "allowMdns",
                "allowSsdp",
                "apIds",
                "appLimit",
                "appQos",
                "applyTo",
                "arpFilter",
                "auth",
                "authServerSelection",
                "authServers",
                "authServersNasId",
                "authServersNasIp",
                "authServersRetries",
                "authServersTimeout",
                "bandSteer",
                "bandSteerForceBand5",
                "bands",
                "blockBlacklistClients",
                "bonjour",
                "ciscoCwa",
                "clientLimitDown",
                "clientLimitDownEnabled",
                "clientLimitUp",
                "clientLimitUpEnabled",
                "coaServers",
                "createdTime",
                "disable11ax",
                "disable11be",
                "disableHtVhtRates",
                "disableUapsd",
                "disableV1RoamNotify",
                "disableV2RoamNotify",
                "disableWhenGatewayUnreachable",
                "disableWhenMxtunnelDown",
                "disableWmm",
                "dnsServerRewrite",
                "dtim",
                "dynamicPsk",
                "dynamicVlan",
                "enableLocalKeycaching",
                "enableWirelessBridging",
                "enableWirelessBridgingDhcpTracking",
                "enabled",
                "fastDot1xTimers",
                "hideSsid",
                "hostnameIe",
                "hotspot20",
                "id",
                "injectDhcpOption82",
                "interface",
                "isolation",
                "l2Isolation",
                "legacyOverds",
                "limitBcast",
                "limitProbeResponse",
                "maxIdletime",
                "maxNumClients",
                "mistNac",
                "modifiedTime",
                "mspId",
                "mxtunnelIds",
                "mxtunnelNames",
                "noStaticDns",
                "noStaticIp",
                "orgId",
                "portal",
                "portalAllowedHostnames",
                "portalAllowedSubnets",
                "portalApiSecret",
                "portalDeniedHostnames",
                "portalImage",
                "portalSsoUrl",
                "qos",
                "radsec",
                "rateset",
                "reconnectClientsWhenRoamingMxcluster",
                "roamMode",
                "schedule",
                "sleExcluded",
                "ssid",
                "templateId",
                "useEapolV1",
                "vlanEnabled",
                "vlanId",
                "vlanIds",
                "vlanPooling",
                "wlanLimitDown",
                "wlanLimitDownEnabled",
                "wlanLimitUp",
                "wlanLimitUpEnabled",
                "wxtagIds",
                "wxtunnelId",
                "wxtunnelRemoteId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanAcctServer:getWlansOrgWlanAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "IP/ hostname of RADIUS server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ascii`\" pulumi-lang-dotnet=\"`Ascii`\" pulumi-lang-go=\"`ascii`\" pulumi-lang-python=\"`ascii`\" pulumi-lang-yaml=\"`ascii`\" pulumi-lang-java=\"`ascii`\" pulumi-lang-hcl=\"`ascii`\"\u003e`ascii`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hex`\" pulumi-lang-dotnet=\"`Hex`\" pulumi-lang-go=\"`hex`\" pulumi-lang-python=\"`hex`\" pulumi-lang-yaml=\"`hex`\" pulumi-lang-java=\"`hex`\" pulumi-lang-hcl=\"`hex`\"\u003e`hex`\u003c/span\u003e\n"
                },
                "keywrapKek": {
                    "type": "string"
                },
                "keywrapMack": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret of RADIUS server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "keywrapEnabled",
                "keywrapFormat",
                "keywrapKek",
                "keywrapMack",
                "port",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanAirwatch:getWlansOrgWlanAirwatch": {
            "properties": {
                "apiKey": {
                    "type": "string",
                    "description": "API Key\n"
                },
                "consoleUrl": {
                    "type": "string",
                    "description": "Console URL\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "password": {
                    "type": "string",
                    "description": "Password\n",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "Username\n"
                }
            },
            "type": "object",
            "required": [
                "apiKey",
                "consoleUrl",
                "enabled",
                "password",
                "username"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanAppLimit:getWlansOrgWlanAppLimit": {
            "properties": {
                "apps": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Map from app key to bandwidth in kbps. \nProperty key is the app key, defined in Get Application List\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "wxtagIds": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Map from\u003cspan pulumi-lang-nodejs=\" wxtagId \" pulumi-lang-dotnet=\" WxtagId \" pulumi-lang-go=\" wxtagId \" pulumi-lang-python=\" wxtag_id \" pulumi-lang-yaml=\" wxtagId \" pulumi-lang-java=\" wxtagId \" pulumi-lang-hcl=\" wxtag_id \"\u003e wxtagId \u003c/span\u003eof Hostname Wxlan Tags to bandwidth in kbps. Property key is the \u003cspan pulumi-lang-nodejs=\"`wxtagId`\" pulumi-lang-dotnet=\"`WxtagId`\" pulumi-lang-go=\"`wxtagId`\" pulumi-lang-python=\"`wxtag_id`\" pulumi-lang-yaml=\"`wxtagId`\" pulumi-lang-java=\"`wxtagId`\" pulumi-lang-hcl=\"`wxtag_id`\"\u003e`wxtagId`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "apps",
                "enabled",
                "wxtagIds"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanAppQos:getWlansOrgWlanAppQos": {
            "properties": {
                "apps": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getWlansOrgWlanAppQosApps:getWlansOrgWlanAppQosApps"
                    }
                },
                "enabled": {
                    "type": "boolean"
                },
                "others": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getWlansOrgWlanAppQosOther:getWlansOrgWlanAppQosOther"
                    }
                }
            },
            "type": "object",
            "required": [
                "apps",
                "enabled",
                "others"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanAppQosApps:getWlansOrgWlanAppQosApps": {
            "properties": {
                "dscp": {
                    "type": "string"
                },
                "dstSubnet": {
                    "type": "string",
                    "description": "Subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load)\n"
                },
                "srcSubnet": {
                    "type": "string",
                    "description": "Subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load)\n"
                }
            },
            "type": "object",
            "required": [
                "dscp",
                "dstSubnet",
                "srcSubnet"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanAppQosOther:getWlansOrgWlanAppQosOther": {
            "properties": {
                "dscp": {
                    "type": "string"
                },
                "dstSubnet": {
                    "type": "string"
                },
                "portRanges": {
                    "type": "string"
                },
                "protocol": {
                    "type": "string"
                },
                "srcSubnet": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "dscp",
                "dstSubnet",
                "portRanges",
                "protocol",
                "srcSubnet"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanAuth:getWlansOrgWlanAuth": {
            "properties": {
                "anticlogThreshold": {
                    "type": "integer",
                    "description": "SAE anti-clogging token threshold\n"
                },
                "eapReauth": {
                    "type": "boolean",
                    "description": "Whether to trigger EAP reauth when the session ends\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Whether to enable MAC Auth, uses the same auth_servers\n"
                },
                "keyIdx": {
                    "type": "integer",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wep`\" pulumi-lang-dotnet=\"`Wep`\" pulumi-lang-go=\"`wep`\" pulumi-lang-python=\"`wep`\" pulumi-lang-yaml=\"`wep`\" pulumi-lang-java=\"`wep`\" pulumi-lang-hcl=\"`wep`\"\u003e`wep`\u003c/span\u003e\n"
                },
                "keys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When type=wep, four 10-character or 26-character hex string, null can be used. All keys, if provided, have to be in the same length\n"
                },
                "multiPskOnly": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, whether to only use multi_psk\n"
                },
                "owe": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`open`\" pulumi-lang-dotnet=\"`Open`\" pulumi-lang-go=\"`open`\" pulumi-lang-python=\"`open`\" pulumi-lang-yaml=\"`open`\" pulumi-lang-java=\"`open`\" pulumi-lang-hcl=\"`open`\"\u003e`open`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\" pulumi-lang-hcl=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\" pulumi-lang-hcl=\"`enabled`\"\u003e`enabled`\u003c/span\u003e (means transition mode), \u003cspan pulumi-lang-nodejs=\"`required`\" pulumi-lang-dotnet=\"`Required`\" pulumi-lang-go=\"`required`\" pulumi-lang-python=\"`required`\" pulumi-lang-yaml=\"`required`\" pulumi-lang-java=\"`required`\" pulumi-lang-hcl=\"`required`\"\u003e`required`\u003c/span\u003e\n"
                },
                "pairwises": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e, one or more of `wpa1-ccmp`, `wpa1-tkip`, `wpa2-ccmp`, `wpa2-tkip`, \u003cspan pulumi-lang-nodejs=\"`wpa3`\" pulumi-lang-dotnet=\"`Wpa3`\" pulumi-lang-go=\"`wpa3`\" pulumi-lang-python=\"`wpa3`\" pulumi-lang-yaml=\"`wpa3`\" pulumi-lang-java=\"`wpa3`\" pulumi-lang-hcl=\"`wpa3`\"\u003e`wpa3`\u003c/span\u003e\n"
                },
                "privateWlan": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`multiPskOnly`\" pulumi-lang-dotnet=\"`MultiPskOnly`\" pulumi-lang-go=\"`multiPskOnly`\" pulumi-lang-python=\"`multi_psk_only`\" pulumi-lang-yaml=\"`multiPskOnly`\" pulumi-lang-java=\"`multiPskOnly`\" pulumi-lang-hcl=\"`multi_psk_only`\"\u003e`multiPskOnly`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether private wlan is enabled\n"
                },
                "psk": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, 8-64 characters, or 64 hex characters\n",
                    "secret": true
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eap192`\" pulumi-lang-dotnet=\"`Eap192`\" pulumi-lang-go=\"`eap192`\" pulumi-lang-python=\"`eap192`\" pulumi-lang-yaml=\"`eap192`\" pulumi-lang-java=\"`eap192`\" pulumi-lang-hcl=\"`eap192`\"\u003e`eap192`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`open`\" pulumi-lang-dotnet=\"`Open`\" pulumi-lang-go=\"`open`\" pulumi-lang-python=\"`open`\" pulumi-lang-yaml=\"`open`\" pulumi-lang-java=\"`open`\" pulumi-lang-hcl=\"`open`\"\u003e`open`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, `psk-tkip`, `psk-wpa2-tkip`, \u003cspan pulumi-lang-nodejs=\"`wep`\" pulumi-lang-dotnet=\"`Wep`\" pulumi-lang-go=\"`wep`\" pulumi-lang-python=\"`wep`\" pulumi-lang-yaml=\"`wep`\" pulumi-lang-java=\"`wep`\" pulumi-lang-hcl=\"`wep`\"\u003e`wep`\u003c/span\u003e\n"
                },
                "wepAsSecondaryAuth": {
                    "type": "boolean",
                    "description": "Enable WEP as secondary auth\n"
                }
            },
            "type": "object",
            "required": [
                "anticlogThreshold",
                "eapReauth",
                "enableMacAuth",
                "keyIdx",
                "keys",
                "multiPskOnly",
                "owe",
                "pairwises",
                "privateWlan",
                "psk",
                "type",
                "wepAsSecondaryAuth"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanAuthServer:getWlansOrgWlanAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "IP/ hostname of RADIUS server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ascii`\" pulumi-lang-dotnet=\"`Ascii`\" pulumi-lang-go=\"`ascii`\" pulumi-lang-python=\"`ascii`\" pulumi-lang-yaml=\"`ascii`\" pulumi-lang-java=\"`ascii`\" pulumi-lang-hcl=\"`ascii`\"\u003e`ascii`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hex`\" pulumi-lang-dotnet=\"`Hex`\" pulumi-lang-go=\"`hex`\" pulumi-lang-python=\"`hex`\" pulumi-lang-yaml=\"`hex`\" pulumi-lang-java=\"`hex`\" pulumi-lang-hcl=\"`hex`\"\u003e`hex`\u003c/span\u003e\n"
                },
                "keywrapKek": {
                    "type": "string"
                },
                "keywrapMack": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret of RADIUS server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "keywrapEnabled",
                "keywrapFormat",
                "keywrapKek",
                "keywrapMack",
                "port",
                "requireMessageAuthenticator",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanBonjour:getWlansOrgWlanBonjour": {
            "properties": {
                "additionalVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional VLAN IDs (on the LAN side or from other WLANs) should we be forwarding bonjour queries/responses\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable bonjour for this WLAN. Once enabled,\u003cspan pulumi-lang-nodejs=\" limitBcast \" pulumi-lang-dotnet=\" LimitBcast \" pulumi-lang-go=\" limitBcast \" pulumi-lang-python=\" limit_bcast \" pulumi-lang-yaml=\" limitBcast \" pulumi-lang-java=\" limitBcast \" pulumi-lang-hcl=\" limit_bcast \"\u003e limitBcast \u003c/span\u003eis assumed true,\u003cspan pulumi-lang-nodejs=\" allowMdns \" pulumi-lang-dotnet=\" AllowMdns \" pulumi-lang-go=\" allowMdns \" pulumi-lang-python=\" allow_mdns \" pulumi-lang-yaml=\" allowMdns \" pulumi-lang-java=\" allowMdns \" pulumi-lang-hcl=\" allow_mdns \"\u003e allowMdns \u003c/span\u003eis assumed false\n"
                },
                "services": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/getWlansOrgWlanBonjourServices:getWlansOrgWlanBonjourServices"
                    },
                    "description": "What services are allowed. \nProperty key is the service name\n"
                }
            },
            "type": "object",
            "required": [
                "additionalVlanIds",
                "enabled",
                "services"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanBonjourServices:getWlansOrgWlanBonjourServices": {
            "properties": {
                "disableLocal": {
                    "type": "boolean",
                    "description": "Whether to prevent wireless clients to discover bonjour devices on the same WLAN\n"
                },
                "radiusGroups": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional, if the service is further restricted for certain RADIUS groups\n"
                },
                "scope": {
                    "type": "string",
                    "description": "how bonjour services should be discovered for the same WLAN. enum: \u003cspan pulumi-lang-nodejs=\"`sameAp`\" pulumi-lang-dotnet=\"`SameAp`\" pulumi-lang-go=\"`sameAp`\" pulumi-lang-python=\"`same_ap`\" pulumi-lang-yaml=\"`sameAp`\" pulumi-lang-java=\"`sameAp`\" pulumi-lang-hcl=\"`same_ap`\"\u003e`sameAp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sameMap`\" pulumi-lang-dotnet=\"`SameMap`\" pulumi-lang-go=\"`sameMap`\" pulumi-lang-python=\"`same_map`\" pulumi-lang-yaml=\"`sameMap`\" pulumi-lang-java=\"`sameMap`\" pulumi-lang-hcl=\"`same_map`\"\u003e`sameMap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sameSite`\" pulumi-lang-dotnet=\"`SameSite`\" pulumi-lang-go=\"`sameSite`\" pulumi-lang-python=\"`same_site`\" pulumi-lang-yaml=\"`sameSite`\" pulumi-lang-java=\"`sameSite`\" pulumi-lang-hcl=\"`same_site`\"\u003e`sameSite`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "disableLocal",
                "radiusGroups",
                "scope"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanCiscoCwa:getWlansOrgWlanCiscoCwa": {
            "properties": {
                "allowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of hostnames without http(s):// (matched by substring)\n"
                },
                "allowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of CIDRs\n"
                },
                "blockedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of blocked CIDRs\n"
                },
                "enabled": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "allowedHostnames",
                "allowedSubnets",
                "blockedSubnets",
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanCoaServer:getWlansOrgWlanCoaServer": {
            "properties": {
                "disableEventTimestampCheck": {
                    "type": "boolean",
                    "description": "Whether to disable Event-Timestamp Check\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "ip": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "secret": {
                    "type": "string",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "disableEventTimestampCheck",
                "enabled",
                "ip",
                "port",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanDnsServerRewrite:getWlansOrgWlanDnsServerRewrite": {
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "radiusGroups": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map between\u003cspan pulumi-lang-nodejs=\" radiusGroup \" pulumi-lang-dotnet=\" RadiusGroup \" pulumi-lang-go=\" radiusGroup \" pulumi-lang-python=\" radius_group \" pulumi-lang-yaml=\" radiusGroup \" pulumi-lang-java=\" radiusGroup \" pulumi-lang-hcl=\" radius_group \"\u003e radiusGroup \u003c/span\u003eand the desired DNS server (IPv4 only). Property key is the RADIUS group, property value is the desired DNS Server\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "radiusGroups"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanDynamicPsk:getWlansOrgWlanDynamicPsk": {
            "properties": {
                "defaultPsk": {
                    "type": "string",
                    "description": "Default PSK to use if cloud WLC is not available, 8-63 characters\n",
                    "secret": true
                },
                "defaultVlanId": {
                    "type": "string"
                },
                "enabled": {
                    "type": "boolean"
                },
                "forceLookup": {
                    "type": "boolean",
                    "description": "When 11r is enabled, we'll try to use the cached PMK, this can be disabled. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means auto\n"
                },
                "source": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`cloudPsks`\" pulumi-lang-dotnet=\"`CloudPsks`\" pulumi-lang-go=\"`cloudPsks`\" pulumi-lang-python=\"`cloud_psks`\" pulumi-lang-yaml=\"`cloudPsks`\" pulumi-lang-java=\"`cloudPsks`\" pulumi-lang-hcl=\"`cloud_psks`\"\u003e`cloudPsks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radius`\" pulumi-lang-dotnet=\"`Radius`\" pulumi-lang-go=\"`radius`\" pulumi-lang-python=\"`radius`\" pulumi-lang-yaml=\"`radius`\" pulumi-lang-java=\"`radius`\" pulumi-lang-hcl=\"`radius`\"\u003e`radius`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "defaultPsk",
                "defaultVlanId",
                "enabled",
                "forceLookup",
                "source"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanDynamicVlan:getWlansOrgWlanDynamicVlan": {
            "properties": {
                "defaultVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Default VLAN ID(s) can be a number, a range of VLAN IDs, a variable or multiple numbers, ranges or variables as a VLAN pool. Default VLAN as a pool of VLANS requires 0.14.x or newer firmware\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to enable dynamic vlan\n"
                },
                "localVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "VLAN_ids to be locally bridged\n"
                },
                "type": {
                    "type": "string",
                    "description": "standard (using Tunnel-Private-Group-ID, widely supported), airespace-interface-name (Airespace/Cisco). enum: `airespace-interface-name`, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e\n"
                },
                "vlans": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map between\u003cspan pulumi-lang-nodejs=\" vlanId \" pulumi-lang-dotnet=\" VlanId \" pulumi-lang-go=\" vlanId \" pulumi-lang-python=\" vlan_id \" pulumi-lang-yaml=\" vlanId \" pulumi-lang-java=\" vlanId \" pulumi-lang-hcl=\" vlan_id \"\u003e vlanId \u003c/span\u003e(as string) to airespace interface names (comma-separated) or null for standard mapping\n  * if `dynamic_vlan.type`==\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e, property key is the Vlan ID and property value is \\\"\\\"\n  * if `dynamic_vlan.type`==`airespace-interface-name`, property key is the Vlan ID and property value is the Airespace Interface Name\n"
                }
            },
            "type": "object",
            "required": [
                "defaultVlanIds",
                "enabled",
                "localVlanIds",
                "type",
                "vlans"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanHotspot20:getWlansOrgWlanHotspot20": {
            "properties": {
                "domainNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable hotspot 2.0 config\n"
                },
                "naiRealms": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "operators": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of operators to support\n"
                },
                "rcois": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "venueName": {
                    "type": "string",
                    "description": "Venue name, default is site name\n"
                }
            },
            "type": "object",
            "required": [
                "domainNames",
                "enabled",
                "naiRealms",
                "operators",
                "rcois",
                "venueName"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanInjectDhcpOption82:getWlansOrgWlanInjectDhcpOption82": {
            "properties": {
                "circuitId": {
                    "type": "string",
                    "description": "Information to set in the \u003cspan pulumi-lang-nodejs=\"`circuitId`\" pulumi-lang-dotnet=\"`CircuitId`\" pulumi-lang-go=\"`circuitId`\" pulumi-lang-python=\"`circuit_id`\" pulumi-lang-yaml=\"`circuitId`\" pulumi-lang-java=\"`circuitId`\" pulumi-lang-hcl=\"`circuit_id`\"\u003e`circuitId`\u003c/span\u003e field of the DHCP Option 82. It is possible to use static string or the following variables (e.g. `{{SSID}}:{{AP_MAC}}`):\n  * {{AP_MAC}}\n  * {{AP_MAC_DASHED}}\n  * {{AP_MODEL}}\n  * {{AP_NAME}}\n  * {{SITE_NAME}}\n  * {{SSID}}\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to inject option 82 when forwarding DHCP packets\n"
                }
            },
            "type": "object",
            "required": [
                "circuitId",
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanMistNac:getWlansOrgWlanMistNac": {
            "properties": {
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled.\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "Radius auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"retries\" are set to value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"max-requests\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersRetries`\" pulumi-lang-dotnet=\"`AuthServersRetries`\" pulumi-lang-go=\"`authServersRetries`\" pulumi-lang-python=\"`auth_servers_retries`\" pulumi-lang-yaml=\"`authServersRetries`\" pulumi-lang-java=\"`authServersRetries`\" pulumi-lang-hcl=\"`auth_servers_retries`\"\u003e`authServersRetries`\u003c/span\u003e is set to default value to 3.\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "Radius auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"quite-period\" and \"transmit-period\" are set to half the value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"supplicant-timeout\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e is set to default value of 10.\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Allows a RADIUS server to dynamically modify the authorization status of a user session.\n"
                },
                "coaPort": {
                    "type": "integer",
                    "description": "the communication port used for “Change of Authorization” (CoA) messages\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled:\n  * \u003cspan pulumi-lang-nodejs=\"`authServers`\" pulumi-lang-dotnet=\"`AuthServers`\" pulumi-lang-go=\"`authServers`\" pulumi-lang-python=\"`auth_servers`\" pulumi-lang-yaml=\"`authServers`\" pulumi-lang-java=\"`authServers`\" pulumi-lang-hcl=\"`auth_servers`\"\u003e`authServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`acctServers`\" pulumi-lang-dotnet=\"`AcctServers`\" pulumi-lang-go=\"`acctServers`\" pulumi-lang-python=\"`acct_servers`\" pulumi-lang-yaml=\"`acctServers`\" pulumi-lang-java=\"`acctServers`\" pulumi-lang-hcl=\"`acct_servers`\"\u003e`acctServers`\u003c/span\u003e is ignored\n  * `auth_servers_*` are ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaServers`\" pulumi-lang-dotnet=\"`CoaServers`\" pulumi-lang-go=\"`coaServers`\" pulumi-lang-python=\"`coa_servers`\" pulumi-lang-yaml=\"`coaServers`\" pulumi-lang-java=\"`coaServers`\" pulumi-lang-hcl=\"`coa_servers`\"\u003e`coaServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`radsec`\" pulumi-lang-dotnet=\"`Radsec`\" pulumi-lang-go=\"`radsec`\" pulumi-lang-python=\"`radsec`\" pulumi-lang-yaml=\"`radsec`\" pulumi-lang-java=\"`radsec`\" pulumi-lang-hcl=\"`radsec`\"\u003e`radsec`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaEnabled`\" pulumi-lang-dotnet=\"`CoaEnabled`\" pulumi-lang-go=\"`coaEnabled`\" pulumi-lang-python=\"`coa_enabled`\" pulumi-lang-yaml=\"`coaEnabled`\" pulumi-lang-java=\"`coaEnabled`\" pulumi-lang-hcl=\"`coa_enabled`\"\u003e`coaEnabled`\u003c/span\u003e is assumed\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authServerRetries`\" pulumi-lang-dotnet=\"`AuthServerRetries`\" pulumi-lang-go=\"`authServerRetries`\" pulumi-lang-python=\"`auth_server_retries`\" pulumi-lang-yaml=\"`authServerRetries`\" pulumi-lang-java=\"`authServerRetries`\" pulumi-lang-hcl=\"`auth_server_retries`\"\u003e`authServerRetries`\u003c/span\u003e.\n"
                },
                "network": {
                    "type": "string",
                    "description": "Which network the mist nac server resides in\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "In case there is a static IP for this network, we can specify it using source ip\n"
                }
            },
            "type": "object",
            "required": [
                "acctInterimInterval",
                "authServersRetries",
                "authServersTimeout",
                "coaEnabled",
                "coaPort",
                "enabled",
                "fastDot1xTimers",
                "network",
                "sourceIp"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanPortal:getWlansOrgWlanPortal": {
            "properties": {
                "allowWlanIdRoam": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to allow guest to connect to other Guest WLANs (with different `WLAN.ssid`) of same org without reauthentication (disable\u003cspan pulumi-lang-nodejs=\" randomMac \" pulumi-lang-dotnet=\" RandomMac \" pulumi-lang-go=\" randomMac \" pulumi-lang-python=\" random_mac \" pulumi-lang-yaml=\" randomMac \" pulumi-lang-java=\" randomMac \" pulumi-lang-hcl=\" random_mac \"\u003e randomMac \u003c/span\u003efor seamless roaming)\n"
                },
                "amazonClientId": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Amazon OAuth2 client id. This is optional. If not provided, it will use a default one.\n"
                },
                "amazonClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Amazon OAuth2 client secret. If\u003cspan pulumi-lang-nodejs=\" amazonClientId \" pulumi-lang-dotnet=\" AmazonClientId \" pulumi-lang-go=\" amazonClientId \" pulumi-lang-python=\" amazon_client_id \" pulumi-lang-yaml=\" amazonClientId \" pulumi-lang-java=\" amazonClientId \" pulumi-lang-hcl=\" amazon_client_id \"\u003e amazonClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n"
                },
                "amazonEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed.\n"
                },
                "amazonEnabled": {
                    "type": "boolean",
                    "description": "Whether amazon is enabled as a login method\n"
                },
                "amazonExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using amazon auth (in minutes), if not provided, uses expire`\n"
                },
                "auth": {
                    "type": "string",
                    "description": "authentication scheme. enum: \u003cspan pulumi-lang-nodejs=\"`amazon`\" pulumi-lang-dotnet=\"`Amazon`\" pulumi-lang-go=\"`amazon`\" pulumi-lang-python=\"`amazon`\" pulumi-lang-yaml=\"`amazon`\" pulumi-lang-java=\"`amazon`\" pulumi-lang-hcl=\"`amazon`\"\u003e`amazon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\" pulumi-lang-hcl=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\" pulumi-lang-hcl=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\" pulumi-lang-hcl=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\" pulumi-lang-hcl=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\" pulumi-lang-hcl=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sponsor`\" pulumi-lang-dotnet=\"`Sponsor`\" pulumi-lang-go=\"`sponsor`\" pulumi-lang-python=\"`sponsor`\" pulumi-lang-yaml=\"`sponsor`\" pulumi-lang-java=\"`sponsor`\" pulumi-lang-hcl=\"`sponsor`\"\u003e`sponsor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e\n"
                },
                "azureClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory app client id\n"
                },
                "azureClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory app client secret\n"
                },
                "azureEnabled": {
                    "type": "boolean",
                    "description": "Whether Azure Active Directory is enabled as a login method\n"
                },
                "azureExpire": {
                    "type": "integer",
                    "description": "Interval for which guest remains authorized using azure auth (in minutes), if not provided, uses expire`\n"
                },
                "azureTenantId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory tenant id.\n"
                },
                "broadnetPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e\n",
                    "secret": true
                },
                "broadnetSid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e\n"
                },
                "broadnetUserId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e\n"
                },
                "bypassWhenCloudDown": {
                    "type": "boolean",
                    "description": "Whether to bypass the guest portal when cloud not reachable (and apply the default policies)\n"
                },
                "clickatellApiKey": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clickatell`\" pulumi-lang-dotnet=\"`Clickatell`\" pulumi-lang-go=\"`clickatell`\" pulumi-lang-python=\"`clickatell`\" pulumi-lang-yaml=\"`clickatell`\" pulumi-lang-java=\"`clickatell`\" pulumi-lang-hcl=\"`clickatell`\"\u003e`clickatell`\u003c/span\u003e\n"
                },
                "crossSite": {
                    "type": "boolean",
                    "description": "Whether to allow guest to roam between WLANs (with same `WLAN.ssid`, regardless of variables) of different sites of same org without reauthentication (disable\u003cspan pulumi-lang-nodejs=\" randomMac \" pulumi-lang-dotnet=\" RandomMac \" pulumi-lang-go=\" randomMac \" pulumi-lang-python=\" random_mac \" pulumi-lang-yaml=\" randomMac \" pulumi-lang-java=\" randomMac \" pulumi-lang-hcl=\" random_mac \"\u003e randomMac \u003c/span\u003efor seamless roaming)\n"
                },
                "emailEnabled": {
                    "type": "boolean",
                    "description": "Whether email (access code verification) is enabled as a login method\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether guest portal is enabled\n"
                },
                "expire": {
                    "type": "integer",
                    "description": "How long to remain authorized, in minutes\n"
                },
                "externalPortalUrl": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e. External portal URL (e.g. https://host/url) where we can append our query parameters to\n"
                },
                "facebookClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Facebook OAuth2 app id. This is optional. If not provided, it will use a default one.\n"
                },
                "facebookClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Facebook OAuth2 app secret. If\u003cspan pulumi-lang-nodejs=\" facebookClientId \" pulumi-lang-dotnet=\" FacebookClientId \" pulumi-lang-go=\" facebookClientId \" pulumi-lang-python=\" facebook_client_id \" pulumi-lang-yaml=\" facebookClientId \" pulumi-lang-java=\" facebookClientId \" pulumi-lang-hcl=\" facebook_client_id \"\u003e facebookClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n"
                },
                "facebookEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed.\n"
                },
                "facebookEnabled": {
                    "type": "boolean",
                    "description": "Whether facebook is enabled as a login method\n"
                },
                "facebookExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using facebook auth (in minutes), if not provided, uses expire`\n"
                },
                "forward": {
                    "type": "boolean",
                    "description": "Whether to forward the user to another URL after authorized\n"
                },
                "forwardUrl": {
                    "type": "string",
                    "description": "URL to forward the user to\n"
                },
                "googleClientId": {
                    "type": "string",
                    "description": "Google OAuth2 app id. This is optional. If not provided, it will use a default one.\n"
                },
                "googleClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Google OAuth2 app secret. If\u003cspan pulumi-lang-nodejs=\" googleClientId \" pulumi-lang-dotnet=\" GoogleClientId \" pulumi-lang-go=\" googleClientId \" pulumi-lang-python=\" google_client_id \" pulumi-lang-yaml=\" googleClientId \" pulumi-lang-java=\" googleClientId \" pulumi-lang-hcl=\" google_client_id \"\u003e googleClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n"
                },
                "googleEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed.\n"
                },
                "googleEnabled": {
                    "type": "boolean",
                    "description": "Whether Google is enabled as login method\n"
                },
                "googleExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using Google Auth (in minutes), if not provided, uses expire`\n"
                },
                "gupshupPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e\n",
                    "secret": true
                },
                "gupshupUserid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e\n"
                },
                "microsoftClientId": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Microsoft 365 OAuth2 client id. This is optional. If not provided, it will use a default one.\n"
                },
                "microsoftClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Microsoft 365 OAuth2 client secret. If\u003cspan pulumi-lang-nodejs=\" microsoftClientId \" pulumi-lang-dotnet=\" MicrosoftClientId \" pulumi-lang-go=\" microsoftClientId \" pulumi-lang-python=\" microsoft_client_id \" pulumi-lang-yaml=\" microsoftClientId \" pulumi-lang-java=\" microsoftClientId \" pulumi-lang-hcl=\" microsoft_client_id \"\u003e microsoftClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n"
                },
                "microsoftEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed.\n"
                },
                "microsoftEnabled": {
                    "type": "boolean",
                    "description": "Whether microsoft 365 is enabled as a login method\n"
                },
                "microsoftExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using microsoft auth (in minutes), if not provided, uses expire`\n"
                },
                "passphraseEnabled": {
                    "type": "boolean",
                    "description": "Whether password is enabled\n"
                },
                "passphraseExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`passphraseEnabled`\" pulumi-lang-dotnet=\"`PassphraseEnabled`\" pulumi-lang-go=\"`passphraseEnabled`\" pulumi-lang-python=\"`passphrase_enabled`\" pulumi-lang-yaml=\"`passphraseEnabled`\" pulumi-lang-java=\"`passphraseEnabled`\" pulumi-lang-hcl=\"`passphrase_enabled`\"\u003e`passphraseEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using passphrase auth (in minutes), if not provided, uses \u003cspan pulumi-lang-nodejs=\"`expire`\" pulumi-lang-dotnet=\"`Expire`\" pulumi-lang-go=\"`expire`\" pulumi-lang-python=\"`expire`\" pulumi-lang-yaml=\"`expire`\" pulumi-lang-java=\"`expire`\" pulumi-lang-hcl=\"`expire`\"\u003e`expire`\u003c/span\u003e\n"
                },
                "password": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`passphraseEnabled`\" pulumi-lang-dotnet=\"`PassphraseEnabled`\" pulumi-lang-go=\"`passphraseEnabled`\" pulumi-lang-python=\"`passphrase_enabled`\" pulumi-lang-yaml=\"`passphraseEnabled`\" pulumi-lang-java=\"`passphraseEnabled`\" pulumi-lang-hcl=\"`passphrase_enabled`\"\u003e`passphraseEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n",
                    "secret": true
                },
                "predefinedSponsorsEnabled": {
                    "type": "boolean",
                    "description": "Whether to show list of sponsor emails mentioned in \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e object as a dropdown. If both \u003cspan pulumi-lang-nodejs=\"`sponsorNotifyAll`\" pulumi-lang-dotnet=\"`SponsorNotifyAll`\" pulumi-lang-go=\"`sponsorNotifyAll`\" pulumi-lang-python=\"`sponsor_notify_all`\" pulumi-lang-yaml=\"`sponsorNotifyAll`\" pulumi-lang-java=\"`sponsorNotifyAll`\" pulumi-lang-hcl=\"`sponsor_notify_all`\"\u003e`sponsorNotifyAll`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`predefinedSponsorsEnabled`\" pulumi-lang-dotnet=\"`PredefinedSponsorsEnabled`\" pulumi-lang-go=\"`predefinedSponsorsEnabled`\" pulumi-lang-python=\"`predefined_sponsors_enabled`\" pulumi-lang-yaml=\"`predefinedSponsorsEnabled`\" pulumi-lang-java=\"`predefinedSponsorsEnabled`\" pulumi-lang-hcl=\"`predefined_sponsors_enabled`\"\u003e`predefinedSponsorsEnabled`\u003c/span\u003e are false, behavior is acc to \u003cspan pulumi-lang-nodejs=\"`sponsorEmailDomains`\" pulumi-lang-dotnet=\"`SponsorEmailDomains`\" pulumi-lang-go=\"`sponsorEmailDomains`\" pulumi-lang-python=\"`sponsor_email_domains`\" pulumi-lang-yaml=\"`sponsorEmailDomains`\" pulumi-lang-java=\"`sponsorEmailDomains`\" pulumi-lang-hcl=\"`sponsor_email_domains`\"\u003e`sponsorEmailDomains`\u003c/span\u003e\n"
                },
                "predefinedSponsorsHideEmail": {
                    "type": "boolean",
                    "description": "Whether to hide sponsor’s email from list of sponsors\n"
                },
                "privacy": {
                    "type": "boolean"
                },
                "puzzelPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e\n",
                    "secret": true
                },
                "puzzelServiceId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e\n"
                },
                "puzzelUsername": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e\n"
                },
                "smsEnabled": {
                    "type": "boolean",
                    "description": "Whether sms is enabled as a login method\n"
                },
                "smsExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using sms auth (in minutes), if not provided, uses expire`\n"
                },
                "smsMessageFormat": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. SMS Message format\n"
                },
                "smsProvider": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickatell`\" pulumi-lang-dotnet=\"`Clickatell`\" pulumi-lang-go=\"`clickatell`\" pulumi-lang-python=\"`clickatell`\" pulumi-lang-yaml=\"`clickatell`\" pulumi-lang-java=\"`clickatell`\" pulumi-lang-hcl=\"`clickatell`\"\u003e`clickatell`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manual`\" pulumi-lang-dotnet=\"`Manual`\" pulumi-lang-go=\"`manual`\" pulumi-lang-python=\"`manual`\" pulumi-lang-yaml=\"`manual`\" pulumi-lang-java=\"`manual`\" pulumi-lang-hcl=\"`manual`\"\u003e`manual`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e\n"
                },
                "smsglobalApiKey": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, Client API Key\n"
                },
                "smsglobalApiSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, Client secret\n"
                },
                "sponsorAutoApprove": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to automatically approve guest and allow sponsor to revoke guest access, needs\u003cspan pulumi-lang-nodejs=\" predefinedSponsorsEnabled \" pulumi-lang-dotnet=\" PredefinedSponsorsEnabled \" pulumi-lang-go=\" predefinedSponsorsEnabled \" pulumi-lang-python=\" predefined_sponsors_enabled \" pulumi-lang-yaml=\" predefinedSponsorsEnabled \" pulumi-lang-java=\" predefinedSponsorsEnabled \" pulumi-lang-hcl=\" predefined_sponsors_enabled \"\u003e predefinedSponsorsEnabled \u003c/span\u003eenabled and\u003cspan pulumi-lang-nodejs=\" sponsorNotifyAll \" pulumi-lang-dotnet=\" SponsorNotifyAll \" pulumi-lang-go=\" sponsorNotifyAll \" pulumi-lang-python=\" sponsor_notify_all \" pulumi-lang-yaml=\" sponsorNotifyAll \" pulumi-lang-java=\" sponsorNotifyAll \" pulumi-lang-hcl=\" sponsor_notify_all \"\u003e sponsorNotifyAll \u003c/span\u003edisabled\n"
                },
                "sponsorEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of domain allowed for sponsor email. Required if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e is empty.\n"
                },
                "sponsorEnabled": {
                    "type": "boolean",
                    "description": "Whether sponsor is enabled\n"
                },
                "sponsorExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using sponsor auth (in minutes), if not provided, uses expire`\n"
                },
                "sponsorLinkValidityDuration": {
                    "type": "string"
                },
                "sponsorNotifyAll": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. whether to notify all sponsors that are mentioned in \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e object. Both \u003cspan pulumi-lang-nodejs=\"`sponsorNotifyAll`\" pulumi-lang-dotnet=\"`SponsorNotifyAll`\" pulumi-lang-go=\"`sponsorNotifyAll`\" pulumi-lang-python=\"`sponsor_notify_all`\" pulumi-lang-yaml=\"`sponsorNotifyAll`\" pulumi-lang-java=\"`sponsorNotifyAll`\" pulumi-lang-hcl=\"`sponsor_notify_all`\"\u003e`sponsorNotifyAll`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`predefinedSponsorsEnabled`\" pulumi-lang-dotnet=\"`PredefinedSponsorsEnabled`\" pulumi-lang-go=\"`predefinedSponsorsEnabled`\" pulumi-lang-python=\"`predefined_sponsors_enabled`\" pulumi-lang-yaml=\"`predefinedSponsorsEnabled`\" pulumi-lang-java=\"`predefinedSponsorsEnabled`\" pulumi-lang-hcl=\"`predefined_sponsors_enabled`\"\u003e`predefinedSponsorsEnabled`\u003c/span\u003e should be true in order to notify sponsors. If true, email sent to 10 sponsors in no particular order.\n"
                },
                "sponsorStatusNotify": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. If enabled, guest will get email about sponsor's action (approve/deny)\n"
                },
                "sponsors": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "object of allowed sponsors email with name. Required if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e\n            is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sponsorEmailDomains`\" pulumi-lang-dotnet=\"`SponsorEmailDomains`\" pulumi-lang-go=\"`sponsorEmailDomains`\" pulumi-lang-python=\"`sponsor_email_domains`\" pulumi-lang-yaml=\"`sponsorEmailDomains`\" pulumi-lang-java=\"`sponsorEmailDomains`\" pulumi-lang-hcl=\"`sponsor_email_domains`\"\u003e`sponsorEmailDomains`\u003c/span\u003e is empty.\n\n            Property key is the sponsor email, Property value is the sponsor name\n"
                },
                "ssoDefaultRole": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched\n"
                },
                "ssoForcedRole": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e\n"
                },
                "ssoIdpCert": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. IDP Cert (used to verify the signed response)\n"
                },
                "ssoIdpSignAlgo": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, Signing algorithm for SAML Assertion. enum: \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\" pulumi-lang-hcl=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha256`\" pulumi-lang-dotnet=\"`Sha256`\" pulumi-lang-go=\"`sha256`\" pulumi-lang-python=\"`sha256`\" pulumi-lang-yaml=\"`sha256`\" pulumi-lang-java=\"`sha256`\" pulumi-lang-hcl=\"`sha256`\"\u003e`sha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha384`\" pulumi-lang-dotnet=\"`Sha384`\" pulumi-lang-go=\"`sha384`\" pulumi-lang-python=\"`sha384`\" pulumi-lang-yaml=\"`sha384`\" pulumi-lang-java=\"`sha384`\" pulumi-lang-hcl=\"`sha384`\"\u003e`sha384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha512`\" pulumi-lang-dotnet=\"`Sha512`\" pulumi-lang-go=\"`sha512`\" pulumi-lang-python=\"`sha512`\" pulumi-lang-yaml=\"`sha512`\" pulumi-lang-java=\"`sha512`\" pulumi-lang-hcl=\"`sha512`\"\u003e`sha512`\u003c/span\u003e\n"
                },
                "ssoIdpSsoUrl": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, IDP Single-Sign-On URL\n"
                },
                "ssoIssuer": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, IDP issuer URL\n"
                },
                "ssoNameidFormat": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unspecified`\" pulumi-lang-dotnet=\"`Unspecified`\" pulumi-lang-go=\"`unspecified`\" pulumi-lang-python=\"`unspecified`\" pulumi-lang-yaml=\"`unspecified`\" pulumi-lang-java=\"`unspecified`\" pulumi-lang-hcl=\"`unspecified`\"\u003e`unspecified`\u003c/span\u003e\n"
                },
                "telstraClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, Client ID provided by Telstra\n"
                },
                "telstraClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, Client secret provided by Telstra\n"
                },
                "twilioAuthToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Auth token account with twilio account\n"
                },
                "twilioPhoneNumber": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Twilio phone number associated with the account. See example for accepted format.\n"
                },
                "twilioSid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Account SID provided by Twilio\n"
                }
            },
            "type": "object",
            "required": [
                "allowWlanIdRoam",
                "amazonClientId",
                "amazonClientSecret",
                "amazonEmailDomains",
                "amazonEnabled",
                "amazonExpire",
                "auth",
                "azureClientId",
                "azureClientSecret",
                "azureEnabled",
                "azureExpire",
                "azureTenantId",
                "broadnetPassword",
                "broadnetSid",
                "broadnetUserId",
                "bypassWhenCloudDown",
                "clickatellApiKey",
                "crossSite",
                "emailEnabled",
                "enabled",
                "expire",
                "externalPortalUrl",
                "facebookClientId",
                "facebookClientSecret",
                "facebookEmailDomains",
                "facebookEnabled",
                "facebookExpire",
                "forward",
                "forwardUrl",
                "googleClientId",
                "googleClientSecret",
                "googleEmailDomains",
                "googleEnabled",
                "googleExpire",
                "gupshupPassword",
                "gupshupUserid",
                "microsoftClientId",
                "microsoftClientSecret",
                "microsoftEmailDomains",
                "microsoftEnabled",
                "microsoftExpire",
                "passphraseEnabled",
                "passphraseExpire",
                "password",
                "predefinedSponsorsEnabled",
                "predefinedSponsorsHideEmail",
                "privacy",
                "puzzelPassword",
                "puzzelServiceId",
                "puzzelUsername",
                "smsEnabled",
                "smsExpire",
                "smsMessageFormat",
                "smsProvider",
                "smsglobalApiKey",
                "smsglobalApiSecret",
                "sponsorAutoApprove",
                "sponsorEmailDomains",
                "sponsorEnabled",
                "sponsorExpire",
                "sponsorLinkValidityDuration",
                "sponsorNotifyAll",
                "sponsorStatusNotify",
                "sponsors",
                "ssoDefaultRole",
                "ssoForcedRole",
                "ssoIdpCert",
                "ssoIdpSignAlgo",
                "ssoIdpSsoUrl",
                "ssoIssuer",
                "ssoNameidFormat",
                "telstraClientId",
                "telstraClientSecret",
                "twilioAuthToken",
                "twilioPhoneNumber",
                "twilioSid"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanQos:getWlansOrgWlanQos": {
            "properties": {
                "class": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`background`\" pulumi-lang-dotnet=\"`Background`\" pulumi-lang-go=\"`background`\" pulumi-lang-python=\"`background`\" pulumi-lang-yaml=\"`background`\" pulumi-lang-java=\"`background`\" pulumi-lang-hcl=\"`background`\"\u003e`background`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bestEffort`\" pulumi-lang-dotnet=\"`BestEffort`\" pulumi-lang-go=\"`bestEffort`\" pulumi-lang-python=\"`best_effort`\" pulumi-lang-yaml=\"`bestEffort`\" pulumi-lang-java=\"`bestEffort`\" pulumi-lang-hcl=\"`best_effort`\"\u003e`bestEffort`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`video`\" pulumi-lang-dotnet=\"`Video`\" pulumi-lang-go=\"`video`\" pulumi-lang-python=\"`video`\" pulumi-lang-yaml=\"`video`\" pulumi-lang-java=\"`video`\" pulumi-lang-hcl=\"`video`\"\u003e`video`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`voice`\" pulumi-lang-dotnet=\"`Voice`\" pulumi-lang-go=\"`voice`\" pulumi-lang-python=\"`voice`\" pulumi-lang-yaml=\"`voice`\" pulumi-lang-java=\"`voice`\" pulumi-lang-hcl=\"`voice`\"\u003e`voice`\u003c/span\u003e\n"
                },
                "overwrite": {
                    "type": "boolean",
                    "description": "Whether to overwrite QoS\n"
                }
            },
            "type": "object",
            "required": [
                "class",
                "overwrite"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanRadsec:getWlansOrgWlanRadsec": {
            "properties": {
                "coaEnabled": {
                    "type": "boolean"
                },
                "enabled": {
                    "type": "boolean"
                },
                "idleTimeout": {
                    "type": "string"
                },
                "mxclusterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "To use Org mxedges when this WLAN does not use mxtunnel, specify their mxcluster_ids. Org mxedge(s) identified by mxcluster_ids\n"
                },
                "proxyHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Default is site.mxedge.radsec.proxy_hosts which must be a superset of all `wlans[*].radsec.proxy_hosts`. When `radsec.proxy_hosts` are not used, tunnel peers (org or site mxedges) are used irrespective of \u003cspan pulumi-lang-nodejs=\"`useSiteMxedge`\" pulumi-lang-dotnet=\"`UseSiteMxedge`\" pulumi-lang-go=\"`useSiteMxedge`\" pulumi-lang-python=\"`use_site_mxedge`\" pulumi-lang-yaml=\"`useSiteMxedge`\" pulumi-lang-java=\"`useSiteMxedge`\" pulumi-lang-hcl=\"`use_site_mxedge`\"\u003e`useSiteMxedge`\u003c/span\u003e\n"
                },
                "serverName": {
                    "type": "string",
                    "description": "Name of the server to verify (against the cacerts in Org Setting). Only if not Mist Edge.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getWlansOrgWlanRadsecServer:getWlansOrgWlanRadsecServer"
                    },
                    "description": "List of RadSec Servers. Only if not Mist Edge.\n"
                },
                "useMxedge": {
                    "type": "boolean",
                    "description": "use mxedge(s) as RadSec Proxy\n"
                },
                "useSiteMxedge": {
                    "type": "boolean",
                    "description": "To use Site mxedges when this WLAN does not use mxtunnel\n"
                }
            },
            "type": "object",
            "required": [
                "coaEnabled",
                "enabled",
                "idleTimeout",
                "mxclusterIds",
                "proxyHosts",
                "serverName",
                "servers",
                "useMxedge",
                "useSiteMxedge"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanRadsecServer:getWlansOrgWlanRadsecServer": {
            "properties": {
                "host": {
                    "type": "string"
                },
                "port": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "host",
                "port"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanRateset:getWlansOrgWlanRateset": {
            "properties": {
                "eht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. EHT MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit)\n"
                },
                "he": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. HE MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit\n"
                },
                "ht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 00ff 00f0 001f limits HT rates to MCS 0-7 for 1 stream, MCS 4-7 for 2 stream (i.e. MCS 12-15), MCS 1-5 for 3 stream (i.e. MCS 16-20)\n"
                },
                "legacies": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. List of supported rates (IE=1) and extended supported rates (IE=50) for custom template, append ‘b’ at the end to indicate a rate being basic/mandatory. If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e is configured and legacy does not define at least one basic rate, it will use `no-legacy` default values\n"
                },
                "minRssi": {
                    "type": "integer",
                    "description": "Minimum RSSI for client to connect, 0 means not enforcing\n"
                },
                "template": {
                    "type": "string",
                    "description": "Data Rates template to apply. enum: \n  * `no-legacy`: no 11b\n  * \u003cspan pulumi-lang-nodejs=\"`compatible`\" pulumi-lang-dotnet=\"`Compatible`\" pulumi-lang-go=\"`compatible`\" pulumi-lang-python=\"`compatible`\" pulumi-lang-yaml=\"`compatible`\" pulumi-lang-java=\"`compatible`\" pulumi-lang-hcl=\"`compatible`\"\u003e`compatible`\u003c/span\u003e: all, like before, default setting that Broadcom/Atheros used\n  * `legacy-only`: disable 802.11n and 802.11ac\n  * `high-density`: no 11b, no low rates\n  * \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e: user defined\n"
                },
                "vht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 03ff 01ff 00ff limits VHT rates to MCS 0-9 for 1 stream, MCS 0-8 for 2 streams, and MCS 0-7 for 3 streams.\n"
                }
            },
            "type": "object",
            "required": [
                "eht",
                "he",
                "ht",
                "legacies",
                "minRssi",
                "template",
                "vht"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanSchedule:getWlansOrgWlanSchedule": {
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "hours": {
                    "$ref": "#/types/junipermist:org/getWlansOrgWlanScheduleHours:getWlansOrgWlanScheduleHours",
                    "description": "Days/Hours of operation filter, the available days (mon, tue, wed, thu, fri, sat, sun)\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "hours"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlansOrgWlanScheduleHours:getWlansOrgWlanScheduleHours": {
            "properties": {
                "fri": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "mon": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "sat": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "sun": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "thu": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "tue": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "wed": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                }
            },
            "type": "object",
            "required": [
                "fri",
                "mon",
                "sat",
                "sun",
                "thu",
                "tue",
                "wed"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWlantemplatesOrgWlantemplate:getWlantemplatesOrgWlantemplate": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "id",
                "modifiedTime",
                "name",
                "orgId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWxtagsOrgWxtag:getWxtagsOrgWxtag": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "lastIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\" pulumi-lang-hcl=\"`client`\"\u003e`client`\u003c/span\u003e, Client MAC Address\n"
                },
                "match": {
                    "type": "string",
                    "description": "required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`apId`\" pulumi-lang-dotnet=\"`ApId`\" pulumi-lang-go=\"`apId`\" pulumi-lang-python=\"`ap_id`\" pulumi-lang-yaml=\"`apId`\" pulumi-lang-java=\"`apId`\" pulumi-lang-hcl=\"`ap_id`\"\u003e`apId`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\" pulumi-lang-hcl=\"`app`\"\u003e`app`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`assetMac`\" pulumi-lang-dotnet=\"`AssetMac`\" pulumi-lang-go=\"`assetMac`\" pulumi-lang-python=\"`asset_mac`\" pulumi-lang-yaml=\"`assetMac`\" pulumi-lang-java=\"`assetMac`\" pulumi-lang-hcl=\"`asset_mac`\"\u003e`assetMac`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clientMac`\" pulumi-lang-dotnet=\"`ClientMac`\" pulumi-lang-go=\"`clientMac`\" pulumi-lang-python=\"`client_mac`\" pulumi-lang-yaml=\"`clientMac`\" pulumi-lang-java=\"`clientMac`\" pulumi-lang-hcl=\"`client_mac`\"\u003e`clientMac`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\" pulumi-lang-hcl=\"`hostname`\"\u003e`hostname`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipRangeSubnet`\" pulumi-lang-dotnet=\"`IpRangeSubnet`\" pulumi-lang-go=\"`ipRangeSubnet`\" pulumi-lang-python=\"`ip_range_subnet`\" pulumi-lang-yaml=\"`ipRangeSubnet`\" pulumi-lang-java=\"`ipRangeSubnet`\" pulumi-lang-hcl=\"`ip_range_subnet`\"\u003e`ipRangeSubnet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\" pulumi-lang-hcl=\"`port`\"\u003e`port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pskName`\" pulumi-lang-dotnet=\"`PskName`\" pulumi-lang-go=\"`pskName`\" pulumi-lang-python=\"`psk_name`\" pulumi-lang-yaml=\"`pskName`\" pulumi-lang-java=\"`pskName`\" pulumi-lang-hcl=\"`psk_name`\"\u003e`pskName`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pskRole`\" pulumi-lang-dotnet=\"`PskRole`\" pulumi-lang-go=\"`pskRole`\" pulumi-lang-python=\"`psk_role`\" pulumi-lang-yaml=\"`pskRole`\" pulumi-lang-java=\"`pskRole`\" pulumi-lang-hcl=\"`psk_role`\"\u003e`pskRole`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusAttr`\" pulumi-lang-dotnet=\"`RadiusAttr`\" pulumi-lang-go=\"`radiusAttr`\" pulumi-lang-python=\"`radius_attr`\" pulumi-lang-yaml=\"`radiusAttr`\" pulumi-lang-java=\"`radiusAttr`\" pulumi-lang-hcl=\"`radius_attr`\"\u003e`radiusAttr`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusClass`\" pulumi-lang-dotnet=\"`RadiusClass`\" pulumi-lang-go=\"`radiusClass`\" pulumi-lang-python=\"`radius_class`\" pulumi-lang-yaml=\"`radiusClass`\" pulumi-lang-java=\"`radiusClass`\" pulumi-lang-hcl=\"`radius_class`\"\u003e`radiusClass`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusUsername`\" pulumi-lang-dotnet=\"`RadiusUsername`\" pulumi-lang-go=\"`radiusUsername`\" pulumi-lang-python=\"`radius_username`\" pulumi-lang-yaml=\"`radiusUsername`\" pulumi-lang-java=\"`radiusUsername`\" pulumi-lang-hcl=\"`radius_username`\"\u003e`radiusUsername`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sdkclientUuid`\" pulumi-lang-dotnet=\"`SdkclientUuid`\" pulumi-lang-go=\"`sdkclientUuid`\" pulumi-lang-python=\"`sdkclient_uuid`\" pulumi-lang-yaml=\"`sdkclientUuid`\" pulumi-lang-java=\"`sdkclientUuid`\" pulumi-lang-hcl=\"`sdkclient_uuid`\"\u003e`sdkclientUuid`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wlanId`\" pulumi-lang-dotnet=\"`WlanId`\" pulumi-lang-go=\"`wlanId`\" pulumi-lang-python=\"`wlan_id`\" pulumi-lang-yaml=\"`wlanId`\" pulumi-lang-java=\"`wlanId`\" pulumi-lang-hcl=\"`wlan_id`\"\u003e`wlanId`\u003c/span\u003e\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name\n"
                },
                "op": {
                    "type": "string",
                    "description": "required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e, type of tag (inclusive/exclusive). enum: \u003cspan pulumi-lang-nodejs=\"`in`\" pulumi-lang-dotnet=\"`In`\" pulumi-lang-go=\"`in`\" pulumi-lang-python=\"`in`\" pulumi-lang-yaml=\"`in`\" pulumi-lang-java=\"`in`\" pulumi-lang-hcl=\"`in`\"\u003e`in`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notIn`\" pulumi-lang-dotnet=\"`NotIn`\" pulumi-lang-go=\"`notIn`\" pulumi-lang-python=\"`not_in`\" pulumi-lang-yaml=\"`notIn`\" pulumi-lang-java=\"`notIn`\" pulumi-lang-hcl=\"`not_in`\"\u003e`notIn`\u003c/span\u003e\n"
                },
                "orgId": {
                    "type": "string"
                },
                "resourceMac": {
                    "type": "string"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "siteId": {
                    "type": "string"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/getWxtagsOrgWxtagSpec:getWxtagsOrgWxtagSpec"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`spec`\" pulumi-lang-dotnet=\"`Spec`\" pulumi-lang-go=\"`spec`\" pulumi-lang-python=\"`spec`\" pulumi-lang-yaml=\"`spec`\" pulumi-lang-java=\"`spec`\" pulumi-lang-hcl=\"`spec`\"\u003e`spec`\u003c/span\u003e\n"
                },
                "subnet": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\" pulumi-lang-hcl=\"`client`\"\u003e`client`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\" pulumi-lang-hcl=\"`resource`\"\u003e`resource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`spec`\" pulumi-lang-dotnet=\"`Spec`\" pulumi-lang-go=\"`spec`\" pulumi-lang-python=\"`spec`\" pulumi-lang-yaml=\"`spec`\" pulumi-lang-java=\"`spec`\" pulumi-lang-hcl=\"`spec`\"\u003e`spec`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e and\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`apId`\" pulumi-lang-dotnet=\"`ApId`\" pulumi-lang-go=\"`apId`\" pulumi-lang-python=\"`ap_id`\" pulumi-lang-yaml=\"`apId`\" pulumi-lang-java=\"`apId`\" pulumi-lang-hcl=\"`ap_id`\"\u003e`apId`\u003c/span\u003e: list of AP IDs\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\" pulumi-lang-hcl=\"`app`\"\u003e`app`\u003c/span\u003e: list of Application Names\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`assetMac`\" pulumi-lang-dotnet=\"`AssetMac`\" pulumi-lang-go=\"`assetMac`\" pulumi-lang-python=\"`asset_mac`\" pulumi-lang-yaml=\"`assetMac`\" pulumi-lang-java=\"`assetMac`\" pulumi-lang-hcl=\"`asset_mac`\"\u003e`assetMac`\u003c/span\u003e: list of Asset MAC Addresses\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientMac`\" pulumi-lang-dotnet=\"`ClientMac`\" pulumi-lang-go=\"`clientMac`\" pulumi-lang-python=\"`client_mac`\" pulumi-lang-yaml=\"`clientMac`\" pulumi-lang-java=\"`clientMac`\" pulumi-lang-hcl=\"`client_mac`\"\u003e`clientMac`\u003c/span\u003e: list of Client MAC Addresses\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\" pulumi-lang-hcl=\"`hostname`\"\u003e`hostname`\u003c/span\u003e: list of Resources Hostnames\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ipRangeSubnet`\" pulumi-lang-dotnet=\"`IpRangeSubnet`\" pulumi-lang-go=\"`ipRangeSubnet`\" pulumi-lang-python=\"`ip_range_subnet`\" pulumi-lang-yaml=\"`ipRangeSubnet`\" pulumi-lang-java=\"`ipRangeSubnet`\" pulumi-lang-hcl=\"`ip_range_subnet`\"\u003e`ipRangeSubnet`\u003c/span\u003e: list of IP Addresses and/or CIDRs\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pskName`\" pulumi-lang-dotnet=\"`PskName`\" pulumi-lang-go=\"`pskName`\" pulumi-lang-python=\"`psk_name`\" pulumi-lang-yaml=\"`pskName`\" pulumi-lang-java=\"`pskName`\" pulumi-lang-hcl=\"`psk_name`\"\u003e`pskName`\u003c/span\u003e: list of PSK Names\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pskRole`\" pulumi-lang-dotnet=\"`PskRole`\" pulumi-lang-go=\"`pskRole`\" pulumi-lang-python=\"`psk_role`\" pulumi-lang-yaml=\"`pskRole`\" pulumi-lang-java=\"`pskRole`\" pulumi-lang-hcl=\"`psk_role`\"\u003e`pskRole`\u003c/span\u003e: list of PSK Roles\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\" pulumi-lang-hcl=\"`port`\"\u003e`port`\u003c/span\u003e: list of Ports or Port Ranges\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusAttr`\" pulumi-lang-dotnet=\"`RadiusAttr`\" pulumi-lang-go=\"`radiusAttr`\" pulumi-lang-python=\"`radius_attr`\" pulumi-lang-yaml=\"`radiusAttr`\" pulumi-lang-java=\"`radiusAttr`\" pulumi-lang-hcl=\"`radius_attr`\"\u003e`radiusAttr`\u003c/span\u003e: list of RADIUS Attributes. The values are [ \"6=1\", \"26=10.2.3.4\" ], this support other RADIUS attributes where we know the type\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusClass`\" pulumi-lang-dotnet=\"`RadiusClass`\" pulumi-lang-go=\"`radiusClass`\" pulumi-lang-python=\"`radius_class`\" pulumi-lang-yaml=\"`radiusClass`\" pulumi-lang-java=\"`radiusClass`\" pulumi-lang-hcl=\"`radius_class`\"\u003e`radiusClass`\u003c/span\u003e: list of RADIUS Classes. This matches the ATTR-Class(25)\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e: list of RADIUS Groups. This is a smart tag that matches RADIUS-Filter-ID, Airespace-ACL-Name (VendorID=14179, VendorType=6) / Aruba-User-Role (VendorID=14823, VendorType=1)\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusUsername`\" pulumi-lang-dotnet=\"`RadiusUsername`\" pulumi-lang-go=\"`radiusUsername`\" pulumi-lang-python=\"`radius_username`\" pulumi-lang-yaml=\"`radiusUsername`\" pulumi-lang-java=\"`radiusUsername`\" pulumi-lang-hcl=\"`radius_username`\"\u003e`radiusUsername`\u003c/span\u003e: list of RADIUS Usernames. This matches the ATTR-User-Name(1)\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sdkclientUuid`\" pulumi-lang-dotnet=\"`SdkclientUuid`\" pulumi-lang-go=\"`sdkclientUuid`\" pulumi-lang-python=\"`sdkclient_uuid`\" pulumi-lang-yaml=\"`sdkclientUuid`\" pulumi-lang-java=\"`sdkclientUuid`\" pulumi-lang-hcl=\"`sdkclient_uuid`\"\u003e`sdkclientUuid`\u003c/span\u003e: list of SDK UUIDs\n  * \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wlanId`\" pulumi-lang-dotnet=\"`WlanId`\" pulumi-lang-go=\"`wlanId`\" pulumi-lang-python=\"`wlan_id`\" pulumi-lang-yaml=\"`wlanId`\" pulumi-lang-java=\"`wlanId`\" pulumi-lang-hcl=\"`wlan_id`\"\u003e`wlanId`\u003c/span\u003e: list of WLAN IDs\n\n**Notes**:\nVariables are not allowed\n"
                },
                "vlanId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "id",
                "lastIps",
                "mac",
                "match",
                "modifiedTime",
                "name",
                "op",
                "orgId",
                "resourceMac",
                "services",
                "siteId",
                "specs",
                "subnet",
                "type",
                "values",
                "vlanId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:org/getWxtagsOrgWxtagSpec:getWxtagsOrgWxtagSpec": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Matched destination port, \"0\" means any\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "tcp / udp / icmp / gre / any / \":protocol_number\", \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Matched destination subnets and/or IP Addresses\n"
                }
            },
            "type": "object",
            "required": [
                "portRange",
                "protocol",
                "subnets"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/EvpnTopologyEvpnOptions:EvpnTopologyEvpnOptions": {
            "properties": {
                "autoLoopbackSubnet": {
                    "type": "string",
                    "description": "Optional, for dhcp_relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server_id-overrides\n"
                },
                "autoLoopbackSubnet6": {
                    "type": "string",
                    "description": "Optional, for dhcp_relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server_id-overrides\n"
                },
                "autoRouterIdSubnet": {
                    "type": "string",
                    "description": "Optional, this generates\u003cspan pulumi-lang-nodejs=\" routerId \" pulumi-lang-dotnet=\" RouterId \" pulumi-lang-go=\" routerId \" pulumi-lang-python=\" router_id \" pulumi-lang-yaml=\" routerId \" pulumi-lang-java=\" routerId \" pulumi-lang-hcl=\" router_id \"\u003e routerId \u003c/span\u003eautomatically, if specified, \u003cspan pulumi-lang-nodejs=\"`routerIdPrefix`\" pulumi-lang-dotnet=\"`RouterIdPrefix`\" pulumi-lang-go=\"`routerIdPrefix`\" pulumi-lang-python=\"`router_id_prefix`\" pulumi-lang-yaml=\"`routerIdPrefix`\" pulumi-lang-java=\"`routerIdPrefix`\" pulumi-lang-hcl=\"`router_id_prefix`\"\u003e`routerIdPrefix`\u003c/span\u003e is ignored\n"
                },
                "autoRouterIdSubnet6": {
                    "type": "string",
                    "description": "Optional, this generates\u003cspan pulumi-lang-nodejs=\" routerId \" pulumi-lang-dotnet=\" RouterId \" pulumi-lang-go=\" routerId \" pulumi-lang-python=\" router_id \" pulumi-lang-yaml=\" routerId \" pulumi-lang-java=\" routerId \" pulumi-lang-hcl=\" router_id \"\u003e routerId \u003c/span\u003eautomatically, if specified, \u003cspan pulumi-lang-nodejs=\"`routerIdPrefix`\" pulumi-lang-dotnet=\"`RouterIdPrefix`\" pulumi-lang-go=\"`routerIdPrefix`\" pulumi-lang-python=\"`router_id_prefix`\" pulumi-lang-yaml=\"`routerIdPrefix`\" pulumi-lang-java=\"`routerIdPrefix`\" pulumi-lang-hcl=\"`router_id_prefix`\"\u003e`routerIdPrefix`\u003c/span\u003e is ignored\n"
                },
                "coreAsBorder": {
                    "type": "boolean",
                    "description": "Optional, for ERB or CLOS, you can either use esilag to upstream routers or to also be the virtual-gateway. When \u003cspan pulumi-lang-nodejs=\"`routedAt`\" pulumi-lang-dotnet=\"`RoutedAt`\" pulumi-lang-go=\"`routedAt`\" pulumi-lang-python=\"`routed_at`\" pulumi-lang-yaml=\"`routedAt`\" pulumi-lang-java=\"`routedAt`\" pulumi-lang-hcl=\"`routed_at`\"\u003e`routedAt`\u003c/span\u003e != \u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e, whether to do virtual-gateway at core as well\n"
                },
                "enableInbandMgmt": {
                    "type": "boolean",
                    "description": "Whether to route management traffic inband; routes will be propagated to downstream switches\n"
                },
                "enableInbandZtp": {
                    "type": "boolean",
                    "description": "if the mangement traffic goes inbnd, during installation, only the border/core switches are connected to the Internet to allow initial configuration to be pushed down and leave the downstream access switches stay in the Factory Default state enabling inband-ztp allows upstream switches to use LLDP to assign IP and gives Internet to downstream switches in that state\n"
                },
                "overlay": {
                    "$ref": "#/types/junipermist:site/EvpnTopologyEvpnOptionsOverlay:EvpnTopologyEvpnOptionsOverlay",
                    "description": "EVPN overlay BGP settings for the topology\n"
                },
                "perVlanVgaV4Mac": {
                    "type": "boolean",
                    "description": "Only for by Core-Distribution architecture when `evpn_options.routed_at`==\u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e. By default, JUNOS uses 00-00-5e-00-01-01 as the virtual-gateway-address's v4_mac. If enabled, 00-00-5e-00-0X-YY will be used (where XX=vlan_id/256, YY=vlan_id%256)\n"
                },
                "perVlanVgaV6Mac": {
                    "type": "boolean",
                    "description": "Only for by Core-Distribution architecture when `evpn_options.routed_at`==\u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e. By default, JUNOS uses 00-00-5e-00-02-01 as the virtual-gateway-address's v6_mac. If enabled, 00-00-5e-00-1X-YY will be used (where XX=vlan_id/256, YY=vlan_id%256)\n"
                },
                "routedAt": {
                    "type": "string",
                    "description": "Topology tier where EVPN virtual gateway routing is placed\n"
                },
                "underlay": {
                    "$ref": "#/types/junipermist:site/EvpnTopologyEvpnOptionsUnderlay:EvpnTopologyEvpnOptionsUnderlay",
                    "description": "EVPN underlay BGP and subnet settings for the topology\n"
                },
                "vsInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/EvpnTopologyEvpnOptionsVsInstances:EvpnTopologyEvpnOptionsVsInstances"
                    },
                    "description": "Virtual-switch instance mappings used to segregate EVPN networks\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "autoLoopbackSubnet",
                        "autoLoopbackSubnet6",
                        "autoRouterIdSubnet",
                        "coreAsBorder",
                        "enableInbandZtp",
                        "perVlanVgaV4Mac",
                        "perVlanVgaV6Mac",
                        "routedAt"
                    ]
                }
            }
        },
        "junipermist:site/EvpnTopologyEvpnOptionsOverlay:EvpnTopologyEvpnOptionsOverlay": {
            "properties": {
                "as": {
                    "type": "integer",
                    "description": "Overlay BGP Local AS Number\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "as"
                    ]
                }
            }
        },
        "junipermist:site/EvpnTopologyEvpnOptionsUnderlay:EvpnTopologyEvpnOptionsUnderlay": {
            "properties": {
                "asBase": {
                    "type": "integer",
                    "description": "Underlay BGP Base AS Number\n"
                },
                "routedIdPrefix": {
                    "type": "string",
                    "description": "Prefix length used for automatically derived underlay router identifiers\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "Underlay subnet, by default, `10.255.240.0/20`, or `fd31:5700::/64` for ipv6\n"
                },
                "useIpv6": {
                    "type": "boolean",
                    "description": "If v6 is desired for underlay\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "asBase",
                        "useIpv6"
                    ]
                }
            }
        },
        "junipermist:site/EvpnTopologyEvpnOptionsVsInstances:EvpnTopologyEvpnOptionsVsInstances": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names included in this virtual-switch instance\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/EvpnTopologySwitches:EvpnTopologySwitches": {
            "properties": {
                "deviceprofileId": {
                    "type": "string",
                    "description": "Associated device profile identifier for the switch. Use the Assign Org Device Profile endpoint to assign a Device Profile to the switch.\n"
                },
                "downlinkIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP addresses used by this switch for EVPN downlinks\n"
                },
                "downlinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Switch MAC addresses connected as downlinks from this topology member\n"
                },
                "esilaglinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Switch MAC addresses connected through ESI-LAG from this topology member\n"
                },
                "evpnId": {
                    "type": "integer",
                    "description": "Topology identifier number for this EVPN switch member\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Switch MAC address used to identify the topology member\n"
                },
                "model": {
                    "type": "string",
                    "description": "Switch model for this topology member\n"
                },
                "pod": {
                    "type": "integer",
                    "description": "Optionally, for distribution / access / esilag-access, they can be placed into different pods. e.g. \n  * for CLOS, to group dist / access switches into pods\n  * for ERB/CRB, to group dist / esilag-access into pods\n"
                },
                "pods": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of pod numbers this switch participates in\n"
                },
                "role": {
                    "type": "string",
                    "description": "EVPN topology role for this switch\n"
                },
                "routerId": {
                    "type": "string",
                    "description": "Routing identifier used by this switch for EVPN routing\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Associated site for this EVPN topology switch\n"
                },
                "suggestedDownlinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Builder-suggested downlink switch MAC addresses\n"
                },
                "suggestedEsilaglinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Builder-suggested ESI-LAG switch MAC addresses\n"
                },
                "suggestedUplinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Builder-suggested uplink switch MAC addresses\n"
                },
                "uplinks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Switch MAC addresses connected as uplinks from this topology member\n"
                }
            },
            "type": "object",
            "required": [
                "role"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "deviceprofileId",
                        "downlinkIps",
                        "downlinks",
                        "esilaglinks",
                        "evpnId",
                        "mac",
                        "model",
                        "pod",
                        "pods",
                        "role",
                        "routerId",
                        "siteId",
                        "suggestedDownlinks",
                        "suggestedEsilaglinks",
                        "suggestedUplinks",
                        "uplinks"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateAclPolicy:NetworktemplateAclPolicy": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateAclPolicyAction:NetworktemplateAclPolicyAction"
                    },
                    "description": "ACL Policy Actions:\n  - for GBP-based policy, all\u003cspan pulumi-lang-nodejs=\" srcTags \" pulumi-lang-dotnet=\" SrcTags \" pulumi-lang-go=\" srcTags \" pulumi-lang-python=\" src_tags \" pulumi-lang-yaml=\" srcTags \" pulumi-lang-java=\" srcTags \" pulumi-lang-hcl=\" src_tags \"\u003e srcTags \u003c/span\u003eand\u003cspan pulumi-lang-nodejs=\" dstTags \" pulumi-lang-dotnet=\" DstTags \" pulumi-lang-go=\" dstTags \" pulumi-lang-python=\" dst_tags \" pulumi-lang-yaml=\" dstTags \" pulumi-lang-java=\" dstTags \" pulumi-lang-hcl=\" dst_tags \"\u003e dstTags \u003c/span\u003ehave to be gbp-based\n  - for ACL-based policy, \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e is required in either the source or destination so that we know where to attach the policy to\n"
                },
                "name": {
                    "type": "string"
                },
                "srcTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "ACL Policy Source Tags:\n  - for GBP-based policy, all\u003cspan pulumi-lang-nodejs=\" srcTags \" pulumi-lang-dotnet=\" SrcTags \" pulumi-lang-go=\" srcTags \" pulumi-lang-python=\" src_tags \" pulumi-lang-yaml=\" srcTags \" pulumi-lang-java=\" srcTags \" pulumi-lang-hcl=\" src_tags \"\u003e srcTags \u003c/span\u003eand\u003cspan pulumi-lang-nodejs=\" dstTags \" pulumi-lang-dotnet=\" DstTags \" pulumi-lang-go=\" dstTags \" pulumi-lang-python=\" dst_tags \" pulumi-lang-yaml=\" dstTags \" pulumi-lang-java=\" dstTags \" pulumi-lang-hcl=\" dst_tags \"\u003e dstTags \u003c/span\u003ehave to be gbp-based\n  - for ACL-based policy, \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e is required in either the source or destination so that we know where to attach the policy to\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateAclPolicyAction:NetworktemplateAclPolicyAction": {
            "properties": {
                "action": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\" pulumi-lang-hcl=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\" pulumi-lang-hcl=\"`deny`\"\u003e`deny`\u003c/span\u003e\n"
                },
                "dstTag": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "dstTag"
            ]
        },
        "junipermist:site/NetworktemplateAclTags:NetworktemplateAclTags": {
            "properties": {
                "etherTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "ARP / IPv6. Default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e\n"
                },
                "gbpTag": {
                    "type": "integer",
                    "description": "Required if\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamicGbp`\" pulumi-lang-dotnet=\"`DynamicGbp`\" pulumi-lang-go=\"`dynamicGbp`\" pulumi-lang-python=\"`dynamic_gbp`\" pulumi-lang-yaml=\"`dynamicGbp`\" pulumi-lang-java=\"`dynamicGbp`\" pulumi-lang-hcl=\"`dynamic_gbp`\"\u003e`dynamicGbp`\u003c/span\u003e (gbp_tag received from RADIUS)\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gbpResource`\" pulumi-lang-dotnet=\"`GbpResource`\" pulumi-lang-go=\"`gbpResource`\" pulumi-lang-python=\"`gbp_resource`\" pulumi-lang-yaml=\"`gbpResource`\" pulumi-lang-java=\"`gbpResource`\" pulumi-lang-hcl=\"`gbp_resource`\"\u003e`gbpResource`\u003c/span\u003e\n  - \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e (applying gbp tag against matching conditions)\n"
                },
                "macs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required if \n- \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\" pulumi-lang-hcl=\"`mac`\"\u003e`mac`\u003c/span\u003e\n- \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e if from matching mac\n"
                },
                "network": {
                    "type": "string",
                    "description": "If:\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\" pulumi-lang-hcl=\"`mac`\"\u003e`mac`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\" pulumi-lang-hcl=\"`resource`\"\u003e`resource`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e if from matching network (vlan)\n"
                },
                "portUsage": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`portUsage`\" pulumi-lang-dotnet=\"`PortUsage`\" pulumi-lang-go=\"`portUsage`\" pulumi-lang-python=\"`port_usage`\" pulumi-lang-yaml=\"`portUsage`\" pulumi-lang-java=\"`portUsage`\" pulumi-lang-hcl=\"`port_usage`\"\u003e`portUsage`\u003c/span\u003e\n"
                },
                "radiusGroup": {
                    "type": "string",
                    "description": "Required if:\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e\nif from matching radius_group\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateAclTagsSpec:NetworktemplateAclTagsSpec"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\" pulumi-lang-hcl=\"`resource`\"\u003e`resource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`portUsage`\" pulumi-lang-dotnet=\"`PortUsage`\" pulumi-lang-go=\"`portUsage`\" pulumi-lang-python=\"`port_usage`\" pulumi-lang-yaml=\"`portUsage`\" pulumi-lang-java=\"`portUsage`\" pulumi-lang-hcl=\"`port_usage`\"\u003e`portUsage`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gbpResource`\" pulumi-lang-dotnet=\"`GbpResource`\" pulumi-lang-go=\"`gbpResource`\" pulumi-lang-python=\"`gbp_resource`\" pulumi-lang-yaml=\"`gbpResource`\" pulumi-lang-java=\"`gbpResource`\" pulumi-lang-hcl=\"`gbp_resource`\"\u003e`gbpResource`\u003c/span\u003e. Empty means unrestricted, i.e. any\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \n- \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e \n- \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\" pulumi-lang-hcl=\"`resource`\"\u003e`resource`\u003c/span\u003e (optional. default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e)\n- \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e if from matching subnet\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \n  * \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e: matching anything not identified\n  * \u003cspan pulumi-lang-nodejs=\"`dynamicGbp`\" pulumi-lang-dotnet=\"`DynamicGbp`\" pulumi-lang-go=\"`dynamicGbp`\" pulumi-lang-python=\"`dynamic_gbp`\" pulumi-lang-yaml=\"`dynamicGbp`\" pulumi-lang-java=\"`dynamicGbp`\" pulumi-lang-hcl=\"`dynamic_gbp`\"\u003e`dynamicGbp`\u003c/span\u003e: from the\u003cspan pulumi-lang-nodejs=\" gbpTag \" pulumi-lang-dotnet=\" GbpTag \" pulumi-lang-go=\" gbpTag \" pulumi-lang-python=\" gbp_tag \" pulumi-lang-yaml=\" gbpTag \" pulumi-lang-java=\" gbpTag \" pulumi-lang-hcl=\" gbp_tag \"\u003e gbpTag \u003c/span\u003ereceived from RADIUS\n  * \u003cspan pulumi-lang-nodejs=\"`gbpResource`\" pulumi-lang-dotnet=\"`GbpResource`\" pulumi-lang-go=\"`gbpResource`\" pulumi-lang-python=\"`gbp_resource`\" pulumi-lang-yaml=\"`gbpResource`\" pulumi-lang-java=\"`gbpResource`\" pulumi-lang-hcl=\"`gbp_resource`\"\u003e`gbpResource`\u003c/span\u003e: can only be used in \u003cspan pulumi-lang-nodejs=\"`dstTags`\" pulumi-lang-dotnet=\"`DstTags`\" pulumi-lang-go=\"`dstTags`\" pulumi-lang-python=\"`dst_tags`\" pulumi-lang-yaml=\"`dstTags`\" pulumi-lang-java=\"`dstTags`\" pulumi-lang-hcl=\"`dst_tags`\"\u003e`dstTags`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\" pulumi-lang-hcl=\"`mac`\"\u003e`mac`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`portUsage`\" pulumi-lang-dotnet=\"`PortUsage`\" pulumi-lang-go=\"`portUsage`\" pulumi-lang-python=\"`port_usage`\" pulumi-lang-yaml=\"`portUsage`\" pulumi-lang-java=\"`portUsage`\" pulumi-lang-hcl=\"`port_usage`\"\u003e`portUsage`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\" pulumi-lang-hcl=\"`resource`\"\u003e`resource`\u003c/span\u003e: can only be used in \u003cspan pulumi-lang-nodejs=\"`dstTags`\" pulumi-lang-dotnet=\"`DstTags`\" pulumi-lang-go=\"`dstTags`\" pulumi-lang-python=\"`dst_tags`\" pulumi-lang-yaml=\"`dstTags`\" pulumi-lang-java=\"`dstTags`\" pulumi-lang-hcl=\"`dst_tags`\"\u003e`dstTags`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`staticGbp`\" pulumi-lang-dotnet=\"`StaticGbp`\" pulumi-lang-go=\"`staticGbp`\" pulumi-lang-python=\"`static_gbp`\" pulumi-lang-yaml=\"`staticGbp`\" pulumi-lang-java=\"`staticGbp`\" pulumi-lang-hcl=\"`static_gbp`\"\u003e`staticGbp`\u003c/span\u003e: applying gbp tag against matching conditions\n  * \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\" pulumi-lang-hcl=\"`subnet`\"\u003e`subnet`\u003c/span\u003e'\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "junipermist:site/NetworktemplateAclTagsSpec:NetworktemplateAclTagsSpec": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Matched dst port, \"0\" means any\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\" pulumi-lang-hcl=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`gre`\" pulumi-lang-dotnet=\"`Gre`\" pulumi-lang-go=\"`gre`\" pulumi-lang-python=\"`gre`\" pulumi-lang-yaml=\"`gre`\" pulumi-lang-java=\"`gre`\" pulumi-lang-hcl=\"`gre`\"\u003e`gre`\u003c/span\u003e / \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e / `:protocol_number`, \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254, default is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateDhcpSnooping:NetworktemplateDhcpSnooping": {
            "properties": {
                "allNetworks": {
                    "type": "boolean"
                },
                "enableArpSpoofCheck": {
                    "type": "boolean",
                    "description": "Enable for dynamic ARP inspection check\n"
                },
                "enableIpSourceGuard": {
                    "type": "boolean",
                    "description": "Enable for check for forging source IP address\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`allNetworks`\" pulumi-lang-dotnet=\"`AllNetworks`\" pulumi-lang-go=\"`allNetworks`\" pulumi-lang-python=\"`all_networks`\" pulumi-lang-yaml=\"`allNetworks`\" pulumi-lang-java=\"`allNetworks`\" pulumi-lang-hcl=\"`all_networks`\"\u003e`allNetworks`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, list of network with DHCP snooping enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateExtraRoutes6:NetworktemplateExtraRoutes6": {
            "properties": {
                "discard": {
                    "type": "boolean",
                    "description": "This takes precedence\n"
                },
                "metric": {
                    "type": "integer"
                },
                "nextQualified": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateExtraRoutes6NextQualified:NetworktemplateExtraRoutes6NextQualified"
                    }
                },
                "noResolve": {
                    "type": "boolean"
                },
                "preference": {
                    "type": "integer"
                },
                "via": {
                    "type": "string",
                    "description": "Next-hop IP Address. Can be a single IP address or an array of IP addresses for ECMP (Equal-Cost Multi-Path) load balancing across multiple next-hops.\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:site/NetworktemplateExtraRoutes6NextQualified:NetworktemplateExtraRoutes6NextQualified": {
            "properties": {
                "metric": {
                    "type": "integer"
                },
                "preference": {
                    "type": "integer"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateExtraRoutes:NetworktemplateExtraRoutes": {
            "properties": {
                "discard": {
                    "type": "boolean",
                    "description": "This takes precedence\n"
                },
                "metric": {
                    "type": "integer"
                },
                "nextQualified": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateExtraRoutesNextQualified:NetworktemplateExtraRoutesNextQualified"
                    }
                },
                "noResolve": {
                    "type": "boolean"
                },
                "preference": {
                    "type": "integer"
                },
                "via": {
                    "type": "string",
                    "description": "Next-hop IP Address. Can be a single IP address or an array of IP addresses for ECMP (Equal-Cost Multi-Path) load balancing across multiple next-hops.\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:site/NetworktemplateExtraRoutesNextQualified:NetworktemplateExtraRoutesNextQualified": {
            "properties": {
                "metric": {
                    "type": "integer"
                },
                "preference": {
                    "type": "integer"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateMistNac:NetworktemplateMistNac": {
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "network": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateNetworks:NetworktemplateNetworks": {
            "properties": {
                "gateway": {
                    "type": "string",
                    "description": "Only required for EVPN-VXLAN networks, IPv4 Virtual Gateway\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "Only required for EVPN-VXLAN networks, IPv6 Virtual Gateway\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "whether to stop clients to talk to each other, default is false (when enabled, a unique\u003cspan pulumi-lang-nodejs=\" isolationVlanId \" pulumi-lang-dotnet=\" IsolationVlanId \" pulumi-lang-go=\" isolationVlanId \" pulumi-lang-python=\" isolation_vlan_id \" pulumi-lang-yaml=\" isolationVlanId \" pulumi-lang-java=\" isolationVlanId \" pulumi-lang-hcl=\" isolation_vlan_id \"\u003e isolationVlanId \u003c/span\u003eis required). NOTE: this features requires uplink device to also a be Juniper device and \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e to be set. See also \u003cspan pulumi-lang-nodejs=\"`interIsolationNetworkLink`\" pulumi-lang-dotnet=\"`InterIsolationNetworkLink`\" pulumi-lang-go=\"`interIsolationNetworkLink`\" pulumi-lang-python=\"`inter_isolation_network_link`\" pulumi-lang-yaml=\"`interIsolationNetworkLink`\" pulumi-lang-java=\"`interIsolationNetworkLink`\" pulumi-lang-hcl=\"`inter_isolation_network_link`\"\u003e`interIsolationNetworkLink`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`communityVlanId`\" pulumi-lang-dotnet=\"`CommunityVlanId`\" pulumi-lang-go=\"`communityVlanId`\" pulumi-lang-python=\"`community_vlan_id`\" pulumi-lang-yaml=\"`communityVlanId`\" pulumi-lang-java=\"`communityVlanId`\" pulumi-lang-hcl=\"`community_vlan_id`\"\u003e`communityVlanId`\u003c/span\u003e in port_usage\n"
                },
                "isolationVlanId": {
                    "type": "string"
                },
                "subnet": {
                    "type": "string",
                    "description": "Optional for pure switching, required when L3 / routing features are used\n"
                },
                "subnet6": {
                    "type": "string",
                    "description": "Optional for pure switching, required when L3 / routing features are used\n"
                },
                "vlanId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "vlanId"
            ]
        },
        "junipermist:site/NetworktemplateOspfAreas:NetworktemplateOspfAreas": {
            "properties": {
                "includeLoopback": {
                    "type": "boolean"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateOspfAreasNetworks:NetworktemplateOspfAreasNetworks"
                    }
                },
                "type": {
                    "type": "string",
                    "description": "OSPF type. enum: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`nssa`\" pulumi-lang-dotnet=\"`Nssa`\" pulumi-lang-go=\"`nssa`\" pulumi-lang-python=\"`nssa`\" pulumi-lang-yaml=\"`nssa`\" pulumi-lang-java=\"`nssa`\" pulumi-lang-hcl=\"`nssa`\"\u003e`nssa`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stub`\" pulumi-lang-dotnet=\"`Stub`\" pulumi-lang-go=\"`stub`\" pulumi-lang-python=\"`stub`\" pulumi-lang-yaml=\"`stub`\" pulumi-lang-java=\"`stub`\" pulumi-lang-hcl=\"`stub`\"\u003e`stub`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "networks"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "includeLoopback",
                        "networks",
                        "type"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateOspfAreasNetworks:NetworktemplateOspfAreasNetworks": {
            "properties": {
                "authKeys": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\" pulumi-lang-hcl=\"`md5`\"\u003e`md5`\u003c/span\u003e. Property key is the key number\n"
                },
                "authPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e, the password, max length is 8\n"
                },
                "authType": {
                    "type": "string",
                    "description": "auth type. enum: \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\" pulumi-lang-hcl=\"`md5`\"\u003e`md5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e\n"
                },
                "bfdMinimumInterval": {
                    "type": "integer"
                },
                "deadInterval": {
                    "type": "integer"
                },
                "exportPolicy": {
                    "type": "string"
                },
                "helloInterval": {
                    "type": "integer"
                },
                "importPolicy": {
                    "type": "string"
                },
                "interfaceType": {
                    "type": "string",
                    "description": "interface type (nbma = non-broadcast multi-access). enum: \u003cspan pulumi-lang-nodejs=\"`broadcast`\" pulumi-lang-dotnet=\"`Broadcast`\" pulumi-lang-go=\"`broadcast`\" pulumi-lang-python=\"`broadcast`\" pulumi-lang-yaml=\"`broadcast`\" pulumi-lang-java=\"`broadcast`\" pulumi-lang-hcl=\"`broadcast`\"\u003e`broadcast`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`nbma`\" pulumi-lang-dotnet=\"`Nbma`\" pulumi-lang-go=\"`nbma`\" pulumi-lang-python=\"`nbma`\" pulumi-lang-yaml=\"`nbma`\" pulumi-lang-java=\"`nbma`\" pulumi-lang-hcl=\"`nbma`\"\u003e`nbma`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`p2mp`\" pulumi-lang-dotnet=\"`P2mp`\" pulumi-lang-go=\"`p2mp`\" pulumi-lang-python=\"`p2mp`\" pulumi-lang-yaml=\"`p2mp`\" pulumi-lang-java=\"`p2mp`\" pulumi-lang-hcl=\"`p2mp`\"\u003e`p2mp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`p2p`\" pulumi-lang-dotnet=\"`P2p`\" pulumi-lang-go=\"`p2p`\" pulumi-lang-python=\"`p2p`\" pulumi-lang-yaml=\"`p2p`\" pulumi-lang-java=\"`p2p`\" pulumi-lang-hcl=\"`p2p`\"\u003e`p2p`\u003c/span\u003e\n"
                },
                "metric": {
                    "type": "integer"
                },
                "noReadvertiseToOverlay": {
                    "type": "boolean",
                    "description": "By default, we'll re-advertise all learned OSPF routes toward overlay\n"
                },
                "passive": {
                    "type": "boolean",
                    "description": "Whether to send OSPF-Hello\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "interfaceType",
                        "passive"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplatePortMirroring:NetworktemplatePortMirroring": {
            "properties": {
                "inputNetworksIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one of the \u003cspan pulumi-lang-nodejs=\"`inputPortIdsIngress`\" pulumi-lang-dotnet=\"`InputPortIdsIngress`\" pulumi-lang-go=\"`inputPortIdsIngress`\" pulumi-lang-python=\"`input_port_ids_ingress`\" pulumi-lang-yaml=\"`inputPortIdsIngress`\" pulumi-lang-java=\"`inputPortIdsIngress`\" pulumi-lang-hcl=\"`input_port_ids_ingress`\"\u003e`inputPortIdsIngress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inputPortIdsEgress`\" pulumi-lang-dotnet=\"`InputPortIdsEgress`\" pulumi-lang-go=\"`inputPortIdsEgress`\" pulumi-lang-python=\"`input_port_ids_egress`\" pulumi-lang-yaml=\"`inputPortIdsEgress`\" pulumi-lang-java=\"`inputPortIdsEgress`\" pulumi-lang-hcl=\"`input_port_ids_egress`\"\u003e`inputPortIdsEgress`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inputNetworksIngress \" pulumi-lang-dotnet=\"`InputNetworksIngress \" pulumi-lang-go=\"`inputNetworksIngress \" pulumi-lang-python=\"`input_networks_ingress \" pulumi-lang-yaml=\"`inputNetworksIngress \" pulumi-lang-java=\"`inputNetworksIngress \" pulumi-lang-hcl=\"`input_networks_ingress \"\u003e`inputNetworksIngress \u003c/span\u003e` should be specified\n"
                },
                "inputPortIdsEgresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one of the \u003cspan pulumi-lang-nodejs=\"`inputPortIdsIngress`\" pulumi-lang-dotnet=\"`InputPortIdsIngress`\" pulumi-lang-go=\"`inputPortIdsIngress`\" pulumi-lang-python=\"`input_port_ids_ingress`\" pulumi-lang-yaml=\"`inputPortIdsIngress`\" pulumi-lang-java=\"`inputPortIdsIngress`\" pulumi-lang-hcl=\"`input_port_ids_ingress`\"\u003e`inputPortIdsIngress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inputPortIdsEgress`\" pulumi-lang-dotnet=\"`InputPortIdsEgress`\" pulumi-lang-go=\"`inputPortIdsEgress`\" pulumi-lang-python=\"`input_port_ids_egress`\" pulumi-lang-yaml=\"`inputPortIdsEgress`\" pulumi-lang-java=\"`inputPortIdsEgress`\" pulumi-lang-hcl=\"`input_port_ids_egress`\"\u003e`inputPortIdsEgress`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inputNetworksIngress \" pulumi-lang-dotnet=\"`InputNetworksIngress \" pulumi-lang-go=\"`inputNetworksIngress \" pulumi-lang-python=\"`input_networks_ingress \" pulumi-lang-yaml=\"`inputNetworksIngress \" pulumi-lang-java=\"`inputNetworksIngress \" pulumi-lang-hcl=\"`input_networks_ingress \"\u003e`inputNetworksIngress \u003c/span\u003e` should be specified\n"
                },
                "inputPortIdsIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one of the \u003cspan pulumi-lang-nodejs=\"`inputPortIdsIngress`\" pulumi-lang-dotnet=\"`InputPortIdsIngress`\" pulumi-lang-go=\"`inputPortIdsIngress`\" pulumi-lang-python=\"`input_port_ids_ingress`\" pulumi-lang-yaml=\"`inputPortIdsIngress`\" pulumi-lang-java=\"`inputPortIdsIngress`\" pulumi-lang-hcl=\"`input_port_ids_ingress`\"\u003e`inputPortIdsIngress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inputPortIdsEgress`\" pulumi-lang-dotnet=\"`InputPortIdsEgress`\" pulumi-lang-go=\"`inputPortIdsEgress`\" pulumi-lang-python=\"`input_port_ids_egress`\" pulumi-lang-yaml=\"`inputPortIdsEgress`\" pulumi-lang-java=\"`inputPortIdsEgress`\" pulumi-lang-hcl=\"`input_port_ids_egress`\"\u003e`inputPortIdsEgress`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inputNetworksIngress \" pulumi-lang-dotnet=\"`InputNetworksIngress \" pulumi-lang-go=\"`inputNetworksIngress \" pulumi-lang-python=\"`input_networks_ingress \" pulumi-lang-yaml=\"`inputNetworksIngress \" pulumi-lang-java=\"`inputNetworksIngress \" pulumi-lang-hcl=\"`input_networks_ingress \"\u003e`inputNetworksIngress \u003c/span\u003e` should be specified\n"
                },
                "outputIpAddress": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputNetwork": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputPortId": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "inputNetworksIngresses",
                        "inputPortIdsEgresses",
                        "inputPortIdsIngresses"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplatePortUsages:NetworktemplatePortUsages": {
            "properties": {
                "allNetworks": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e. Whether to trunk all network/vlans\n"
                },
                "allowDhcpd": {
                    "type": "boolean",
                    "description": "Only applies when \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Controls whether DHCP server traffic is allowed on ports using this configuration if DHCP snooping is enabled. This is a tri-state setting; \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: ports become trusted ports allowing DHCP server traffic, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: ports become untrusted blocking DHCP server traffic, undefined: use system defaults (access ports default to untrusted, trunk ports default to trusted).\n"
                },
                "allowMultipleSupplicants": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "bypassAuthWhenServerDown": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for known clients if set to true when RADIUS server is down\n"
                },
                "bypassAuthWhenServerDownForUnknownClient": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for all (including unknown clients) if set to true when RADIUS server is down\n"
                },
                "bypassAuthWhenServerDownForVoip": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Bypass auth for VOIP if set to true when RADIUS server is down\n"
                },
                "communityVlanId": {
                    "type": "integer",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. To be used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks. Signaling that this port connects to the networks isolated but wired clients belong to the same community can talk to each other\n"
                },
                "description": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. If speed and duplex are specified, whether to disable autonegotiation\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether the port is disabled\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Link connection mode. enum: \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`half`\" pulumi-lang-dotnet=\"`Half`\" pulumi-lang-go=\"`half`\" pulumi-lang-python=\"`half`\" pulumi-lang-yaml=\"`half`\" pulumi-lang-java=\"`half`\" pulumi-lang-hcl=\"`half`\"\u003e`half`\u003c/span\u003e\n"
                },
                "dynamicVlanNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Whether to enable MAC Auth\n"
                },
                "enableQos": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "guestNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)\n"
                },
                "interIsolationNetworkLink": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`interIsolationNetworkLink`\" pulumi-lang-dotnet=\"`InterIsolationNetworkLink`\" pulumi-lang-go=\"`interIsolationNetworkLink`\" pulumi-lang-python=\"`inter_isolation_network_link`\" pulumi-lang-yaml=\"`interIsolationNetworkLink`\" pulumi-lang-java=\"`interIsolationNetworkLink`\" pulumi-lang-hcl=\"`inter_isolation_network_link`\"\u003e`interIsolationNetworkLink`\u003c/span\u003e is used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks, signaling that this port connects to isolated networks\n"
                },
                "interSwitchLink": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e is used together with \u003cspan pulumi-lang-nodejs=\"`isolation`\" pulumi-lang-dotnet=\"`Isolation`\" pulumi-lang-go=\"`isolation`\" pulumi-lang-python=\"`isolation`\" pulumi-lang-yaml=\"`isolation`\" pulumi-lang-java=\"`isolation`\" pulumi-lang-hcl=\"`isolation`\"\u003e`isolation`\u003c/span\u003e under networks. NOTE: \u003cspan pulumi-lang-nodejs=\"`interSwitchLink`\" pulumi-lang-dotnet=\"`InterSwitchLink`\" pulumi-lang-go=\"`interSwitchLink`\" pulumi-lang-python=\"`inter_switch_link`\" pulumi-lang-yaml=\"`interSwitchLink`\" pulumi-lang-java=\"`interSwitchLink`\" pulumi-lang-hcl=\"`inter_switch_link`\"\u003e`interSwitchLink`\u003c/span\u003e works only between Juniper devices. This has to be applied to both ports connected together\n"
                },
                "macAuthOnly": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "macAuthPreferred": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`macAuthOnly`\" pulumi-lang-dotnet=\"`MacAuthOnly`\" pulumi-lang-go=\"`macAuthOnly`\" pulumi-lang-python=\"`mac_auth_only`\" pulumi-lang-yaml=\"`macAuthOnly`\" pulumi-lang-java=\"`macAuthOnly`\" pulumi-lang-hcl=\"`mac_auth_only`\"\u003e`macAuthOnly`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, dot1x will be given priority then mac_auth. Enable this to prefer\u003cspan pulumi-lang-nodejs=\" macAuth \" pulumi-lang-dotnet=\" MacAuth \" pulumi-lang-go=\" macAuth \" pulumi-lang-python=\" mac_auth \" pulumi-lang-yaml=\" macAuth \" pulumi-lang-java=\" macAuth \" pulumi-lang-hcl=\" mac_auth \"\u003e macAuth \u003c/span\u003eover dot1x.\n"
                },
                "macAuthProtocol": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e ==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. This type is ignored if\u003cspan pulumi-lang-nodejs=\" mistNac \" pulumi-lang-dotnet=\" MistNac \" pulumi-lang-go=\" mistNac \" pulumi-lang-python=\" mist_nac \" pulumi-lang-yaml=\" mistNac \" pulumi-lang-java=\" mistNac \" pulumi-lang-hcl=\" mist_nac \"\u003e mistNac \u003c/span\u003eis enabled. enum: `eap-md5`, `eap-peap`, \u003cspan pulumi-lang-nodejs=\"`pap`\" pulumi-lang-dotnet=\"`Pap`\" pulumi-lang-go=\"`pap`\" pulumi-lang-python=\"`pap`\" pulumi-lang-yaml=\"`pap`\" pulumi-lang-java=\"`pap`\" pulumi-lang-hcl=\"`pap`\"\u003e`pap`\u003c/span\u003e\n"
                },
                "macLimit": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e max number of mac addresses, default is 0 for unlimited, otherwise range is 1 to 16383 (upper bound constrained by platform)\n"
                },
                "mode": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e must only be used if the port usage name is \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\" pulumi-lang-hcl=\"`access`\"\u003e`access`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inet`\" pulumi-lang-dotnet=\"`Inet`\" pulumi-lang-go=\"`inet`\" pulumi-lang-python=\"`inet`\" pulumi-lang-yaml=\"`inet`\" pulumi-lang-java=\"`inet`\" pulumi-lang-hcl=\"`inet`\"\u003e`inet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e\n"
                },
                "mtu": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. Value between 256 and 9216, default value is 1514.\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`trunk`\" pulumi-lang-dotnet=\"`Trunk`\" pulumi-lang-go=\"`trunk`\" pulumi-lang-python=\"`trunk`\" pulumi-lang-yaml=\"`trunk`\" pulumi-lang-java=\"`trunk`\" pulumi-lang-hcl=\"`trunk`\"\u003e`trunk`\u003c/span\u003e, the list of network/vlans\n"
                },
                "persistMac": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`access`\" pulumi-lang-dotnet=\"`Access`\" pulumi-lang-go=\"`access`\" pulumi-lang-python=\"`access`\" pulumi-lang-yaml=\"`access`\" pulumi-lang-java=\"`access`\" pulumi-lang-hcl=\"`access`\"\u003e`access`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Whether the port should retain dynamically learned MAC addresses\n"
                },
                "poeDisabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether PoE capabilities are disabled for a port\n"
                },
                "poeKeepStateWhenReboot": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether Perpetual PoE is enabled; keeps PoE state across reboots\n"
                },
                "poePriority": {
                    "type": "string",
                    "description": "PoE priority. enum: \u003cspan pulumi-lang-nodejs=\"`low`\" pulumi-lang-dotnet=\"`Low`\" pulumi-lang-go=\"`low`\" pulumi-lang-python=\"`low`\" pulumi-lang-yaml=\"`low`\" pulumi-lang-java=\"`low`\" pulumi-lang-hcl=\"`low`\"\u003e`low`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\" pulumi-lang-hcl=\"`high`\"\u003e`high`\u003c/span\u003e\n"
                },
                "portAuth": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. If dot1x is desired, set to dot1x. enum: \u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e\n"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Native network/vlan for untagged traffic\n"
                },
                "reauthInterval": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e reauthentication interval range between 10 and 65535 (default: 3600)\n"
                },
                "resetDefaultWhen": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e Control when the DPC port should be changed to the default port usage. enum: \u003cspan pulumi-lang-nodejs=\"`linkDown`\" pulumi-lang-dotnet=\"`LinkDown`\" pulumi-lang-go=\"`linkDown`\" pulumi-lang-python=\"`link_down`\" pulumi-lang-yaml=\"`linkDown`\" pulumi-lang-java=\"`linkDown`\" pulumi-lang-hcl=\"`link_down`\"\u003e`linkDown`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e (let the DPC port keep at the current port usage)\n"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplatePortUsagesRule:NetworktemplatePortUsagesRule"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "serverFailNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. Sets server fail fallback vlan\n"
                },
                "serverRejectNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portAuth`\" pulumi-lang-dotnet=\"`PortAuth`\" pulumi-lang-go=\"`portAuth`\" pulumi-lang-python=\"`port_auth`\" pulumi-lang-yaml=\"`portAuth`\" pulumi-lang-java=\"`portAuth`\" pulumi-lang-hcl=\"`port_auth`\"\u003e`portAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`dot1x`\" pulumi-lang-dotnet=\"`Dot1x`\" pulumi-lang-go=\"`dot1x`\" pulumi-lang-python=\"`dot1x`\" pulumi-lang-yaml=\"`dot1x`\" pulumi-lang-java=\"`dot1x`\" pulumi-lang-hcl=\"`dot1x`\"\u003e`dot1x`\u003c/span\u003e. When radius server reject / fails\n"
                },
                "speed": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e, Port speed, default is auto to automatically negotiate speed enum: \u003cspan pulumi-lang-nodejs=\"`100m`\" pulumi-lang-dotnet=\"`100m`\" pulumi-lang-go=\"`100m`\" pulumi-lang-python=\"`100m`\" pulumi-lang-yaml=\"`100m`\" pulumi-lang-java=\"`100m`\" pulumi-lang-hcl=\"`100m`\"\u003e`100m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10m`\" pulumi-lang-dotnet=\"`10m`\" pulumi-lang-go=\"`10m`\" pulumi-lang-python=\"`10m`\" pulumi-lang-yaml=\"`10m`\" pulumi-lang-java=\"`10m`\" pulumi-lang-hcl=\"`10m`\"\u003e`10m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1g`\" pulumi-lang-dotnet=\"`1g`\" pulumi-lang-go=\"`1g`\" pulumi-lang-python=\"`1g`\" pulumi-lang-yaml=\"`1g`\" pulumi-lang-java=\"`1g`\" pulumi-lang-hcl=\"`1g`\"\u003e`1g`\u003c/span\u003e, `2.5g`, \u003cspan pulumi-lang-nodejs=\"`5g`\" pulumi-lang-dotnet=\"`5g`\" pulumi-lang-go=\"`5g`\" pulumi-lang-python=\"`5g`\" pulumi-lang-yaml=\"`5g`\" pulumi-lang-java=\"`5g`\" pulumi-lang-hcl=\"`5g`\"\u003e`5g`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10g`\" pulumi-lang-dotnet=\"`10g`\" pulumi-lang-go=\"`10g`\" pulumi-lang-python=\"`10g`\" pulumi-lang-yaml=\"`10g`\" pulumi-lang-java=\"`10g`\" pulumi-lang-hcl=\"`10g`\"\u003e`10g`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`25g`\" pulumi-lang-dotnet=\"`25g`\" pulumi-lang-go=\"`25g`\" pulumi-lang-python=\"`25g`\" pulumi-lang-yaml=\"`25g`\" pulumi-lang-java=\"`25g`\" pulumi-lang-hcl=\"`25g`\"\u003e`25g`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40g`\" pulumi-lang-dotnet=\"`40g`\" pulumi-lang-go=\"`40g`\" pulumi-lang-python=\"`40g`\" pulumi-lang-yaml=\"`40g`\" pulumi-lang-java=\"`40g`\" pulumi-lang-hcl=\"`40g`\"\u003e`40g`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`100g`\" pulumi-lang-dotnet=\"`100g`\" pulumi-lang-go=\"`100g`\" pulumi-lang-python=\"`100g`\" pulumi-lang-yaml=\"`100g`\" pulumi-lang-java=\"`100g`\" pulumi-lang-hcl=\"`100g`\"\u003e`100g`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e\n"
                },
                "stormControl": {
                    "$ref": "#/types/junipermist:site/NetworktemplatePortUsagesStormControl:NetworktemplatePortUsagesStormControl",
                    "description": "Switch storm control. Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "stpDisable": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`stpRequired`\" pulumi-lang-dotnet=\"`StpRequired`\" pulumi-lang-go=\"`stpRequired`\" pulumi-lang-python=\"`stp_required`\" pulumi-lang-yaml=\"`stpRequired`\" pulumi-lang-java=\"`stpRequired`\" pulumi-lang-hcl=\"`stp_required`\"\u003e`stpRequired`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. Drop bridge protocol data units (BPDUs ) that enter any interface or a specified interface\n"
                },
                "stpEdge": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. When enabled, the port is not expected to receive BPDU frames\n"
                },
                "stpNoRootPort": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "stpP2p": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e\n"
                },
                "stpRequired": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Whether to remain in block state if no BPDU is received\n"
                },
                "uiEvpntopoId": {
                    "type": "string",
                    "description": "Optional for Campus Fabric Core-Distribution ESI-LAG profile. Helper used by the UI to select this port profile as the ESI-Lag between Distribution and Access switches\n"
                },
                "useVstp": {
                    "type": "boolean",
                    "description": "If this is connected to a vstp network\n"
                },
                "voipNetwork": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\" pulumi-lang-hcl=\"`mode`\"\u003e`mode`\u003c/span\u003e!=\u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e. Network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "bypassAuthWhenServerDownForVoip",
                        "description",
                        "networks"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplatePortUsagesRule:NetworktemplatePortUsagesRule": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Optional description of the rule\n"
                },
                "equals": {
                    "type": "string"
                },
                "equalsAnies": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`equalsAny`\" pulumi-lang-dotnet=\"`EqualsAny`\" pulumi-lang-go=\"`equalsAny`\" pulumi-lang-python=\"`equals_any`\" pulumi-lang-yaml=\"`equalsAny`\" pulumi-lang-java=\"`equalsAny`\" pulumi-lang-hcl=\"`equals_any`\"\u003e`equalsAny`\u003c/span\u003e to match any item in a list\n"
                },
                "expression": {
                    "type": "string",
                    "description": "\"[0:3]\":\"abcdef\" \u003e \"abc\"\n\"split(.)[1]\": \"a.b.c\" \u003e \"b\"\n\"split(-)[1][0:3]: \"a1234-b5678-c90\" \u003e \"b56\"\n"
                },
                "src": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`linkPeermac`\" pulumi-lang-dotnet=\"`LinkPeermac`\" pulumi-lang-go=\"`linkPeermac`\" pulumi-lang-python=\"`link_peermac`\" pulumi-lang-yaml=\"`linkPeermac`\" pulumi-lang-java=\"`linkPeermac`\" pulumi-lang-hcl=\"`link_peermac`\"\u003e`linkPeermac`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lldpChassisId`\" pulumi-lang-dotnet=\"`LldpChassisId`\" pulumi-lang-go=\"`lldpChassisId`\" pulumi-lang-python=\"`lldp_chassis_id`\" pulumi-lang-yaml=\"`lldpChassisId`\" pulumi-lang-java=\"`lldpChassisId`\" pulumi-lang-hcl=\"`lldp_chassis_id`\"\u003e`lldpChassisId`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lldpHardwareRevision`\" pulumi-lang-dotnet=\"`LldpHardwareRevision`\" pulumi-lang-go=\"`lldpHardwareRevision`\" pulumi-lang-python=\"`lldp_hardware_revision`\" pulumi-lang-yaml=\"`lldpHardwareRevision`\" pulumi-lang-java=\"`lldpHardwareRevision`\" pulumi-lang-hcl=\"`lldp_hardware_revision`\"\u003e`lldpHardwareRevision`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lldpManufacturerName`\" pulumi-lang-dotnet=\"`LldpManufacturerName`\" pulumi-lang-go=\"`lldpManufacturerName`\" pulumi-lang-python=\"`lldp_manufacturer_name`\" pulumi-lang-yaml=\"`lldpManufacturerName`\" pulumi-lang-java=\"`lldpManufacturerName`\" pulumi-lang-hcl=\"`lldp_manufacturer_name`\"\u003e`lldpManufacturerName`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lldpOui`\" pulumi-lang-dotnet=\"`LldpOui`\" pulumi-lang-go=\"`lldpOui`\" pulumi-lang-python=\"`lldp_oui`\" pulumi-lang-yaml=\"`lldpOui`\" pulumi-lang-java=\"`lldpOui`\" pulumi-lang-hcl=\"`lldp_oui`\"\u003e`lldpOui`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lldpSerialNumber`\" pulumi-lang-dotnet=\"`LldpSerialNumber`\" pulumi-lang-go=\"`lldpSerialNumber`\" pulumi-lang-python=\"`lldp_serial_number`\" pulumi-lang-yaml=\"`lldpSerialNumber`\" pulumi-lang-java=\"`lldpSerialNumber`\" pulumi-lang-hcl=\"`lldp_serial_number`\"\u003e`lldpSerialNumber`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lldpSystemDescription`\" pulumi-lang-dotnet=\"`LldpSystemDescription`\" pulumi-lang-go=\"`lldpSystemDescription`\" pulumi-lang-python=\"`lldp_system_description`\" pulumi-lang-yaml=\"`lldpSystemDescription`\" pulumi-lang-java=\"`lldpSystemDescription`\" pulumi-lang-hcl=\"`lldp_system_description`\"\u003e`lldpSystemDescription`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lldpSystemName`\" pulumi-lang-dotnet=\"`LldpSystemName`\" pulumi-lang-go=\"`lldpSystemName`\" pulumi-lang-python=\"`lldp_system_name`\" pulumi-lang-yaml=\"`lldpSystemName`\" pulumi-lang-java=\"`lldpSystemName`\" pulumi-lang-hcl=\"`lldp_system_name`\"\u003e`lldpSystemName`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusDynamicfilter`\" pulumi-lang-dotnet=\"`RadiusDynamicfilter`\" pulumi-lang-go=\"`radiusDynamicfilter`\" pulumi-lang-python=\"`radius_dynamicfilter`\" pulumi-lang-yaml=\"`radiusDynamicfilter`\" pulumi-lang-java=\"`radiusDynamicfilter`\" pulumi-lang-hcl=\"`radius_dynamicfilter`\"\u003e`radiusDynamicfilter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusUsermac`\" pulumi-lang-dotnet=\"`RadiusUsermac`\" pulumi-lang-go=\"`radiusUsermac`\" pulumi-lang-python=\"`radius_usermac`\" pulumi-lang-yaml=\"`radiusUsermac`\" pulumi-lang-java=\"`radiusUsermac`\" pulumi-lang-hcl=\"`radius_usermac`\"\u003e`radiusUsermac`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radiusUsername`\" pulumi-lang-dotnet=\"`RadiusUsername`\" pulumi-lang-go=\"`radiusUsername`\" pulumi-lang-python=\"`radius_username`\" pulumi-lang-yaml=\"`radiusUsername`\" pulumi-lang-java=\"`radiusUsername`\" pulumi-lang-hcl=\"`radius_username`\"\u003e`radiusUsername`\u003c/span\u003e\n"
                },
                "usage": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`portUsage`\" pulumi-lang-dotnet=\"`PortUsage`\" pulumi-lang-go=\"`portUsage`\" pulumi-lang-python=\"`port_usage`\" pulumi-lang-yaml=\"`portUsage`\" pulumi-lang-java=\"`portUsage`\" pulumi-lang-hcl=\"`port_usage`\"\u003e`portUsage`\u003c/span\u003e name\n"
                }
            },
            "type": "object",
            "required": [
                "src"
            ]
        },
        "junipermist:site/NetworktemplatePortUsagesStormControl:NetworktemplatePortUsagesStormControl": {
            "properties": {
                "disablePort": {
                    "type": "boolean",
                    "description": "Whether to disable the port when storm control is triggered\n"
                },
                "noBroadcast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on broadcast traffic\n"
                },
                "noMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on multicast traffic\n"
                },
                "noRegisteredMulticast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on registered multicast traffic\n"
                },
                "noUnknownUnicast": {
                    "type": "boolean",
                    "description": "Whether to disable storm control on unknown unicast traffic\n"
                },
                "percentage": {
                    "type": "integer",
                    "description": "Bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateRadiusConfig:NetworktemplateRadiusConfig": {
            "properties": {
                "acctImmediateUpdate": {
                    "type": "boolean"
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled\n"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRadiusConfigAcctServer:NetworktemplateRadiusConfigAcctServer"
                    }
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ordered`\" pulumi-lang-dotnet=\"`Ordered`\" pulumi-lang-go=\"`ordered`\" pulumi-lang-python=\"`ordered`\" pulumi-lang-yaml=\"`ordered`\" pulumi-lang-java=\"`ordered`\" pulumi-lang-hcl=\"`ordered`\"\u003e`ordered`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unordered`\" pulumi-lang-dotnet=\"`Unordered`\" pulumi-lang-go=\"`unordered`\" pulumi-lang-python=\"`unordered`\" pulumi-lang-yaml=\"`unordered`\" pulumi-lang-java=\"`unordered`\" pulumi-lang-hcl=\"`unordered`\"\u003e`unordered`\u003c/span\u003e\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRadiusConfigAuthServer:NetworktemplateRadiusConfigAuthServer"
                    }
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "Radius auth session retries\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "Radius auth session timeout\n"
                },
                "coaEnabled": {
                    "type": "boolean"
                },
                "coaPort": {
                    "type": "string"
                },
                "fastDot1xTimers": {
                    "type": "boolean"
                },
                "network": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003eor \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e. Which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "Use \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\" pulumi-lang-hcl=\"`network`\"\u003e`network`\u003c/span\u003eor \u003cspan pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\" pulumi-lang-hcl=\"`source_ip`\"\u003e`sourceIp`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "acctInterimInterval",
                        "authServerSelection",
                        "authServersRetries",
                        "authServersTimeout",
                        "coaEnabled",
                        "coaPort",
                        "fastDot1xTimers"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateRadiusConfigAcctServer:NetworktemplateRadiusConfigAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "IP/ hostname of RADIUS server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ascii`\" pulumi-lang-dotnet=\"`Ascii`\" pulumi-lang-go=\"`ascii`\" pulumi-lang-python=\"`ascii`\" pulumi-lang-yaml=\"`ascii`\" pulumi-lang-java=\"`ascii`\" pulumi-lang-hcl=\"`ascii`\"\u003e`ascii`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hex`\" pulumi-lang-dotnet=\"`Hex`\" pulumi-lang-go=\"`hex`\" pulumi-lang-python=\"`hex`\" pulumi-lang-yaml=\"`hex`\" pulumi-lang-java=\"`hex`\" pulumi-lang-hcl=\"`hex`\"\u003e`hex`\u003c/span\u003e\n"
                },
                "keywrapKek": {
                    "type": "string"
                },
                "keywrapMack": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret of RADIUS server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:site/NetworktemplateRadiusConfigAuthServer:NetworktemplateRadiusConfigAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "IP/ hostname of RADIUS server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ascii`\" pulumi-lang-dotnet=\"`Ascii`\" pulumi-lang-go=\"`ascii`\" pulumi-lang-python=\"`ascii`\" pulumi-lang-yaml=\"`ascii`\" pulumi-lang-java=\"`ascii`\" pulumi-lang-hcl=\"`ascii`\"\u003e`ascii`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hex`\" pulumi-lang-dotnet=\"`Hex`\" pulumi-lang-go=\"`hex`\" pulumi-lang-python=\"`hex`\" pulumi-lang-yaml=\"`hex`\" pulumi-lang-java=\"`hex`\" pulumi-lang-hcl=\"`hex`\"\u003e`hex`\u003c/span\u003e\n"
                },
                "keywrapKek": {
                    "type": "string"
                },
                "keywrapMack": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret of RADIUS server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:site/NetworktemplateRemoteSyslog:NetworktemplateRemoteSyslog": {
            "properties": {
                "archive": {
                    "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogArchive:NetworktemplateRemoteSyslogArchive"
                },
                "cacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "console": {
                    "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogConsole:NetworktemplateRemoteSyslogConsole"
                },
                "enabled": {
                    "type": "boolean"
                },
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogFile:NetworktemplateRemoteSyslogFile"
                    }
                },
                "network": {
                    "type": "string",
                    "description": "If\u003cspan pulumi-lang-nodejs=\" sourceAddress \" pulumi-lang-dotnet=\" SourceAddress \" pulumi-lang-go=\" sourceAddress \" pulumi-lang-python=\" source_address \" pulumi-lang-yaml=\" sourceAddress \" pulumi-lang-java=\" sourceAddress \" pulumi-lang-hcl=\" source_address \"\u003e sourceAddress \u003c/span\u003eis configured, will use the vlan firstly otherwise use source_ip\n"
                },
                "sendToAllServers": {
                    "type": "boolean"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogServer:NetworktemplateRemoteSyslogServer"
                    }
                },
                "timeFormat": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`millisecond`\" pulumi-lang-dotnet=\"`Millisecond`\" pulumi-lang-go=\"`millisecond`\" pulumi-lang-python=\"`millisecond`\" pulumi-lang-yaml=\"`millisecond`\" pulumi-lang-java=\"`millisecond`\" pulumi-lang-hcl=\"`millisecond`\"\u003e`millisecond`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e, `year millisecond`\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogUser:NetworktemplateRemoteSyslogUser"
                    }
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateRemoteSyslogArchive:NetworktemplateRemoteSyslogArchive": {
            "properties": {
                "files": {
                    "type": "string"
                },
                "size": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateRemoteSyslogConsole:NetworktemplateRemoteSyslogConsole": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogConsoleContent:NetworktemplateRemoteSyslogConsoleContent"
                    }
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateRemoteSyslogConsoleContent:NetworktemplateRemoteSyslogConsoleContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\" pulumi-lang-hcl=\"`authorization`\"\u003e`authorization`\u003c/span\u003e, `change-log`, \u003cspan pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\" pulumi-lang-hcl=\"`config`\"\u003e`config`\u003c/span\u003e, `conflict-log`, \u003cspan pulumi-lang-nodejs=\"`daemon`\" pulumi-lang-dotnet=\"`Daemon`\" pulumi-lang-go=\"`daemon`\" pulumi-lang-python=\"`daemon`\" pulumi-lang-yaml=\"`daemon`\" pulumi-lang-java=\"`daemon`\" pulumi-lang-hcl=\"`daemon`\"\u003e`daemon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dfc`\" pulumi-lang-dotnet=\"`Dfc`\" pulumi-lang-go=\"`dfc`\" pulumi-lang-python=\"`dfc`\" pulumi-lang-yaml=\"`dfc`\" pulumi-lang-java=\"`dfc`\" pulumi-lang-hcl=\"`dfc`\"\u003e`dfc`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`firewall`\" pulumi-lang-dotnet=\"`Firewall`\" pulumi-lang-go=\"`firewall`\" pulumi-lang-python=\"`firewall`\" pulumi-lang-yaml=\"`firewall`\" pulumi-lang-java=\"`firewall`\" pulumi-lang-hcl=\"`firewall`\"\u003e`firewall`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\" pulumi-lang-hcl=\"`ftp`\"\u003e`ftp`\u003c/span\u003e, `interactive-commands`, \u003cspan pulumi-lang-nodejs=\"`kernel`\" pulumi-lang-dotnet=\"`Kernel`\" pulumi-lang-go=\"`kernel`\" pulumi-lang-python=\"`kernel`\" pulumi-lang-yaml=\"`kernel`\" pulumi-lang-java=\"`kernel`\" pulumi-lang-hcl=\"`kernel`\"\u003e`kernel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ntp`\" pulumi-lang-dotnet=\"`Ntp`\" pulumi-lang-go=\"`ntp`\" pulumi-lang-python=\"`ntp`\" pulumi-lang-yaml=\"`ntp`\" pulumi-lang-java=\"`ntp`\" pulumi-lang-hcl=\"`ntp`\"\u003e`ntp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pfe`\" pulumi-lang-dotnet=\"`Pfe`\" pulumi-lang-go=\"`pfe`\" pulumi-lang-python=\"`pfe`\" pulumi-lang-yaml=\"`pfe`\" pulumi-lang-java=\"`pfe`\" pulumi-lang-hcl=\"`pfe`\"\u003e`pfe`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\" pulumi-lang-hcl=\"`security`\"\u003e`security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e\n"
                },
                "severity": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\" pulumi-lang-hcl=\"`alert`\"\u003e`alert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\" pulumi-lang-hcl=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`emergency`\" pulumi-lang-dotnet=\"`Emergency`\" pulumi-lang-go=\"`emergency`\" pulumi-lang-python=\"`emergency`\" pulumi-lang-yaml=\"`emergency`\" pulumi-lang-java=\"`emergency`\" pulumi-lang-hcl=\"`emergency`\"\u003e`emergency`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\" pulumi-lang-hcl=\"`error`\"\u003e`error`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\" pulumi-lang-hcl=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notice`\" pulumi-lang-dotnet=\"`Notice`\" pulumi-lang-go=\"`notice`\" pulumi-lang-python=\"`notice`\" pulumi-lang-yaml=\"`notice`\" pulumi-lang-java=\"`notice`\" pulumi-lang-hcl=\"`notice`\"\u003e`notice`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\" pulumi-lang-hcl=\"`warning`\"\u003e`warning`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateRemoteSyslogFile:NetworktemplateRemoteSyslogFile": {
            "properties": {
                "archive": {
                    "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogFileArchive:NetworktemplateRemoteSyslogFileArchive"
                },
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogFileContent:NetworktemplateRemoteSyslogFileContent"
                    }
                },
                "enableTls": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e\n"
                },
                "explicitPriority": {
                    "type": "boolean"
                },
                "file": {
                    "type": "string"
                },
                "match": {
                    "type": "string"
                },
                "structuredData": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateRemoteSyslogFileArchive:NetworktemplateRemoteSyslogFileArchive": {
            "properties": {
                "files": {
                    "type": "string"
                },
                "size": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateRemoteSyslogFileContent:NetworktemplateRemoteSyslogFileContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\" pulumi-lang-hcl=\"`authorization`\"\u003e`authorization`\u003c/span\u003e, `change-log`, \u003cspan pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\" pulumi-lang-hcl=\"`config`\"\u003e`config`\u003c/span\u003e, `conflict-log`, \u003cspan pulumi-lang-nodejs=\"`daemon`\" pulumi-lang-dotnet=\"`Daemon`\" pulumi-lang-go=\"`daemon`\" pulumi-lang-python=\"`daemon`\" pulumi-lang-yaml=\"`daemon`\" pulumi-lang-java=\"`daemon`\" pulumi-lang-hcl=\"`daemon`\"\u003e`daemon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dfc`\" pulumi-lang-dotnet=\"`Dfc`\" pulumi-lang-go=\"`dfc`\" pulumi-lang-python=\"`dfc`\" pulumi-lang-yaml=\"`dfc`\" pulumi-lang-java=\"`dfc`\" pulumi-lang-hcl=\"`dfc`\"\u003e`dfc`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`firewall`\" pulumi-lang-dotnet=\"`Firewall`\" pulumi-lang-go=\"`firewall`\" pulumi-lang-python=\"`firewall`\" pulumi-lang-yaml=\"`firewall`\" pulumi-lang-java=\"`firewall`\" pulumi-lang-hcl=\"`firewall`\"\u003e`firewall`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\" pulumi-lang-hcl=\"`ftp`\"\u003e`ftp`\u003c/span\u003e, `interactive-commands`, \u003cspan pulumi-lang-nodejs=\"`kernel`\" pulumi-lang-dotnet=\"`Kernel`\" pulumi-lang-go=\"`kernel`\" pulumi-lang-python=\"`kernel`\" pulumi-lang-yaml=\"`kernel`\" pulumi-lang-java=\"`kernel`\" pulumi-lang-hcl=\"`kernel`\"\u003e`kernel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ntp`\" pulumi-lang-dotnet=\"`Ntp`\" pulumi-lang-go=\"`ntp`\" pulumi-lang-python=\"`ntp`\" pulumi-lang-yaml=\"`ntp`\" pulumi-lang-java=\"`ntp`\" pulumi-lang-hcl=\"`ntp`\"\u003e`ntp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pfe`\" pulumi-lang-dotnet=\"`Pfe`\" pulumi-lang-go=\"`pfe`\" pulumi-lang-python=\"`pfe`\" pulumi-lang-yaml=\"`pfe`\" pulumi-lang-java=\"`pfe`\" pulumi-lang-hcl=\"`pfe`\"\u003e`pfe`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\" pulumi-lang-hcl=\"`security`\"\u003e`security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e\n"
                },
                "severity": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\" pulumi-lang-hcl=\"`alert`\"\u003e`alert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\" pulumi-lang-hcl=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`emergency`\" pulumi-lang-dotnet=\"`Emergency`\" pulumi-lang-go=\"`emergency`\" pulumi-lang-python=\"`emergency`\" pulumi-lang-yaml=\"`emergency`\" pulumi-lang-java=\"`emergency`\" pulumi-lang-hcl=\"`emergency`\"\u003e`emergency`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\" pulumi-lang-hcl=\"`error`\"\u003e`error`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\" pulumi-lang-hcl=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notice`\" pulumi-lang-dotnet=\"`Notice`\" pulumi-lang-go=\"`notice`\" pulumi-lang-python=\"`notice`\" pulumi-lang-yaml=\"`notice`\" pulumi-lang-java=\"`notice`\" pulumi-lang-hcl=\"`notice`\"\u003e`notice`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\" pulumi-lang-hcl=\"`warning`\"\u003e`warning`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateRemoteSyslogServer:NetworktemplateRemoteSyslogServer": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogServerContent:NetworktemplateRemoteSyslogServerContent"
                    }
                },
                "explicitPriority": {
                    "type": "boolean"
                },
                "facility": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\" pulumi-lang-hcl=\"`authorization`\"\u003e`authorization`\u003c/span\u003e, `change-log`, \u003cspan pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\" pulumi-lang-hcl=\"`config`\"\u003e`config`\u003c/span\u003e, `conflict-log`, \u003cspan pulumi-lang-nodejs=\"`daemon`\" pulumi-lang-dotnet=\"`Daemon`\" pulumi-lang-go=\"`daemon`\" pulumi-lang-python=\"`daemon`\" pulumi-lang-yaml=\"`daemon`\" pulumi-lang-java=\"`daemon`\" pulumi-lang-hcl=\"`daemon`\"\u003e`daemon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dfc`\" pulumi-lang-dotnet=\"`Dfc`\" pulumi-lang-go=\"`dfc`\" pulumi-lang-python=\"`dfc`\" pulumi-lang-yaml=\"`dfc`\" pulumi-lang-java=\"`dfc`\" pulumi-lang-hcl=\"`dfc`\"\u003e`dfc`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`firewall`\" pulumi-lang-dotnet=\"`Firewall`\" pulumi-lang-go=\"`firewall`\" pulumi-lang-python=\"`firewall`\" pulumi-lang-yaml=\"`firewall`\" pulumi-lang-java=\"`firewall`\" pulumi-lang-hcl=\"`firewall`\"\u003e`firewall`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\" pulumi-lang-hcl=\"`ftp`\"\u003e`ftp`\u003c/span\u003e, `interactive-commands`, \u003cspan pulumi-lang-nodejs=\"`kernel`\" pulumi-lang-dotnet=\"`Kernel`\" pulumi-lang-go=\"`kernel`\" pulumi-lang-python=\"`kernel`\" pulumi-lang-yaml=\"`kernel`\" pulumi-lang-java=\"`kernel`\" pulumi-lang-hcl=\"`kernel`\"\u003e`kernel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ntp`\" pulumi-lang-dotnet=\"`Ntp`\" pulumi-lang-go=\"`ntp`\" pulumi-lang-python=\"`ntp`\" pulumi-lang-yaml=\"`ntp`\" pulumi-lang-java=\"`ntp`\" pulumi-lang-hcl=\"`ntp`\"\u003e`ntp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pfe`\" pulumi-lang-dotnet=\"`Pfe`\" pulumi-lang-go=\"`pfe`\" pulumi-lang-python=\"`pfe`\" pulumi-lang-yaml=\"`pfe`\" pulumi-lang-java=\"`pfe`\" pulumi-lang-hcl=\"`pfe`\"\u003e`pfe`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\" pulumi-lang-hcl=\"`security`\"\u003e`security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e\n"
                },
                "host": {
                    "type": "string"
                },
                "match": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "protocol": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e\n"
                },
                "routingInstance": {
                    "type": "string"
                },
                "serverName": {
                    "type": "string",
                    "description": "Name of the server\n"
                },
                "severity": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\" pulumi-lang-hcl=\"`alert`\"\u003e`alert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\" pulumi-lang-hcl=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`emergency`\" pulumi-lang-dotnet=\"`Emergency`\" pulumi-lang-go=\"`emergency`\" pulumi-lang-python=\"`emergency`\" pulumi-lang-yaml=\"`emergency`\" pulumi-lang-java=\"`emergency`\" pulumi-lang-hcl=\"`emergency`\"\u003e`emergency`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\" pulumi-lang-hcl=\"`error`\"\u003e`error`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\" pulumi-lang-hcl=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notice`\" pulumi-lang-dotnet=\"`Notice`\" pulumi-lang-go=\"`notice`\" pulumi-lang-python=\"`notice`\" pulumi-lang-yaml=\"`notice`\" pulumi-lang-java=\"`notice`\" pulumi-lang-hcl=\"`notice`\"\u003e`notice`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\" pulumi-lang-hcl=\"`warning`\"\u003e`warning`\u003c/span\u003e\n"
                },
                "sourceAddress": {
                    "type": "string",
                    "description": "If\u003cspan pulumi-lang-nodejs=\" sourceAddress \" pulumi-lang-dotnet=\" SourceAddress \" pulumi-lang-go=\" sourceAddress \" pulumi-lang-python=\" source_address \" pulumi-lang-yaml=\" sourceAddress \" pulumi-lang-java=\" sourceAddress \" pulumi-lang-hcl=\" source_address \"\u003e sourceAddress \u003c/span\u003eis configured, will use the vlan firstly otherwise use source_ip\n"
                },
                "structuredData": {
                    "type": "boolean"
                },
                "tag": {
                    "type": "string"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "protocol",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateRemoteSyslogServerContent:NetworktemplateRemoteSyslogServerContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\" pulumi-lang-hcl=\"`authorization`\"\u003e`authorization`\u003c/span\u003e, `change-log`, \u003cspan pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\" pulumi-lang-hcl=\"`config`\"\u003e`config`\u003c/span\u003e, `conflict-log`, \u003cspan pulumi-lang-nodejs=\"`daemon`\" pulumi-lang-dotnet=\"`Daemon`\" pulumi-lang-go=\"`daemon`\" pulumi-lang-python=\"`daemon`\" pulumi-lang-yaml=\"`daemon`\" pulumi-lang-java=\"`daemon`\" pulumi-lang-hcl=\"`daemon`\"\u003e`daemon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dfc`\" pulumi-lang-dotnet=\"`Dfc`\" pulumi-lang-go=\"`dfc`\" pulumi-lang-python=\"`dfc`\" pulumi-lang-yaml=\"`dfc`\" pulumi-lang-java=\"`dfc`\" pulumi-lang-hcl=\"`dfc`\"\u003e`dfc`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`firewall`\" pulumi-lang-dotnet=\"`Firewall`\" pulumi-lang-go=\"`firewall`\" pulumi-lang-python=\"`firewall`\" pulumi-lang-yaml=\"`firewall`\" pulumi-lang-java=\"`firewall`\" pulumi-lang-hcl=\"`firewall`\"\u003e`firewall`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\" pulumi-lang-hcl=\"`ftp`\"\u003e`ftp`\u003c/span\u003e, `interactive-commands`, \u003cspan pulumi-lang-nodejs=\"`kernel`\" pulumi-lang-dotnet=\"`Kernel`\" pulumi-lang-go=\"`kernel`\" pulumi-lang-python=\"`kernel`\" pulumi-lang-yaml=\"`kernel`\" pulumi-lang-java=\"`kernel`\" pulumi-lang-hcl=\"`kernel`\"\u003e`kernel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ntp`\" pulumi-lang-dotnet=\"`Ntp`\" pulumi-lang-go=\"`ntp`\" pulumi-lang-python=\"`ntp`\" pulumi-lang-yaml=\"`ntp`\" pulumi-lang-java=\"`ntp`\" pulumi-lang-hcl=\"`ntp`\"\u003e`ntp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pfe`\" pulumi-lang-dotnet=\"`Pfe`\" pulumi-lang-go=\"`pfe`\" pulumi-lang-python=\"`pfe`\" pulumi-lang-yaml=\"`pfe`\" pulumi-lang-java=\"`pfe`\" pulumi-lang-hcl=\"`pfe`\"\u003e`pfe`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\" pulumi-lang-hcl=\"`security`\"\u003e`security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e\n"
                },
                "severity": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\" pulumi-lang-hcl=\"`alert`\"\u003e`alert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\" pulumi-lang-hcl=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`emergency`\" pulumi-lang-dotnet=\"`Emergency`\" pulumi-lang-go=\"`emergency`\" pulumi-lang-python=\"`emergency`\" pulumi-lang-yaml=\"`emergency`\" pulumi-lang-java=\"`emergency`\" pulumi-lang-hcl=\"`emergency`\"\u003e`emergency`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\" pulumi-lang-hcl=\"`error`\"\u003e`error`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\" pulumi-lang-hcl=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notice`\" pulumi-lang-dotnet=\"`Notice`\" pulumi-lang-go=\"`notice`\" pulumi-lang-python=\"`notice`\" pulumi-lang-yaml=\"`notice`\" pulumi-lang-java=\"`notice`\" pulumi-lang-hcl=\"`notice`\"\u003e`notice`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\" pulumi-lang-hcl=\"`warning`\"\u003e`warning`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateRemoteSyslogUser:NetworktemplateRemoteSyslogUser": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslogUserContent:NetworktemplateRemoteSyslogUserContent"
                    }
                },
                "match": {
                    "type": "string"
                },
                "user": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateRemoteSyslogUserContent:NetworktemplateRemoteSyslogUserContent": {
            "properties": {
                "facility": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authorization`\" pulumi-lang-dotnet=\"`Authorization`\" pulumi-lang-go=\"`authorization`\" pulumi-lang-python=\"`authorization`\" pulumi-lang-yaml=\"`authorization`\" pulumi-lang-java=\"`authorization`\" pulumi-lang-hcl=\"`authorization`\"\u003e`authorization`\u003c/span\u003e, `change-log`, \u003cspan pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\" pulumi-lang-hcl=\"`config`\"\u003e`config`\u003c/span\u003e, `conflict-log`, \u003cspan pulumi-lang-nodejs=\"`daemon`\" pulumi-lang-dotnet=\"`Daemon`\" pulumi-lang-go=\"`daemon`\" pulumi-lang-python=\"`daemon`\" pulumi-lang-yaml=\"`daemon`\" pulumi-lang-java=\"`daemon`\" pulumi-lang-hcl=\"`daemon`\"\u003e`daemon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dfc`\" pulumi-lang-dotnet=\"`Dfc`\" pulumi-lang-go=\"`dfc`\" pulumi-lang-python=\"`dfc`\" pulumi-lang-yaml=\"`dfc`\" pulumi-lang-java=\"`dfc`\" pulumi-lang-hcl=\"`dfc`\"\u003e`dfc`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`firewall`\" pulumi-lang-dotnet=\"`Firewall`\" pulumi-lang-go=\"`firewall`\" pulumi-lang-python=\"`firewall`\" pulumi-lang-yaml=\"`firewall`\" pulumi-lang-java=\"`firewall`\" pulumi-lang-hcl=\"`firewall`\"\u003e`firewall`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\" pulumi-lang-hcl=\"`ftp`\"\u003e`ftp`\u003c/span\u003e, `interactive-commands`, \u003cspan pulumi-lang-nodejs=\"`kernel`\" pulumi-lang-dotnet=\"`Kernel`\" pulumi-lang-go=\"`kernel`\" pulumi-lang-python=\"`kernel`\" pulumi-lang-yaml=\"`kernel`\" pulumi-lang-java=\"`kernel`\" pulumi-lang-hcl=\"`kernel`\"\u003e`kernel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ntp`\" pulumi-lang-dotnet=\"`Ntp`\" pulumi-lang-go=\"`ntp`\" pulumi-lang-python=\"`ntp`\" pulumi-lang-yaml=\"`ntp`\" pulumi-lang-java=\"`ntp`\" pulumi-lang-hcl=\"`ntp`\"\u003e`ntp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pfe`\" pulumi-lang-dotnet=\"`Pfe`\" pulumi-lang-go=\"`pfe`\" pulumi-lang-python=\"`pfe`\" pulumi-lang-yaml=\"`pfe`\" pulumi-lang-java=\"`pfe`\" pulumi-lang-hcl=\"`pfe`\"\u003e`pfe`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\" pulumi-lang-hcl=\"`security`\"\u003e`security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e\n"
                },
                "severity": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alert`\" pulumi-lang-dotnet=\"`Alert`\" pulumi-lang-go=\"`alert`\" pulumi-lang-python=\"`alert`\" pulumi-lang-yaml=\"`alert`\" pulumi-lang-java=\"`alert`\" pulumi-lang-hcl=\"`alert`\"\u003e`alert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\" pulumi-lang-hcl=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`emergency`\" pulumi-lang-dotnet=\"`Emergency`\" pulumi-lang-go=\"`emergency`\" pulumi-lang-python=\"`emergency`\" pulumi-lang-yaml=\"`emergency`\" pulumi-lang-java=\"`emergency`\" pulumi-lang-hcl=\"`emergency`\"\u003e`emergency`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\" pulumi-lang-hcl=\"`error`\"\u003e`error`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\" pulumi-lang-hcl=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notice`\" pulumi-lang-dotnet=\"`Notice`\" pulumi-lang-go=\"`notice`\" pulumi-lang-python=\"`notice`\" pulumi-lang-yaml=\"`notice`\" pulumi-lang-java=\"`notice`\" pulumi-lang-hcl=\"`notice`\"\u003e`notice`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\" pulumi-lang-hcl=\"`warning`\"\u003e`warning`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "facility",
                        "severity"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateRoutingPolicies:NetworktemplateRoutingPolicies": {
            "properties": {
                "terms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRoutingPoliciesTerm:NetworktemplateRoutingPoliciesTerm"
                    },
                    "description": "at least criteria/filter must be specified to match the term, all criteria have to be met\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateRoutingPoliciesTerm:NetworktemplateRoutingPoliciesTerm": {
            "properties": {
                "actions": {
                    "$ref": "#/types/junipermist:site/NetworktemplateRoutingPoliciesTermActions:NetworktemplateRoutingPoliciesTermActions",
                    "description": "When used as import policy\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:site/NetworktemplateRoutingPoliciesTermMatching:NetworktemplateRoutingPoliciesTermMatching",
                    "description": "zero or more criteria/filter can be specified to match the term, all criteria have to be met\n"
                },
                "name": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "junipermist:site/NetworktemplateRoutingPoliciesTermActions:NetworktemplateRoutingPoliciesTermActions": {
            "properties": {
                "accept": {
                    "type": "boolean"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When used as export policy, optional\n"
                },
                "localPreference": {
                    "type": "string",
                    "description": "Optional, for an import policy,\u003cspan pulumi-lang-nodejs=\" localPreference \" pulumi-lang-dotnet=\" LocalPreference \" pulumi-lang-go=\" localPreference \" pulumi-lang-python=\" local_preference \" pulumi-lang-yaml=\" localPreference \" pulumi-lang-java=\" localPreference \" pulumi-lang-hcl=\" local_preference \"\u003e localPreference \u003c/span\u003ecan be changed, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "prependAsPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When used as export policy, optional. By default, the local AS will be prepended, to change it. Can be a Variable (e.g. `{{as_path}}`)\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateRoutingPoliciesTermMatching:NetworktemplateRoutingPoliciesTermMatching": {
            "properties": {
                "asPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BGP AS, value in range 1-4294967294. Can be a Variable (e.g. `{{bgp_as}}`)\n"
                },
                "communities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "prefixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "zero or more criteria/filter can be specified to match the term, all criteria have to be met\n"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\" pulumi-lang-hcl=\"`bgp`\"\u003e`bgp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`direct`\" pulumi-lang-dotnet=\"`Direct`\" pulumi-lang-go=\"`direct`\" pulumi-lang-python=\"`direct`\" pulumi-lang-yaml=\"`direct`\" pulumi-lang-java=\"`direct`\" pulumi-lang-hcl=\"`direct`\"\u003e`direct`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`evpn`\" pulumi-lang-dotnet=\"`Evpn`\" pulumi-lang-go=\"`evpn`\" pulumi-lang-python=\"`evpn`\" pulumi-lang-yaml=\"`evpn`\" pulumi-lang-java=\"`evpn`\" pulumi-lang-hcl=\"`evpn`\"\u003e`evpn`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ospf`\" pulumi-lang-dotnet=\"`Ospf`\" pulumi-lang-go=\"`ospf`\" pulumi-lang-python=\"`ospf`\" pulumi-lang-yaml=\"`ospf`\" pulumi-lang-java=\"`ospf`\" pulumi-lang-hcl=\"`ospf`\"\u003e`ospf`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfig:NetworktemplateSnmpConfig": {
            "properties": {
                "clientLists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigClientList:NetworktemplateSnmpConfigClientList"
                    }
                },
                "contact": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "enabled": {
                    "type": "boolean"
                },
                "engineId": {
                    "type": "string"
                },
                "engineIdType": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\" pulumi-lang-hcl=\"`local`\"\u003e`local`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`useMacAddress`\" pulumi-lang-dotnet=\"`UseMacAddress`\" pulumi-lang-go=\"`useMacAddress`\" pulumi-lang-python=\"`use_mac_address`\" pulumi-lang-yaml=\"`useMacAddress`\" pulumi-lang-java=\"`useMacAddress`\" pulumi-lang-hcl=\"`use_mac_address`\"\u003e`useMacAddress`\u003c/span\u003e\n"
                },
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "network": {
                    "type": "string"
                },
                "trapGroups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigTrapGroup:NetworktemplateSnmpConfigTrapGroup"
                    }
                },
                "v2cConfigs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV2cConfig:NetworktemplateSnmpConfigV2cConfig"
                    }
                },
                "v3Config": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3Config:NetworktemplateSnmpConfigV3Config"
                },
                "views": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigView:NetworktemplateSnmpConfigView"
                    }
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "engineIdType"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSnmpConfigClientList:NetworktemplateSnmpConfigClientList": {
            "properties": {
                "clientListName": {
                    "type": "string"
                },
                "clients": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigTrapGroup:NetworktemplateSnmpConfigTrapGroup": {
            "properties": {
                "categories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "groupName": {
                    "type": "string",
                    "description": "Categories list can refer to https://www.juniper.net/documentation/software/topics/task/configuration/snmp_trap-groups-configuring-junos-nm.html\n"
                },
                "targets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "version": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\" pulumi-lang-hcl=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\" pulumi-lang-hcl=\"`v1`\"\u003e`v1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\" pulumi-lang-hcl=\"`v2`\"\u003e`v2`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "version"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSnmpConfigV2cConfig:NetworktemplateSnmpConfigV2cConfig": {
            "properties": {
                "authorization": {
                    "type": "string"
                },
                "clientListName": {
                    "type": "string",
                    "description": "Client_list_name here should refer to\u003cspan pulumi-lang-nodejs=\" clientList \" pulumi-lang-dotnet=\" ClientList \" pulumi-lang-go=\" clientList \" pulumi-lang-python=\" client_list \" pulumi-lang-yaml=\" clientList \" pulumi-lang-java=\" clientList \" pulumi-lang-hcl=\" client_list \"\u003e clientList \u003c/span\u003eabove\n"
                },
                "communityName": {
                    "type": "string"
                },
                "view": {
                    "type": "string",
                    "description": "View name here should be defined in views above\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigV3Config:NetworktemplateSnmpConfigV3Config": {
            "properties": {
                "notifies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigNotify:NetworktemplateSnmpConfigV3ConfigNotify"
                    }
                },
                "notifyFilters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigNotifyFilter:NetworktemplateSnmpConfigV3ConfigNotifyFilter"
                    }
                },
                "targetAddresses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigTargetAddress:NetworktemplateSnmpConfigV3ConfigTargetAddress"
                    }
                },
                "targetParameters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigTargetParameter:NetworktemplateSnmpConfigV3ConfigTargetParameter"
                    }
                },
                "usms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigUsm:NetworktemplateSnmpConfigV3ConfigUsm"
                    }
                },
                "vacm": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigVacm:NetworktemplateSnmpConfigV3ConfigVacm"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigNotify:NetworktemplateSnmpConfigV3ConfigNotify": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "tag": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`inform`\" pulumi-lang-dotnet=\"`Inform`\" pulumi-lang-go=\"`inform`\" pulumi-lang-python=\"`inform`\" pulumi-lang-yaml=\"`inform`\" pulumi-lang-java=\"`inform`\" pulumi-lang-hcl=\"`inform`\"\u003e`inform`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trap`\" pulumi-lang-dotnet=\"`Trap`\" pulumi-lang-go=\"`trap`\" pulumi-lang-python=\"`trap`\" pulumi-lang-yaml=\"`trap`\" pulumi-lang-java=\"`trap`\" pulumi-lang-hcl=\"`trap`\"\u003e`trap`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "tag",
                "type"
            ]
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigNotifyFilter:NetworktemplateSnmpConfigV3ConfigNotifyFilter": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigNotifyFilterContent:NetworktemplateSnmpConfigV3ConfigNotifyFilterContent"
                    }
                },
                "profileName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigNotifyFilterContent:NetworktemplateSnmpConfigV3ConfigNotifyFilterContent": {
            "properties": {
                "include": {
                    "type": "boolean"
                },
                "oid": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "oid"
            ]
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigTargetAddress:NetworktemplateSnmpConfigV3ConfigTargetAddress": {
            "properties": {
                "address": {
                    "type": "string"
                },
                "addressMask": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "tagList": {
                    "type": "string",
                    "description": "Refer to notify tag, can be multiple with blank\n"
                },
                "targetAddressName": {
                    "type": "string"
                },
                "targetParameters": {
                    "type": "string",
                    "description": "Refer to notify target parameters name\n"
                }
            },
            "type": "object",
            "required": [
                "address",
                "addressMask",
                "targetAddressName"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "address",
                        "addressMask",
                        "port",
                        "targetAddressName"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigTargetParameter:NetworktemplateSnmpConfigV3ConfigTargetParameter": {
            "properties": {
                "messageProcessingModel": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\" pulumi-lang-hcl=\"`v1`\"\u003e`v1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v2c`\" pulumi-lang-dotnet=\"`V2c`\" pulumi-lang-go=\"`v2c`\" pulumi-lang-python=\"`v2c`\" pulumi-lang-yaml=\"`v2c`\" pulumi-lang-java=\"`v2c`\" pulumi-lang-hcl=\"`v2c`\"\u003e`v2c`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v3`\" pulumi-lang-dotnet=\"`V3`\" pulumi-lang-go=\"`v3`\" pulumi-lang-python=\"`v3`\" pulumi-lang-yaml=\"`v3`\" pulumi-lang-java=\"`v3`\" pulumi-lang-hcl=\"`v3`\"\u003e`v3`\u003c/span\u003e\n"
                },
                "name": {
                    "type": "string"
                },
                "notifyFilter": {
                    "type": "string",
                    "description": "Refer to profile-name in notify_filter\n"
                },
                "securityLevel": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\" pulumi-lang-hcl=\"`authentication`\"\u003e`authentication`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`privacy`\" pulumi-lang-dotnet=\"`Privacy`\" pulumi-lang-go=\"`privacy`\" pulumi-lang-python=\"`privacy`\" pulumi-lang-yaml=\"`privacy`\" pulumi-lang-java=\"`privacy`\" pulumi-lang-hcl=\"`privacy`\"\u003e`privacy`\u003c/span\u003e\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`usm`\" pulumi-lang-dotnet=\"`Usm`\" pulumi-lang-go=\"`usm`\" pulumi-lang-python=\"`usm`\" pulumi-lang-yaml=\"`usm`\" pulumi-lang-java=\"`usm`\" pulumi-lang-hcl=\"`usm`\"\u003e`usm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\" pulumi-lang-hcl=\"`v1`\"\u003e`v1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v2c`\" pulumi-lang-dotnet=\"`V2c`\" pulumi-lang-go=\"`v2c`\" pulumi-lang-python=\"`v2c`\" pulumi-lang-yaml=\"`v2c`\" pulumi-lang-java=\"`v2c`\" pulumi-lang-hcl=\"`v2c`\"\u003e`v2c`\u003c/span\u003e\n"
                },
                "securityName": {
                    "type": "string",
                    "description": "Refer to\u003cspan pulumi-lang-nodejs=\" securityName \" pulumi-lang-dotnet=\" SecurityName \" pulumi-lang-go=\" securityName \" pulumi-lang-python=\" security_name \" pulumi-lang-yaml=\" securityName \" pulumi-lang-java=\" securityName \" pulumi-lang-hcl=\" security_name \"\u003e securityName \u003c/span\u003ein usm\n"
                }
            },
            "type": "object",
            "required": [
                "messageProcessingModel",
                "name"
            ]
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigUsm:NetworktemplateSnmpConfigV3ConfigUsm": {
            "properties": {
                "engineType": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`localEngine`\" pulumi-lang-dotnet=\"`LocalEngine`\" pulumi-lang-go=\"`localEngine`\" pulumi-lang-python=\"`local_engine`\" pulumi-lang-yaml=\"`localEngine`\" pulumi-lang-java=\"`localEngine`\" pulumi-lang-hcl=\"`local_engine`\"\u003e`localEngine`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`remoteEngine`\" pulumi-lang-dotnet=\"`RemoteEngine`\" pulumi-lang-go=\"`remoteEngine`\" pulumi-lang-python=\"`remote_engine`\" pulumi-lang-yaml=\"`remoteEngine`\" pulumi-lang-java=\"`remoteEngine`\" pulumi-lang-hcl=\"`remote_engine`\"\u003e`remoteEngine`\u003c/span\u003e\n"
                },
                "remoteEngineId": {
                    "type": "string",
                    "description": "Required only if \u003cspan pulumi-lang-nodejs=\"`engineType`\" pulumi-lang-dotnet=\"`EngineType`\" pulumi-lang-go=\"`engineType`\" pulumi-lang-python=\"`engine_type`\" pulumi-lang-yaml=\"`engineType`\" pulumi-lang-java=\"`engineType`\" pulumi-lang-hcl=\"`engine_type`\"\u003e`engineType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`remoteEngine`\" pulumi-lang-dotnet=\"`RemoteEngine`\" pulumi-lang-go=\"`remoteEngine`\" pulumi-lang-python=\"`remote_engine`\" pulumi-lang-yaml=\"`remoteEngine`\" pulumi-lang-java=\"`remoteEngine`\" pulumi-lang-hcl=\"`remote_engine`\"\u003e`remoteEngine`\u003c/span\u003e\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigUsmUser:NetworktemplateSnmpConfigV3ConfigUsmUser"
                    }
                }
            },
            "type": "object",
            "required": [
                "engineType"
            ]
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigUsmUser:NetworktemplateSnmpConfigV3ConfigUsmUser": {
            "properties": {
                "authenticationPassword": {
                    "type": "string",
                    "description": "Not required if \u003cspan pulumi-lang-nodejs=\"`authenticationType`\" pulumi-lang-dotnet=\"`AuthenticationType`\" pulumi-lang-go=\"`authenticationType`\" pulumi-lang-python=\"`authentication_type`\" pulumi-lang-yaml=\"`authenticationType`\" pulumi-lang-java=\"`authenticationType`\" pulumi-lang-hcl=\"`authentication_type`\"\u003e`authenticationType`\u003c/span\u003e==`authentication-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters.\n",
                    "secret": true
                },
                "authenticationType": {
                    "type": "string",
                    "description": "sha224, sha256, sha384, sha512 are supported in 21.1 and newer release. enum: `authentication-md5`, `authentication-none`, `authentication-sha`, `authentication-sha224`, `authentication-sha256`, `authentication-sha384`, `authentication-sha512`\n"
                },
                "encryptionPassword": {
                    "type": "string",
                    "description": "Not required if \u003cspan pulumi-lang-nodejs=\"`encryptionType`\" pulumi-lang-dotnet=\"`EncryptionType`\" pulumi-lang-go=\"`encryptionType`\" pulumi-lang-python=\"`encryption_type`\" pulumi-lang-yaml=\"`encryptionType`\" pulumi-lang-java=\"`encryptionType`\" pulumi-lang-hcl=\"`encryption_type`\"\u003e`encryptionType`\u003c/span\u003e==`privacy-none`. Include alphabetic, numeric, and special characters, but it cannot include control characters\n",
                    "secret": true
                },
                "encryptionType": {
                    "type": "string",
                    "description": "enum: `privacy-3des`, `privacy-aes128`, `privacy-des`, `privacy-none`\n"
                },
                "name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigVacm:NetworktemplateSnmpConfigV3ConfigVacm": {
            "properties": {
                "accesses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigVacmAccess:NetworktemplateSnmpConfigV3ConfigVacmAccess"
                    }
                },
                "securityToGroup": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroup:NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroup"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigVacmAccess:NetworktemplateSnmpConfigV3ConfigVacmAccess": {
            "properties": {
                "groupName": {
                    "type": "string"
                },
                "prefixLists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigVacmAccessPrefixList:NetworktemplateSnmpConfigV3ConfigVacmAccessPrefixList"
                    }
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigVacmAccessPrefixList:NetworktemplateSnmpConfigV3ConfigVacmAccessPrefixList": {
            "properties": {
                "contextPrefix": {
                    "type": "string",
                    "description": "Only required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`contextPrefix`\" pulumi-lang-dotnet=\"`ContextPrefix`\" pulumi-lang-go=\"`contextPrefix`\" pulumi-lang-python=\"`context_prefix`\" pulumi-lang-yaml=\"`contextPrefix`\" pulumi-lang-java=\"`contextPrefix`\" pulumi-lang-hcl=\"`context_prefix`\"\u003e`contextPrefix`\u003c/span\u003e\n"
                },
                "notifyView": {
                    "type": "string",
                    "description": "Refer to view name\n"
                },
                "readView": {
                    "type": "string",
                    "description": "Refer to view name\n"
                },
                "securityLevel": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\" pulumi-lang-hcl=\"`authentication`\"\u003e`authentication`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`privacy`\" pulumi-lang-dotnet=\"`Privacy`\" pulumi-lang-go=\"`privacy`\" pulumi-lang-python=\"`privacy`\" pulumi-lang-yaml=\"`privacy`\" pulumi-lang-java=\"`privacy`\" pulumi-lang-hcl=\"`privacy`\"\u003e`privacy`\u003c/span\u003e\n"
                },
                "securityModel": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`usm`\" pulumi-lang-dotnet=\"`Usm`\" pulumi-lang-go=\"`usm`\" pulumi-lang-python=\"`usm`\" pulumi-lang-yaml=\"`usm`\" pulumi-lang-java=\"`usm`\" pulumi-lang-hcl=\"`usm`\"\u003e`usm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\" pulumi-lang-hcl=\"`v1`\"\u003e`v1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v2c`\" pulumi-lang-dotnet=\"`V2c`\" pulumi-lang-go=\"`v2c`\" pulumi-lang-python=\"`v2c`\" pulumi-lang-yaml=\"`v2c`\" pulumi-lang-java=\"`v2c`\" pulumi-lang-hcl=\"`v2c`\"\u003e`v2c`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`contextPrefix`\" pulumi-lang-dotnet=\"`ContextPrefix`\" pulumi-lang-go=\"`contextPrefix`\" pulumi-lang-python=\"`context_prefix`\" pulumi-lang-yaml=\"`contextPrefix`\" pulumi-lang-java=\"`contextPrefix`\" pulumi-lang-hcl=\"`context_prefix`\"\u003e`contextPrefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`defaultContextPrefix`\" pulumi-lang-dotnet=\"`DefaultContextPrefix`\" pulumi-lang-go=\"`defaultContextPrefix`\" pulumi-lang-python=\"`default_context_prefix`\" pulumi-lang-yaml=\"`defaultContextPrefix`\" pulumi-lang-java=\"`defaultContextPrefix`\" pulumi-lang-hcl=\"`default_context_prefix`\"\u003e`defaultContextPrefix`\u003c/span\u003e\n"
                },
                "writeView": {
                    "type": "string",
                    "description": "Refer to view name\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroup:NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroup": {
            "properties": {
                "contents": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroupContent:NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroupContent"
                    }
                },
                "securityModel": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`usm`\" pulumi-lang-dotnet=\"`Usm`\" pulumi-lang-go=\"`usm`\" pulumi-lang-python=\"`usm`\" pulumi-lang-yaml=\"`usm`\" pulumi-lang-java=\"`usm`\" pulumi-lang-hcl=\"`usm`\"\u003e`usm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\" pulumi-lang-hcl=\"`v1`\"\u003e`v1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`v2c`\" pulumi-lang-dotnet=\"`V2c`\" pulumi-lang-go=\"`v2c`\" pulumi-lang-python=\"`v2c`\" pulumi-lang-yaml=\"`v2c`\" pulumi-lang-java=\"`v2c`\" pulumi-lang-hcl=\"`v2c`\"\u003e`v2c`\u003c/span\u003e\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroupContent:NetworktemplateSnmpConfigV3ConfigVacmSecurityToGroupContent": {
            "properties": {
                "group": {
                    "type": "string",
                    "description": "Refer to\u003cspan pulumi-lang-nodejs=\" groupName \" pulumi-lang-dotnet=\" GroupName \" pulumi-lang-go=\" groupName \" pulumi-lang-python=\" group_name \" pulumi-lang-yaml=\" groupName \" pulumi-lang-java=\" groupName \" pulumi-lang-hcl=\" group_name \"\u003e groupName \u003c/span\u003eunder access\n"
                },
                "securityName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSnmpConfigView:NetworktemplateSnmpConfigView": {
            "properties": {
                "include": {
                    "type": "boolean",
                    "description": "If the root oid configured is included\n"
                },
                "oid": {
                    "type": "string"
                },
                "viewName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSwitchMatching:NetworktemplateSwitchMatching": {
            "properties": {
                "enable": {
                    "type": "boolean"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSwitchMatchingRule:NetworktemplateSwitchMatchingRule"
                    },
                    "description": "list of rules to define custom switch configuration based on different criteria. Each list must have at least one of \u003cspan pulumi-lang-nodejs=\"`matchModel`\" pulumi-lang-dotnet=\"`MatchModel`\" pulumi-lang-go=\"`matchModel`\" pulumi-lang-python=\"`match_model`\" pulumi-lang-yaml=\"`matchModel`\" pulumi-lang-java=\"`matchModel`\" pulumi-lang-hcl=\"`match_model`\"\u003e`matchModel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`matchName`\" pulumi-lang-dotnet=\"`MatchName`\" pulumi-lang-go=\"`matchName`\" pulumi-lang-python=\"`match_name`\" pulumi-lang-yaml=\"`matchName`\" pulumi-lang-java=\"`matchName`\" pulumi-lang-hcl=\"`match_name`\"\u003e`matchName`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`matchRole`\" pulumi-lang-dotnet=\"`MatchRole`\" pulumi-lang-go=\"`matchRole`\" pulumi-lang-python=\"`match_role`\" pulumi-lang-yaml=\"`matchRole`\" pulumi-lang-java=\"`matchRole`\" pulumi-lang-hcl=\"`match_role`\"\u003e`matchRole`\u003c/span\u003e must be defined\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSwitchMatchingRule:NetworktemplateSwitchMatchingRule": {
            "properties": {
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional CLI commands to append to the generated Junos config. **Note**: no check is done\n"
                },
                "defaultPortUsage": {
                    "type": "string",
                    "description": "Port usage to assign to switch ports without any port usage assigned. Default: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e to preserve default behavior\n"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSwitchMatchingRuleIpConfig:NetworktemplateSwitchMatchingRuleIpConfig",
                    "description": "In-Band Management interface configuration\n"
                },
                "matchModel": {
                    "type": "string",
                    "description": "string the switch model must start with to use this rule. It is possible to combine with the \u003cspan pulumi-lang-nodejs=\"`matchName`\" pulumi-lang-dotnet=\"`MatchName`\" pulumi-lang-go=\"`matchName`\" pulumi-lang-python=\"`match_name`\" pulumi-lang-yaml=\"`matchName`\" pulumi-lang-java=\"`matchName`\" pulumi-lang-hcl=\"`match_name`\"\u003e`matchName`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`matchRole`\" pulumi-lang-dotnet=\"`MatchRole`\" pulumi-lang-go=\"`matchRole`\" pulumi-lang-python=\"`match_role`\" pulumi-lang-yaml=\"`matchRole`\" pulumi-lang-java=\"`matchRole`\" pulumi-lang-hcl=\"`match_role`\"\u003e`matchRole`\u003c/span\u003e attributes\n"
                },
                "matchName": {
                    "type": "string",
                    "description": "string the switch name must start with to use this rule. Use the \u003cspan pulumi-lang-nodejs=\"`matchNameOffset`\" pulumi-lang-dotnet=\"`MatchNameOffset`\" pulumi-lang-go=\"`matchNameOffset`\" pulumi-lang-python=\"`match_name_offset`\" pulumi-lang-yaml=\"`matchNameOffset`\" pulumi-lang-java=\"`matchNameOffset`\" pulumi-lang-hcl=\"`match_name_offset`\"\u003e`matchNameOffset`\u003c/span\u003e to indicate the first character of the switch name to compare to. It is possible to combine with the \u003cspan pulumi-lang-nodejs=\"`matchModel`\" pulumi-lang-dotnet=\"`MatchModel`\" pulumi-lang-go=\"`matchModel`\" pulumi-lang-python=\"`match_model`\" pulumi-lang-yaml=\"`matchModel`\" pulumi-lang-java=\"`matchModel`\" pulumi-lang-hcl=\"`match_model`\"\u003e`matchModel`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`matchRole`\" pulumi-lang-dotnet=\"`MatchRole`\" pulumi-lang-go=\"`matchRole`\" pulumi-lang-python=\"`match_role`\" pulumi-lang-yaml=\"`matchRole`\" pulumi-lang-java=\"`matchRole`\" pulumi-lang-hcl=\"`match_role`\"\u003e`matchRole`\u003c/span\u003e attributes\n"
                },
                "matchNameOffset": {
                    "type": "integer",
                    "description": "first character of the switch name to compare to the \u003cspan pulumi-lang-nodejs=\"`matchName`\" pulumi-lang-dotnet=\"`MatchName`\" pulumi-lang-go=\"`matchName`\" pulumi-lang-python=\"`match_name`\" pulumi-lang-yaml=\"`matchName`\" pulumi-lang-java=\"`matchName`\" pulumi-lang-hcl=\"`match_name`\"\u003e`matchName`\u003c/span\u003e value\n"
                },
                "matchRole": {
                    "type": "string",
                    "description": "string the switch role must start with to use this rule. It is possible to combine with the \u003cspan pulumi-lang-nodejs=\"`matchName`\" pulumi-lang-dotnet=\"`MatchName`\" pulumi-lang-go=\"`matchName`\" pulumi-lang-python=\"`match_name`\" pulumi-lang-yaml=\"`matchName`\" pulumi-lang-java=\"`matchName`\" pulumi-lang-hcl=\"`match_name`\"\u003e`matchName`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`matchModel`\" pulumi-lang-dotnet=\"`MatchModel`\" pulumi-lang-go=\"`matchModel`\" pulumi-lang-python=\"`match_model`\" pulumi-lang-yaml=\"`matchModel`\" pulumi-lang-java=\"`matchModel`\" pulumi-lang-hcl=\"`match_model`\"\u003e`matchModel`\u003c/span\u003e attributes\n"
                },
                "name": {
                    "type": "string",
                    "description": "Rule name. WARNING: the name \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e is reserved and can only be used for the last rule in the list\n"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSwitchMatchingRuleOobIpConfig:NetworktemplateSwitchMatchingRuleOobIpConfig",
                    "description": "Out-of-Band Management interface configuration\n"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSwitchMatchingRulePortConfig:NetworktemplateSwitchMatchingRulePortConfig"
                    },
                    "description": "Property key is the port name or range (e.g. \"ge-0/0/0-10\")\n"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSwitchMatchingRulePortMirroring:NetworktemplateSwitchMatchingRulePortMirroring"
                    },
                    "description": "Property key is the port mirroring instance name. \u003cspan pulumi-lang-nodejs=\"`portMirroring`\" pulumi-lang-dotnet=\"`PortMirroring`\" pulumi-lang-go=\"`portMirroring`\" pulumi-lang-python=\"`port_mirroring`\" pulumi-lang-yaml=\"`portMirroring`\" pulumi-lang-java=\"`portMirroring`\" pulumi-lang-hcl=\"`port_mirroring`\"\u003e`portMirroring`\u003c/span\u003e can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output. A maximum 4 mirroring ports is allowed\n"
                },
                "stpConfig": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSwitchMatchingRuleStpConfig:NetworktemplateSwitchMatchingRuleStpConfig"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "defaultPortUsage",
                        "matchNameOffset"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMatchingRuleIpConfig:NetworktemplateSwitchMatchingRuleIpConfig": {
            "properties": {
                "network": {
                    "type": "string",
                    "description": "VLAN Name for the management interface\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`dhcp`\" pulumi-lang-dotnet=\"`Dhcp`\" pulumi-lang-go=\"`dhcp`\" pulumi-lang-python=\"`dhcp`\" pulumi-lang-yaml=\"`dhcp`\" pulumi-lang-java=\"`dhcp`\" pulumi-lang-hcl=\"`dhcp`\"\u003e`dhcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMatchingRuleOobIpConfig:NetworktemplateSwitchMatchingRuleOobIpConfig": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`dhcp`\" pulumi-lang-dotnet=\"`Dhcp`\" pulumi-lang-go=\"`dhcp`\" pulumi-lang-python=\"`dhcp`\" pulumi-lang-yaml=\"`dhcp`\" pulumi-lang-java=\"`dhcp`\" pulumi-lang-hcl=\"`dhcp`\"\u003e`dhcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\" pulumi-lang-hcl=\"`static`\"\u003e`static`\u003c/span\u003e\n"
                },
                "useMgmtVrf": {
                    "type": "boolean",
                    "description": "If supported on the platform. If enabled, DNS will be using this routing-instance, too\n"
                },
                "useMgmtVrfForHostOut": {
                    "type": "boolean",
                    "description": "For host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type",
                        "useMgmtVrf"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMatchingRulePortConfig:NetworktemplateSwitchMatchingRulePortConfig": {
            "properties": {
                "aeDisableLacp": {
                    "type": "boolean",
                    "description": "To disable LACP support for the AE interface\n"
                },
                "aeIdx": {
                    "type": "integer",
                    "description": "Users could force to use the designated AE name\n"
                },
                "aeLacpForceUp": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\" pulumi-lang-hcl=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, sets the state of the interface as UP when the peer has limited LACP capability. Use case: When a device connected to this AE port is ZTPing for the first time, it will not have LACP configured on the other end. **Note:** Turning this on will enable force-up on one of the interfaces in the bundle only\n"
                },
                "aeLacpSlow": {
                    "type": "boolean",
                    "description": "To use slow timeout\n"
                },
                "aggregated": {
                    "type": "boolean"
                },
                "critical": {
                    "type": "boolean",
                    "description": "To generate port up/down alarm\n"
                },
                "description": {
                    "type": "string"
                },
                "disableAutoneg": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`speed`\" pulumi-lang-dotnet=\"`Speed`\" pulumi-lang-go=\"`speed`\" pulumi-lang-python=\"`speed`\" pulumi-lang-yaml=\"`speed`\" pulumi-lang-java=\"`speed`\" pulumi-lang-hcl=\"`speed`\"\u003e`speed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`duplex`\" pulumi-lang-dotnet=\"`Duplex`\" pulumi-lang-go=\"`duplex`\" pulumi-lang-python=\"`duplex`\" pulumi-lang-yaml=\"`duplex`\" pulumi-lang-java=\"`duplex`\" pulumi-lang-hcl=\"`duplex`\"\u003e`duplex`\u003c/span\u003e are specified, whether to disable autonegotiation\n"
                },
                "duplex": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`half`\" pulumi-lang-dotnet=\"`Half`\" pulumi-lang-go=\"`half`\" pulumi-lang-python=\"`half`\" pulumi-lang-yaml=\"`half`\" pulumi-lang-java=\"`half`\" pulumi-lang-hcl=\"`half`\"\u003e`half`\u003c/span\u003e\n"
                },
                "dynamicUsage": {
                    "type": "string",
                    "description": "Enable dynamic usage for this port. Set to \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\" pulumi-lang-hcl=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e to enable.\n"
                },
                "esilag": {
                    "type": "boolean"
                },
                "mtu": {
                    "type": "integer",
                    "description": "Media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names. Required if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`inet`\" pulumi-lang-dotnet=\"`Inet`\" pulumi-lang-go=\"`inet`\" pulumi-lang-python=\"`inet`\" pulumi-lang-yaml=\"`inet`\" pulumi-lang-java=\"`inet`\" pulumi-lang-hcl=\"`inet`\"\u003e`inet`\u003c/span\u003e\n"
                },
                "noLocalOverwrite": {
                    "type": "boolean",
                    "description": "Prevent helpdesk to override the port config\n"
                },
                "poeDisabled": {
                    "type": "boolean"
                },
                "portNetwork": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlanTunnel`\" pulumi-lang-dotnet=\"`VlanTunnel`\" pulumi-lang-go=\"`vlanTunnel`\" pulumi-lang-python=\"`vlan_tunnel`\" pulumi-lang-yaml=\"`vlanTunnel`\" pulumi-lang-java=\"`vlanTunnel`\" pulumi-lang-hcl=\"`vlan_tunnel`\"\u003e`vlanTunnel`\u003c/span\u003e. Q-in-Q tunneling using All-in-one bundling. This also enables standard L2PT for interfaces that are not encapsulation tunnel interfaces and uses MAC rewrite operation. [View more information](https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/topic-map/q-in-q.html#id-understanding-qinq-tunneling-and-vlan-translation)\n"
                },
                "speed": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`100m`\" pulumi-lang-dotnet=\"`100m`\" pulumi-lang-go=\"`100m`\" pulumi-lang-python=\"`100m`\" pulumi-lang-yaml=\"`100m`\" pulumi-lang-java=\"`100m`\" pulumi-lang-hcl=\"`100m`\"\u003e`100m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10m`\" pulumi-lang-dotnet=\"`10m`\" pulumi-lang-go=\"`10m`\" pulumi-lang-python=\"`10m`\" pulumi-lang-yaml=\"`10m`\" pulumi-lang-java=\"`10m`\" pulumi-lang-hcl=\"`10m`\"\u003e`10m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1g`\" pulumi-lang-dotnet=\"`1g`\" pulumi-lang-go=\"`1g`\" pulumi-lang-python=\"`1g`\" pulumi-lang-yaml=\"`1g`\" pulumi-lang-java=\"`1g`\" pulumi-lang-hcl=\"`1g`\"\u003e`1g`\u003c/span\u003e, `2.5g`, \u003cspan pulumi-lang-nodejs=\"`5g`\" pulumi-lang-dotnet=\"`5g`\" pulumi-lang-go=\"`5g`\" pulumi-lang-python=\"`5g`\" pulumi-lang-yaml=\"`5g`\" pulumi-lang-java=\"`5g`\" pulumi-lang-hcl=\"`5g`\"\u003e`5g`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`10g`\" pulumi-lang-dotnet=\"`10g`\" pulumi-lang-go=\"`10g`\" pulumi-lang-python=\"`10g`\" pulumi-lang-yaml=\"`10g`\" pulumi-lang-java=\"`10g`\" pulumi-lang-hcl=\"`10g`\"\u003e`10g`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`25g`\" pulumi-lang-dotnet=\"`25g`\" pulumi-lang-go=\"`25g`\" pulumi-lang-python=\"`25g`\" pulumi-lang-yaml=\"`25g`\" pulumi-lang-java=\"`25g`\" pulumi-lang-hcl=\"`25g`\"\u003e`25g`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`40g`\" pulumi-lang-dotnet=\"`40g`\" pulumi-lang-go=\"`40g`\" pulumi-lang-python=\"`40g`\" pulumi-lang-yaml=\"`40g`\" pulumi-lang-java=\"`40g`\" pulumi-lang-hcl=\"`40g`\"\u003e`40g`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`100g`\" pulumi-lang-dotnet=\"`100g`\" pulumi-lang-go=\"`100g`\" pulumi-lang-python=\"`100g`\" pulumi-lang-yaml=\"`100g`\" pulumi-lang-java=\"`100g`\" pulumi-lang-hcl=\"`100g`\"\u003e`100g`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Port usage name. For Q-in-Q, use \u003cspan pulumi-lang-nodejs=\"`vlanTunnel`\" pulumi-lang-dotnet=\"`VlanTunnel`\" pulumi-lang-go=\"`vlanTunnel`\" pulumi-lang-python=\"`vlan_tunnel`\" pulumi-lang-yaml=\"`vlanTunnel`\" pulumi-lang-java=\"`vlanTunnel`\" pulumi-lang-hcl=\"`vlan_tunnel`\"\u003e`vlanTunnel`\u003c/span\u003e. If EVPN is used, use \u003cspan pulumi-lang-nodejs=\"`evpnUplink`\" pulumi-lang-dotnet=\"`EvpnUplink`\" pulumi-lang-go=\"`evpnUplink`\" pulumi-lang-python=\"`evpn_uplink`\" pulumi-lang-yaml=\"`evpnUplink`\" pulumi-lang-java=\"`evpnUplink`\" pulumi-lang-hcl=\"`evpn_uplink`\"\u003e`evpnUplink`\u003c/span\u003eor \u003cspan pulumi-lang-nodejs=\"`evpnDownlink`\" pulumi-lang-dotnet=\"`EvpnDownlink`\" pulumi-lang-go=\"`evpnDownlink`\" pulumi-lang-python=\"`evpn_downlink`\" pulumi-lang-yaml=\"`evpnDownlink`\" pulumi-lang-java=\"`evpnDownlink`\" pulumi-lang-hcl=\"`evpn_downlink`\"\u003e`evpnDownlink`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "usage"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "critical",
                        "noLocalOverwrite",
                        "usage"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMatchingRulePortMirroring:NetworktemplateSwitchMatchingRulePortMirroring": {
            "properties": {
                "inputNetworksIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one of the \u003cspan pulumi-lang-nodejs=\"`inputPortIdsIngress`\" pulumi-lang-dotnet=\"`InputPortIdsIngress`\" pulumi-lang-go=\"`inputPortIdsIngress`\" pulumi-lang-python=\"`input_port_ids_ingress`\" pulumi-lang-yaml=\"`inputPortIdsIngress`\" pulumi-lang-java=\"`inputPortIdsIngress`\" pulumi-lang-hcl=\"`input_port_ids_ingress`\"\u003e`inputPortIdsIngress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inputPortIdsEgress`\" pulumi-lang-dotnet=\"`InputPortIdsEgress`\" pulumi-lang-go=\"`inputPortIdsEgress`\" pulumi-lang-python=\"`input_port_ids_egress`\" pulumi-lang-yaml=\"`inputPortIdsEgress`\" pulumi-lang-java=\"`inputPortIdsEgress`\" pulumi-lang-hcl=\"`input_port_ids_egress`\"\u003e`inputPortIdsEgress`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inputNetworksIngress \" pulumi-lang-dotnet=\"`InputNetworksIngress \" pulumi-lang-go=\"`inputNetworksIngress \" pulumi-lang-python=\"`input_networks_ingress \" pulumi-lang-yaml=\"`inputNetworksIngress \" pulumi-lang-java=\"`inputNetworksIngress \" pulumi-lang-hcl=\"`input_networks_ingress \"\u003e`inputNetworksIngress \u003c/span\u003e` should be specified\n"
                },
                "inputPortIdsEgresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one of the \u003cspan pulumi-lang-nodejs=\"`inputPortIdsIngress`\" pulumi-lang-dotnet=\"`InputPortIdsIngress`\" pulumi-lang-go=\"`inputPortIdsIngress`\" pulumi-lang-python=\"`input_port_ids_ingress`\" pulumi-lang-yaml=\"`inputPortIdsIngress`\" pulumi-lang-java=\"`inputPortIdsIngress`\" pulumi-lang-hcl=\"`input_port_ids_ingress`\"\u003e`inputPortIdsIngress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inputPortIdsEgress`\" pulumi-lang-dotnet=\"`InputPortIdsEgress`\" pulumi-lang-go=\"`inputPortIdsEgress`\" pulumi-lang-python=\"`input_port_ids_egress`\" pulumi-lang-yaml=\"`inputPortIdsEgress`\" pulumi-lang-java=\"`inputPortIdsEgress`\" pulumi-lang-hcl=\"`input_port_ids_egress`\"\u003e`inputPortIdsEgress`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inputNetworksIngress \" pulumi-lang-dotnet=\"`InputNetworksIngress \" pulumi-lang-go=\"`inputNetworksIngress \" pulumi-lang-python=\"`input_networks_ingress \" pulumi-lang-yaml=\"`inputNetworksIngress \" pulumi-lang-java=\"`inputNetworksIngress \" pulumi-lang-hcl=\"`input_networks_ingress \"\u003e`inputNetworksIngress \u003c/span\u003e` should be specified\n"
                },
                "inputPortIdsIngresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "At least one of the \u003cspan pulumi-lang-nodejs=\"`inputPortIdsIngress`\" pulumi-lang-dotnet=\"`InputPortIdsIngress`\" pulumi-lang-go=\"`inputPortIdsIngress`\" pulumi-lang-python=\"`input_port_ids_ingress`\" pulumi-lang-yaml=\"`inputPortIdsIngress`\" pulumi-lang-java=\"`inputPortIdsIngress`\" pulumi-lang-hcl=\"`input_port_ids_ingress`\"\u003e`inputPortIdsIngress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inputPortIdsEgress`\" pulumi-lang-dotnet=\"`InputPortIdsEgress`\" pulumi-lang-go=\"`inputPortIdsEgress`\" pulumi-lang-python=\"`input_port_ids_egress`\" pulumi-lang-yaml=\"`inputPortIdsEgress`\" pulumi-lang-java=\"`inputPortIdsEgress`\" pulumi-lang-hcl=\"`input_port_ids_egress`\"\u003e`inputPortIdsEgress`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inputNetworksIngress \" pulumi-lang-dotnet=\"`InputNetworksIngress \" pulumi-lang-go=\"`inputNetworksIngress \" pulumi-lang-python=\"`input_networks_ingress \" pulumi-lang-yaml=\"`inputNetworksIngress \" pulumi-lang-java=\"`inputNetworksIngress \" pulumi-lang-hcl=\"`input_networks_ingress \"\u003e`inputNetworksIngress \u003c/span\u003e` should be specified\n"
                },
                "outputIpAddress": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputNetwork": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                },
                "outputPortId": {
                    "type": "string",
                    "description": "Exactly one of the \u003cspan pulumi-lang-nodejs=\"`outputIpAddress`\" pulumi-lang-dotnet=\"`OutputIpAddress`\" pulumi-lang-go=\"`outputIpAddress`\" pulumi-lang-python=\"`output_ip_address`\" pulumi-lang-yaml=\"`outputIpAddress`\" pulumi-lang-java=\"`outputIpAddress`\" pulumi-lang-hcl=\"`output_ip_address`\"\u003e`outputIpAddress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`outputPortId`\" pulumi-lang-dotnet=\"`OutputPortId`\" pulumi-lang-go=\"`outputPortId`\" pulumi-lang-python=\"`output_port_id`\" pulumi-lang-yaml=\"`outputPortId`\" pulumi-lang-java=\"`outputPortId`\" pulumi-lang-hcl=\"`output_port_id`\"\u003e`outputPortId`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outputNetwork`\" pulumi-lang-dotnet=\"`OutputNetwork`\" pulumi-lang-go=\"`outputNetwork`\" pulumi-lang-python=\"`output_network`\" pulumi-lang-yaml=\"`outputNetwork`\" pulumi-lang-java=\"`outputNetwork`\" pulumi-lang-hcl=\"`output_network`\"\u003e`outputNetwork`\u003c/span\u003e should be provided\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "inputNetworksIngresses",
                        "inputPortIdsEgresses",
                        "inputPortIdsIngresses"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMatchingRuleStpConfig:NetworktemplateSwitchMatchingRuleStpConfig": {
            "properties": {
                "bridgePriority": {
                    "type": "string",
                    "description": "Switch STP priority. Range [0, 4k, 8k.. 60k] in steps of 4k. Bridge priority applies to both VSTP and RSTP.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "bridgePriority"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMgmt:NetworktemplateSwitchMgmt": {
            "properties": {
                "apAffinityThreshold": {
                    "type": "integer",
                    "description": "AP_affinity_threshold\u003cspan pulumi-lang-nodejs=\" apAffinityThreshold \" pulumi-lang-dotnet=\" ApAffinityThreshold \" pulumi-lang-go=\" apAffinityThreshold \" pulumi-lang-python=\" ap_affinity_threshold \" pulumi-lang-yaml=\" apAffinityThreshold \" pulumi-lang-java=\" apAffinityThreshold \" pulumi-lang-hcl=\" ap_affinity_threshold \"\u003e apAffinityThreshold \u003c/span\u003ecan be added as a field under site/setting. By default, this value is set to 12. If the field is set in both site/setting and org/setting, the value from site/setting will be used.\n"
                },
                "cliBanner": {
                    "type": "string",
                    "description": "Set Banners for switches. Allows markup formatting\n"
                },
                "cliIdleTimeout": {
                    "type": "integer",
                    "description": "Sets timeout for switches\n"
                },
                "configRevertTimer": {
                    "type": "integer",
                    "description": "Rollback timer for commit confirmed\n"
                },
                "dhcpOptionFqdn": {
                    "type": "boolean",
                    "description": "Enable to provide the FQDN with DHCP option 81\n"
                },
                "disableOobDownAlarm": {
                    "type": "boolean"
                },
                "fipsEnabled": {
                    "type": "boolean"
                },
                "localAccounts": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSwitchMgmtLocalAccounts:NetworktemplateSwitchMgmtLocalAccounts"
                    },
                    "description": "Property key is the user name. For Local user authentication\n"
                },
                "mxedgeProxyHost": {
                    "type": "string",
                    "description": "IP Address or FQDN of the Mist Edge used to proxy the switch management traffic to the Mist Cloud\n"
                },
                "mxedgeProxyPort": {
                    "type": "string",
                    "description": "Mist Edge port used to proxy the switch management traffic to the Mist Cloud. Value in range 1-65535\n"
                },
                "protectRe": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSwitchMgmtProtectRe:NetworktemplateSwitchMgmtProtectRe",
                    "description": "Restrict inbound-traffic to host\nwhen enabled, all traffic that is not essential to our operation will be dropped \ne.g. ntp / dns / traffic to mist will be allowed by default, if dhcpd is enabled, we'll make sure it works\n"
                },
                "removeExistingConfigs": {
                    "type": "boolean",
                    "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed.\n"
                },
                "rootPassword": {
                    "type": "string",
                    "secret": true
                },
                "tacacs": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSwitchMgmtTacacs:NetworktemplateSwitchMgmtTacacs"
                },
                "useMxedgeProxy": {
                    "type": "boolean",
                    "description": "To use mxedge as proxy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "configRevertTimer",
                        "useMxedgeProxy"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMgmtLocalAccounts:NetworktemplateSwitchMgmtLocalAccounts": {
            "properties": {
                "password": {
                    "type": "string",
                    "secret": true
                },
                "role": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\" pulumi-lang-hcl=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helpdesk`\" pulumi-lang-dotnet=\"`Helpdesk`\" pulumi-lang-go=\"`helpdesk`\" pulumi-lang-python=\"`helpdesk`\" pulumi-lang-yaml=\"`helpdesk`\" pulumi-lang-java=\"`helpdesk`\" pulumi-lang-hcl=\"`helpdesk`\"\u003e`helpdesk`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "role"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMgmtProtectRe:NetworktemplateSwitchMgmtProtectRe": {
            "properties": {
                "allowedServices": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "optionally, services we'll allow. enum: \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\" pulumi-lang-hcl=\"`ssh`\"\u003e`ssh`\u003c/span\u003e\n"
                },
                "customs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSwitchMgmtProtectReCustom:NetworktemplateSwitchMgmtProtectReCustom"
                    }
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled, all traffic that is not essential to our operation will be dropped\ne.g. ntp / dns / traffic to mist will be allowed by default\n     if dhcpd is enabled, we'll make sure it works\n"
                },
                "hitCount": {
                    "type": "boolean",
                    "description": "Whether to enable hit count for Protect_RE policy\n"
                },
                "trustedHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "host/subnets we'll allow traffic to/from\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowedServices",
                        "customs",
                        "enabled",
                        "hitCount",
                        "trustedHosts"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMgmtProtectReCustom:NetworktemplateSwitchMgmtProtectReCustom": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "matched dst port, \"0\" means any. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "subnets"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol",
                        "subnets"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMgmtTacacs:NetworktemplateSwitchMgmtTacacs": {
            "properties": {
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSwitchMgmtTacacsAcctServer:NetworktemplateSwitchMgmtTacacsAcctServer"
                    }
                },
                "defaultRole": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\" pulumi-lang-hcl=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helpdesk`\" pulumi-lang-dotnet=\"`Helpdesk`\" pulumi-lang-go=\"`helpdesk`\" pulumi-lang-python=\"`helpdesk`\" pulumi-lang-yaml=\"`helpdesk`\" pulumi-lang-java=\"`helpdesk`\" pulumi-lang-hcl=\"`helpdesk`\"\u003e`helpdesk`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "network": {
                    "type": "string",
                    "description": "Which network the TACACS server resides\n"
                },
                "tacplusServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSwitchMgmtTacacsTacplusServer:NetworktemplateSwitchMgmtTacacsTacplusServer"
                    }
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateSwitchMgmtTacacsAcctServer:NetworktemplateSwitchMgmtTacacsAcctServer": {
            "properties": {
                "host": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "secret": {
                    "type": "string",
                    "secret": true
                },
                "timeout": {
                    "type": "integer"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeout"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateSwitchMgmtTacacsTacplusServer:NetworktemplateSwitchMgmtTacacsTacplusServer": {
            "properties": {
                "host": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "secret": {
                    "type": "string",
                    "secret": true
                },
                "timeout": {
                    "type": "integer"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeout"
                    ]
                }
            }
        },
        "junipermist:site/NetworktemplateVrfConfig:NetworktemplateVrfConfig": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable VRF (when supported on the device)\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateVrfInstances:NetworktemplateVrfInstances": {
            "properties": {
                "evpnAutoLoopbackSubnet": {
                    "type": "string"
                },
                "evpnAutoLoopbackSubnet6": {
                    "type": "string"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateVrfInstancesExtraRoutes:NetworktemplateVrfInstancesExtraRoutes"
                    },
                    "description": "Property key is the destination CIDR (e.g. \"10.0.0.0/8\")\n"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateVrfInstancesExtraRoutes6:NetworktemplateVrfInstancesExtraRoutes6"
                    },
                    "description": "Property key is the destination CIDR (e.g. \"2a02:1234:420a:10c9::/64\")\n"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateVrfInstancesExtraRoutes6:NetworktemplateVrfInstancesExtraRoutes6": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop address\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/NetworktemplateVrfInstancesExtraRoutes:NetworktemplateVrfInstancesExtraRoutes": {
            "properties": {
                "via": {
                    "type": "string",
                    "description": "Next-hop address\n"
                }
            },
            "type": "object",
            "required": [
                "via"
            ]
        },
        "junipermist:site/SettingAnalytic:SettingAnalytic": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Enable Advanced Analytic feature (using SUB-ANA license)\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingApSyntheticTest:SettingApSyntheticTest": {
            "properties": {
                "additionalVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "VLAN IDs included in addition to the default VLAN set for AP synthetic tests\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingAutoUpgrade:SettingAutoUpgrade": {
            "properties": {
                "customVersions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Per-AP-model firmware versions or channels used for auto-upgrade\n"
                },
                "dayOfWeek": {
                    "type": "string",
                    "description": "Weekly AP auto-upgrade day for the maintenance window\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether auto upgrade should happen (Note that Mist may auto-upgrade if the version is not supported)\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e / HH:MM (24-hour format), upgrade will happen within up to 1-hour from this time\n"
                },
                "version": {
                    "type": "string",
                    "description": "Firmware release channel or custom version used for AP auto-upgrade\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "customVersions",
                        "enabled",
                        "version"
                    ]
                }
            }
        },
        "junipermist:site/SettingAutoUpgradeEsl:SettingAutoUpgradeEsl": {
            "properties": {
                "allowDowngrade": {
                    "type": "boolean",
                    "description": "If true, it will allow downgrade to a lower version\n"
                },
                "customVersions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom versions for different models. Property key is the model name (e.g. \"AP41\")\n"
                },
                "dayOfWeek": {
                    "type": "string",
                    "description": "Weekly ESL auto-upgrade day for the maintenance window\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether auto upgrade should happen (Note that Mist may auto-upgrade if the version is not supported)\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e / HH:MM (24-hour format), upgrade will happen within up to 1-hour from this time\n"
                },
                "version": {
                    "type": "string",
                    "description": "ESL firmware version used for auto-upgrade\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowDowngrade",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingBleConfig:SettingBleConfig": {
            "properties": {
                "beaconEnabled": {
                    "type": "boolean",
                    "description": "Whether Mist beacons is enabled\n"
                },
                "beaconRate": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`beaconRateMode`\" pulumi-lang-dotnet=\"`BeaconRateMode`\" pulumi-lang-go=\"`beaconRateMode`\" pulumi-lang-python=\"`beacon_rate_mode`\" pulumi-lang-yaml=\"`beaconRateMode`\" pulumi-lang-java=\"`beaconRateMode`\" pulumi-lang-hcl=\"`beacon_rate_mode`\"\u003e`beaconRateMode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, 1-10, in number-beacons-per-second\n"
                },
                "beaconRateMode": {
                    "type": "string",
                    "description": "Beacon rate mode for Mist BLE beacons; use custom to set beacon_rate\n"
                },
                "beamDisableds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "AP BLE beam numbers disabled for location advertisements\n"
                },
                "customBlePacketEnabled": {
                    "type": "boolean",
                    "description": "Can be enabled if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to send custom packet\n"
                },
                "customBlePacketFrame": {
                    "type": "string",
                    "description": "The custom frame to be sent out in this beacon. The frame must be a hexstring\n"
                },
                "customBlePacketFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emitted by custom ble beacon\n"
                },
                "eddystoneUidAdvPower": {
                    "type": "integer",
                    "description": "Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default\n"
                },
                "eddystoneUidBeams": {
                    "type": "string",
                    "description": "BLE beams used to transmit Eddystone-UID advertisements, expressed as ranges such as `2-4,7`\n"
                },
                "eddystoneUidEnabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, Whether Eddystone-UID beacon is enabled\n"
                },
                "eddystoneUidFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emit by Eddystone-UID beacon\n"
                },
                "eddystoneUidInstance": {
                    "type": "string",
                    "description": "Eddystone-UID instance for the device\n"
                },
                "eddystoneUidNamespace": {
                    "type": "string",
                    "description": "Eddystone-UID namespace broadcast by the AP, as a 10-byte hex string\n"
                },
                "eddystoneUrlAdvPower": {
                    "type": "integer",
                    "description": "Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default\n"
                },
                "eddystoneUrlBeams": {
                    "type": "string",
                    "description": "BLE beams used to transmit Eddystone-URL advertisements, expressed as ranges such as `2-4,7`\n"
                },
                "eddystoneUrlEnabled": {
                    "type": "boolean",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, Whether Eddystone-URL beacon is enabled\n"
                },
                "eddystoneUrlFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emitted by Eddystone-URL beacon\n"
                },
                "eddystoneUrlUrl": {
                    "type": "string",
                    "description": "URL pointed by Eddystone-URL beacon\n"
                },
                "ibeaconAdvPower": {
                    "type": "integer",
                    "description": "Advertised TX Power, -100 to 20 (dBm), omit this attribute to use default\n"
                },
                "ibeaconBeams": {
                    "type": "string",
                    "description": "BLE beams used to transmit iBeacon advertisements, expressed as ranges such as `2-4,7`\n"
                },
                "ibeaconEnabled": {
                    "type": "boolean",
                    "description": "Can be enabled if \u003cspan pulumi-lang-nodejs=\"`beaconEnabled`\" pulumi-lang-dotnet=\"`BeaconEnabled`\" pulumi-lang-go=\"`beaconEnabled`\" pulumi-lang-python=\"`beacon_enabled`\" pulumi-lang-yaml=\"`beaconEnabled`\" pulumi-lang-java=\"`beaconEnabled`\" pulumi-lang-hcl=\"`beacon_enabled`\"\u003e`beaconEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether to send iBeacon\n"
                },
                "ibeaconFreqMsec": {
                    "type": "integer",
                    "description": "Frequency (msec) of data emit for iBeacon\n"
                },
                "ibeaconMajor": {
                    "type": "integer",
                    "description": "iBeacon major value broadcast by the AP\n"
                },
                "ibeaconMinor": {
                    "type": "integer",
                    "description": "iBeacon minor value broadcast by the AP\n"
                },
                "ibeaconUuid": {
                    "type": "string",
                    "description": "Optional, if not specified, the same UUID as the beacon will be used\n"
                },
                "power": {
                    "type": "integer",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`powerMode`\" pulumi-lang-dotnet=\"`PowerMode`\" pulumi-lang-go=\"`powerMode`\" pulumi-lang-python=\"`power_mode`\" pulumi-lang-yaml=\"`powerMode`\" pulumi-lang-java=\"`powerMode`\" pulumi-lang-hcl=\"`power_mode`\"\u003e`powerMode`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e; else use \u003cspan pulumi-lang-nodejs=\"`powerMode`\" pulumi-lang-dotnet=\"`PowerMode`\" pulumi-lang-go=\"`powerMode`\" pulumi-lang-python=\"`power_mode`\" pulumi-lang-yaml=\"`powerMode`\" pulumi-lang-java=\"`powerMode`\" pulumi-lang-hcl=\"`power_mode`\"\u003e`powerMode`\u003c/span\u003e as default\n"
                },
                "powerMode": {
                    "type": "string",
                    "description": "Transmit power mode for BLE beacons; use custom to set \u003cspan pulumi-lang-nodejs=\"`power`\" pulumi-lang-dotnet=\"`Power`\" pulumi-lang-go=\"`power`\" pulumi-lang-python=\"`power`\" pulumi-lang-yaml=\"`power`\" pulumi-lang-java=\"`power`\" pulumi-lang-hcl=\"`power`\"\u003e`power`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "beaconEnabled",
                        "beaconRateMode",
                        "customBlePacketEnabled",
                        "customBlePacketFrame",
                        "customBlePacketFreqMsec",
                        "eddystoneUidAdvPower",
                        "eddystoneUidBeams",
                        "eddystoneUidEnabled",
                        "eddystoneUidFreqMsec",
                        "eddystoneUidInstance",
                        "eddystoneUidNamespace",
                        "eddystoneUrlAdvPower",
                        "eddystoneUrlBeams",
                        "eddystoneUrlEnabled",
                        "eddystoneUrlFreqMsec",
                        "eddystoneUrlUrl",
                        "ibeaconAdvPower",
                        "ibeaconBeams",
                        "ibeaconEnabled",
                        "ibeaconFreqMsec",
                        "ibeaconMajor",
                        "ibeaconMinor",
                        "ibeaconUuid",
                        "power",
                        "powerMode"
                    ]
                }
            }
        },
        "junipermist:site/SettingConfigPushPolicy:SettingConfigPushPolicy": {
            "properties": {
                "noPush": {
                    "type": "boolean",
                    "description": "Stop any new config from being pushed to the device\n"
                },
                "pushWindow": {
                    "$ref": "#/types/junipermist:site/SettingConfigPushPolicyPushWindow:SettingConfigPushPolicyPushWindow",
                    "description": "Allowed time window during which configuration pushes may run\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "noPush"
                    ]
                }
            }
        },
        "junipermist:site/SettingConfigPushPolicyPushWindow:SettingConfigPushPolicyPushWindow": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether configuration pushes are limited to the configured push window\n"
                },
                "hours": {
                    "$ref": "#/types/junipermist:site/SettingConfigPushPolicyPushWindowHours:SettingConfigPushPolicyPushWindowHours",
                    "description": "Day-of-week hour ranges when configuration pushes are allowed\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingConfigPushPolicyPushWindowHours:SettingConfigPushPolicyPushWindowHours": {
            "properties": {
                "fri": {
                    "type": "string",
                    "description": "Operating hour range for Friday\n"
                },
                "mon": {
                    "type": "string",
                    "description": "Operating hour range for Monday\n"
                },
                "sat": {
                    "type": "string",
                    "description": "Operating hour range for Saturday\n"
                },
                "sun": {
                    "type": "string",
                    "description": "Operating hour range for Sunday\n"
                },
                "thu": {
                    "type": "string",
                    "description": "Operating hour range for Thursday\n"
                },
                "tue": {
                    "type": "string",
                    "description": "Operating hour range for Tuesday\n"
                },
                "wed": {
                    "type": "string",
                    "description": "Operating hour range for Wednesday\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "fri",
                        "mon",
                        "sat",
                        "sun",
                        "thu",
                        "tue",
                        "wed"
                    ]
                }
            }
        },
        "junipermist:site/SettingCriticalUrlMonitoring:SettingCriticalUrlMonitoring": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether critical URL monitoring is enabled\n"
                },
                "monitors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingCriticalUrlMonitoringMonitor:SettingCriticalUrlMonitoringMonitor"
                    },
                    "description": "Critical URLs monitored for site health latency\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "monitors"
                    ]
                }
            }
        },
        "junipermist:site/SettingCriticalUrlMonitoringMonitor:SettingCriticalUrlMonitoringMonitor": {
            "properties": {
                "url": {
                    "type": "string",
                    "description": "Monitored HTTP or HTTPS URL used for site health latency\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "Source VLAN ID used to run the critical URL monitor\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingEngagement:SettingEngagement": {
            "properties": {
                "dwellTagNames": {
                    "$ref": "#/types/junipermist:site/SettingEngagementDwellTagNames:SettingEngagementDwellTagNames",
                    "description": "Display labels for dwell-time visit categories\n"
                },
                "dwellTags": {
                    "$ref": "#/types/junipermist:site/SettingEngagementDwellTags:SettingEngagementDwellTags",
                    "description": "Visit duration ranges used to assign engagement categories\n"
                },
                "hours": {
                    "$ref": "#/types/junipermist:site/SettingEngagementHours:SettingEngagementHours",
                    "description": "Schedule during which engagement analytics rules apply\n"
                },
                "maxDwell": {
                    "type": "integer",
                    "description": "Maximum dwell time in seconds considered by engagement analytics\n"
                },
                "minDwell": {
                    "type": "integer",
                    "description": "Minimum dwell time in seconds for engagement analytics\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingEngagementDwellTagNames:SettingEngagementDwellTagNames": {
            "properties": {
                "bounce": {
                    "type": "string",
                    "description": "Default to `Visitor`\n"
                },
                "engaged": {
                    "type": "string",
                    "description": "Default to `Associates`\n"
                },
                "passerby": {
                    "type": "string",
                    "description": "Default to `Passerby`\n"
                },
                "stationed": {
                    "type": "string",
                    "description": "Default to `Assets`\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "bounce",
                        "engaged",
                        "passerby",
                        "stationed"
                    ]
                }
            }
        },
        "junipermist:site/SettingEngagementDwellTags:SettingEngagementDwellTags": {
            "properties": {
                "bounce": {
                    "type": "string",
                    "description": "Default to `301-14400`\n"
                },
                "engaged": {
                    "type": "string",
                    "description": "Default to `14401-28800`\n"
                },
                "passerby": {
                    "type": "string",
                    "description": "Default to `1-300`\n"
                },
                "stationed": {
                    "type": "string",
                    "description": "Default to `28801-42000`\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "bounce",
                        "engaged",
                        "passerby",
                        "stationed"
                    ]
                }
            }
        },
        "junipermist:site/SettingEngagementHours:SettingEngagementHours": {
            "properties": {
                "fri": {
                    "type": "string",
                    "description": "Operating hour range for Friday\n"
                },
                "mon": {
                    "type": "string",
                    "description": "Operating hour range for Monday\n"
                },
                "sat": {
                    "type": "string",
                    "description": "Operating hour range for Saturday\n"
                },
                "sun": {
                    "type": "string",
                    "description": "Operating hour range for Sunday\n"
                },
                "thu": {
                    "type": "string",
                    "description": "Operating hour range for Thursday\n"
                },
                "tue": {
                    "type": "string",
                    "description": "Operating hour range for Tuesday\n"
                },
                "wed": {
                    "type": "string",
                    "description": "Operating hour range for Wednesday\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingGatewayMgmt:SettingGatewayMgmt": {
            "properties": {
                "adminSshkeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSR-only SSH public keys for administrative access\n"
                },
                "appProbing": {
                    "$ref": "#/types/junipermist:site/SettingGatewayMgmtAppProbing:SettingGatewayMgmtAppProbing",
                    "description": "Application probing configuration for gateway monitoring\n"
                },
                "appUsage": {
                    "type": "boolean",
                    "description": "Consumes uplink bandwidth, requires WA license\n"
                },
                "autoSignatureUpdate": {
                    "$ref": "#/types/junipermist:site/SettingGatewayMgmtAutoSignatureUpdate:SettingGatewayMgmtAutoSignatureUpdate",
                    "description": "Schedule for automatic security signature updates\n"
                },
                "configRevertTimer": {
                    "type": "integer",
                    "description": "Rollback timer for commit confirmed\n"
                },
                "disableConsole": {
                    "type": "boolean",
                    "description": "For SSR and SRX, disable console port\n"
                },
                "disableOob": {
                    "type": "boolean",
                    "description": "For SSR and SRX, disable management interface\n"
                },
                "disableUsb": {
                    "type": "boolean",
                    "description": "For SSR and SRX, disable usb interface\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the gateway\n"
                },
                "probeHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IPv4 probe targets used for gateway connectivity checks\n"
                },
                "probeHostsv6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IPv6 probe targets used for gateway connectivity checks\n"
                },
                "protectRe": {
                    "$ref": "#/types/junipermist:site/SettingGatewayMgmtProtectRe:SettingGatewayMgmtProtectRe",
                    "description": "Control-plane protection settings for the gateway\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "SRX only. Root password for local gateway access\n",
                    "secret": true
                },
                "securityLogSourceAddress": {
                    "type": "string",
                    "description": "IPv4 source address used for gateway security log traffic\n"
                },
                "securityLogSourceInterface": {
                    "type": "string",
                    "description": "Source interface used for gateway security log traffic\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "adminSshkeys",
                        "probeHosts",
                        "probeHostsv6s",
                        "securityLogSourceInterface"
                    ]
                }
            }
        },
        "junipermist:site/SettingGatewayMgmtAppProbing:SettingGatewayMgmtAppProbing": {
            "properties": {
                "apps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Predefined application keys to probe\n"
                },
                "customApps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingGatewayMgmtAppProbingCustomApp:SettingGatewayMgmtAppProbingCustomApp"
                    },
                    "description": "User-defined application probe definitions\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether gateway application probing is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingGatewayMgmtAppProbingCustomApp:SettingGatewayMgmtAppProbingCustomApp": {
            "properties": {
                "address": {
                    "type": "string"
                },
                "appType": {
                    "type": "string",
                    "description": "Category label used for this custom application probe\n"
                },
                "hostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only 1 entry is allowed:\n    * if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e: URL (e.g. `http://test.com` or `https://test.com`)\n    * if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e: IP Address (e.g. `1.2.3.4`)\n"
                },
                "key": {
                    "type": "string",
                    "description": "Stable key used to identify this custom application probe\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for this custom application probe\n"
                },
                "network": {
                    "type": "string",
                    "description": "Gateway network used as the source context for this probe\n"
                },
                "packetSize": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e. ICMP packet size used by this custom app probe\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Probe protocol used by this custom application definition\n"
                },
                "url": {
                    "type": "string"
                },
                "vrf": {
                    "type": "string",
                    "description": "Gateway VRF used as the source context for this probe\n"
                }
            },
            "type": "object",
            "required": [
                "hostnames",
                "name",
                "protocol"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "address",
                        "hostnames",
                        "key",
                        "name",
                        "protocol",
                        "url"
                    ]
                }
            }
        },
        "junipermist:site/SettingGatewayMgmtAutoSignatureUpdate:SettingGatewayMgmtAutoSignatureUpdate": {
            "properties": {
                "dayOfWeek": {
                    "type": "string",
                    "description": "Scheduled weekday for automatic signature updates\n"
                },
                "enable": {
                    "type": "boolean",
                    "description": "Whether automatic security signature updates are enabled\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "Optional, Mist will decide the timing\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "dayOfWeek",
                        "enable"
                    ]
                }
            }
        },
        "junipermist:site/SettingGatewayMgmtProtectRe:SettingGatewayMgmtProtectRe": {
            "properties": {
                "allowedServices": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "optionally, services we'll allow. enum: \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ssh`\" pulumi-lang-dotnet=\"`Ssh`\" pulumi-lang-go=\"`ssh`\" pulumi-lang-python=\"`ssh`\" pulumi-lang-yaml=\"`ssh`\" pulumi-lang-java=\"`ssh`\" pulumi-lang-hcl=\"`ssh`\"\u003e`ssh`\u003c/span\u003e\n"
                },
                "customs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingGatewayMgmtProtectReCustom:SettingGatewayMgmtProtectReCustom"
                    },
                    "description": "Additional ACL entries allowed by the Protect RE policy\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled, all traffic that is not essential to our operation will be dropped\ne.g. ntp / dns / traffic to mist will be allowed by default\n     if dhcpd is enabled, we'll make sure it works\n"
                },
                "hitCount": {
                    "type": "boolean",
                    "description": "Whether to enable hit count for Protect_RE policy\n"
                },
                "trustedHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trusted host or subnet entries allowed by the Protect RE policy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowedServices",
                        "customs",
                        "enabled",
                        "hitCount",
                        "trustedHosts"
                    ]
                }
            }
        },
        "junipermist:site/SettingGatewayMgmtProtectReCustom:SettingGatewayMgmtProtectReCustom": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "matched dst port, \"0\" means any. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\" pulumi-lang-hcl=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\" pulumi-lang-hcl=\"`udp`\"\u003e`udp`\u003c/span\u003e. Note: For \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e and  \u003cspan pulumi-lang-nodejs=\"`portRange`\" pulumi-lang-dotnet=\"`PortRange`\" pulumi-lang-go=\"`portRange`\" pulumi-lang-python=\"`port_range`\" pulumi-lang-yaml=\"`portRange`\" pulumi-lang-java=\"`portRange`\" pulumi-lang-hcl=\"`port_range`\"\u003e`portRange`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\" pulumi-lang-hcl=\"`any`\"\u003e`any`\u003c/span\u003e, configure \u003cspan pulumi-lang-nodejs=\"`trustedHosts`\" pulumi-lang-dotnet=\"`TrustedHosts`\" pulumi-lang-go=\"`trustedHosts`\" pulumi-lang-python=\"`trusted_hosts`\" pulumi-lang-yaml=\"`trustedHosts`\" pulumi-lang-java=\"`trustedHosts`\" pulumi-lang-hcl=\"`trusted_hosts`\"\u003e`trustedHosts`\u003c/span\u003e instead\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source subnets matched by this custom Protect RE ACL\n"
                }
            },
            "type": "object",
            "required": [
                "subnets"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol",
                        "subnets"
                    ]
                }
            }
        },
        "junipermist:site/SettingIotproxy:SettingIotproxy": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the site IoT proxy is enabled\n"
                },
                "visionline": {
                    "$ref": "#/types/junipermist:site/SettingIotproxyVisionline:SettingIotproxyVisionline",
                    "description": "Site access-control integration settings for Visionline\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingIotproxyVisionline:SettingIotproxyVisionline": {
            "properties": {
                "accessId": {
                    "type": "string",
                    "description": "Access ID for the Visionline service\n"
                },
                "cacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "PEM-encoded CA certificates used to verify the Visionline collector's TLS certificate. Required when the collector uses a self-signed certificate\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the Visionline integration is enabled\n"
                },
                "host": {
                    "type": "string",
                    "description": "Collector hostname or IP address for Visionline\n"
                },
                "password": {
                    "type": "string",
                    "description": "Visionline service password used by the IoT proxy\n",
                    "secret": true
                },
                "port": {
                    "type": "integer",
                    "description": "TCP port of the Visionline collector\n"
                },
                "username": {
                    "type": "string",
                    "description": "Visionline service username used by the IoT proxy\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "port"
                    ]
                }
            }
        },
        "junipermist:site/SettingJuniperSrx:SettingJuniperSrx": {
            "properties": {
                "autoUpgrade": {
                    "$ref": "#/types/junipermist:site/SettingJuniperSrxAutoUpgrade:SettingJuniperSrxAutoUpgrade",
                    "description": "SRX auto-upgrade settings applied when SRX devices are onboarded\n"
                },
                "gateways": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingJuniperSrxGateway:SettingJuniperSrxGateway"
                    },
                    "description": "SRX gateways integrated with this site\n"
                },
                "sendMistNacUserInfo": {
                    "type": "boolean",
                    "description": "Whether Mist NAC user information is sent to Juniper SRX gateways\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingJuniperSrxAutoUpgrade:SettingJuniperSrxAutoUpgrade": {
            "properties": {
                "customVersions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Per-SRX-model firmware versions to deploy instead of the default version\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SRX auto-upgrade is enabled for newly onboarded devices\n"
                },
                "snapshot": {
                    "type": "boolean",
                    "description": "Whether to take a snapshot during the SRX upgrade process\n"
                },
                "version": {
                    "type": "string",
                    "description": "Firmware version to deploy (e.g. 23.4R2-S5.5). Optional, used when\u003cspan pulumi-lang-nodejs=\" customVersions \" pulumi-lang-dotnet=\" CustomVersions \" pulumi-lang-go=\" customVersions \" pulumi-lang-python=\" custom_versions \" pulumi-lang-yaml=\" customVersions \" pulumi-lang-java=\" customVersions \" pulumi-lang-hcl=\" custom_versions \"\u003e customVersions \u003c/span\u003enot specified\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingJuniperSrxGateway:SettingJuniperSrxGateway": {
            "properties": {
                "apiKey": {
                    "type": "string",
                    "description": "Authentication key used to access the Juniper SRX gateway API\n"
                },
                "apiPassword": {
                    "type": "string",
                    "description": "Authentication password used to access the Juniper SRX gateway API\n"
                },
                "apiUrl": {
                    "type": "string",
                    "description": "Base URL for the Juniper SRX gateway API\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingLed:SettingLed": {
            "properties": {
                "brightness": {
                    "type": "integer",
                    "description": "Indicator LED brightness level from 0 to 255\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the AP indicator LED is enabled\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "brightness",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingMarvis:SettingMarvis": {
            "properties": {
                "autoOperations": {
                    "$ref": "#/types/junipermist:site/SettingMarvisAutoOperations:SettingMarvisAutoOperations",
                    "description": "Automatic remediation operations controlled by Marvis\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingMarvisAutoOperations:SettingMarvisAutoOperations": {
            "properties": {
                "apInsufficientCapacity": {
                    "type": "boolean",
                    "description": "Whether Marvis may remediate AP insufficient-capacity issues automatically\n"
                },
                "apLoop": {
                    "type": "boolean",
                    "description": "Whether Marvis may remediate AP loop issues automatically\n"
                },
                "apNonCompliant": {
                    "type": "boolean",
                    "description": "Whether Marvis may remediate AP non-compliance automatically\n"
                },
                "bouncePortForAbnormalPoeClient": {
                    "type": "boolean",
                    "description": "Whether Marvis may bounce switch ports for abnormal PoE clients\n"
                },
                "disablePortWhenDdosProtocolViolation": {
                    "type": "boolean",
                    "description": "Whether Marvis may disable a port when DDOS protocol violations are detected\n"
                },
                "disablePortWhenRogueDhcpServerDetected": {
                    "type": "boolean",
                    "description": "Whether Marvis may disable a port when a rogue DHCP server is detected\n"
                },
                "gatewayNonCompliant": {
                    "type": "boolean",
                    "description": "Whether Marvis may remediate non-compliant gateways automatically\n"
                },
                "switchMisconfiguredPort": {
                    "type": "boolean",
                    "description": "Whether Marvis may remediate misconfigured switch ports automatically\n"
                },
                "switchPortStuck": {
                    "type": "boolean",
                    "description": "Whether Marvis may remediate stuck switch ports automatically\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "apInsufficientCapacity",
                        "apLoop",
                        "apNonCompliant",
                        "bouncePortForAbnormalPoeClient",
                        "disablePortWhenDdosProtocolViolation",
                        "disablePortWhenRogueDhcpServerDetected",
                        "gatewayNonCompliant",
                        "switchMisconfiguredPort",
                        "switchPortStuck"
                    ]
                }
            }
        },
        "junipermist:site/SettingMxedgeMgmt:SettingMxedgeMgmt": {
            "properties": {
                "configAutoRevert": {
                    "type": "boolean",
                    "description": "Whether the Mist Edge automatically reverts configuration changes if connectivity is lost\n"
                },
                "fipsEnabled": {
                    "type": "boolean",
                    "description": "Whether FIPS mode is enabled on the Mist Edge\n"
                },
                "mistPassword": {
                    "type": "string",
                    "description": "Password for the Mist service account on the Mist Edge\n",
                    "secret": true
                },
                "oobIpType": {
                    "type": "string",
                    "description": "IPv4 address assignment mode for out-of-band management\n"
                },
                "oobIpType6": {
                    "type": "string",
                    "description": "IPv6 address assignment mode for out-of-band management\n"
                },
                "rootPassword": {
                    "type": "string",
                    "description": "Root account password for the Mist Edge\n",
                    "secret": true
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "configAutoRevert",
                        "fipsEnabled",
                        "oobIpType",
                        "oobIpType6"
                    ]
                }
            }
        },
        "junipermist:site/SettingMxtunnel:SettingMxtunnel": {
            "properties": {
                "additionalMxtunnels": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/SettingMxtunnelAdditionalMxtunnels:SettingMxtunnelAdditionalMxtunnels"
                    },
                    "description": "Additional named Mist Tunnel definitions configured for the site\n"
                },
                "apSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AP source subnets allowed to establish Mist Tunnels\n"
                },
                "autoPreemption": {
                    "$ref": "#/types/junipermist:site/SettingMxtunnelAutoPreemption:SettingMxtunnelAutoPreemption",
                    "description": "Preemption behavior for restoring preferred tunnel peers after failover\n"
                },
                "clusters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingMxtunnelCluster:SettingMxtunnelCluster"
                    },
                    "description": "Tunnel peer clusters used by APs for this site Mist Tunnel\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "Timestamp when the site Mist Tunnel configuration was created\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether site Mist Tunnel tunneling is enabled\n"
                },
                "forSite": {
                    "type": "boolean",
                    "description": "Whether this Mist Tunnel configuration is scoped to a site\n"
                },
                "helloInterval": {
                    "type": "integer",
                    "description": "In seconds, used as heartbeat to detect if a tunnel is alive. AP will try another peer after missing N hellos specified by hello_retries\n"
                },
                "helloRetries": {
                    "type": "integer",
                    "description": "Number of missed hello heartbeats before an AP tries another tunnel peer\n"
                },
                "hosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tunnel peer hostnames or IP addresses reachable from APs\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique value identifying the site Mist Tunnel configuration\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "Timestamp when the site Mist Tunnel configuration was last modified\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "0 to enable MTU, 552-1500 to start MTU with a lower MTU\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Identifier of the org that owns the site Mist Tunnel configuration\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Encapsulation protocol used for the site Mist Tunnel\n"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:site/SettingMxtunnelRadsec:SettingMxtunnelRadsec",
                    "description": "TLS-secured RADIUS proxy settings for the site Mist Tunnel\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Identifier of the site that owns this Mist Tunnel configuration\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of VLAN IDs carried by this site Mist Tunnel\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "helloInterval",
                        "helloRetries",
                        "mtu",
                        "protocol"
                    ]
                }
            }
        },
        "junipermist:site/SettingMxtunnelAdditionalMxtunnels:SettingMxtunnelAdditionalMxtunnels": {
            "properties": {
                "helloInterval": {
                    "type": "integer",
                    "description": "In seconds, used as heartbeat to detect if a tunnel is alive. AP will try another peer after missing N hellos specified by hello_retries\n"
                },
                "helloRetries": {
                    "type": "integer",
                    "description": "Number of missed hello heartbeats before an AP tries another tunnel peer\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Encapsulation protocol used for this additional Mist Tunnel\n"
                },
                "tuntermClusters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingMxtunnelAdditionalMxtunnelsTuntermCluster:SettingMxtunnelAdditionalMxtunnelsTuntermCluster"
                    },
                    "description": "Tunnel peer clusters used by APs for this additional Mist Tunnel\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of VLAN IDs carried by this additional Mist Tunnel\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "helloInterval",
                        "helloRetries"
                    ]
                }
            }
        },
        "junipermist:site/SettingMxtunnelAdditionalMxtunnelsTuntermCluster:SettingMxtunnelAdditionalMxtunnelsTuntermCluster": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Peer cluster name used in the site Mist Tunnel configuration\n"
                },
                "tuntermHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tunnel termination hostnames or IP addresses in this peer cluster\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingMxtunnelAutoPreemption:SettingMxtunnelAutoPreemption": {
            "properties": {
                "dayOfWeek": {
                    "type": "string",
                    "description": "Scheduled weekday for auto preemption\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether auto preemption is enabled\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "Scheduled time of day for auto preemption\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "timeOfDay"
                    ]
                }
            }
        },
        "junipermist:site/SettingMxtunnelCluster:SettingMxtunnelCluster": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Peer cluster name used in the site Mist Tunnel configuration\n"
                },
                "tuntermHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tunnel termination hostnames or IP addresses in this peer cluster\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingMxtunnelRadsec:SettingMxtunnelRadsec": {
            "properties": {
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingMxtunnelRadsecAcctServer:SettingMxtunnelRadsecAcctServer"
                    },
                    "description": "RADIUS accounting servers used by the site Mist Tunnel RadSec proxy\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingMxtunnelRadsecAuthServer:SettingMxtunnelRadsecAuthServer"
                    },
                    "description": "RADIUS authentication servers used by the site Mist Tunnel RadSec proxy\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether RadSec proxying is enabled for this site Mist Tunnel\n"
                },
                "useMxedge": {
                    "type": "boolean",
                    "description": "Whether RadSec proxying uses Mist Edge\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingMxtunnelRadsecAcctServer:SettingMxtunnelRadsecAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS accounting server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this accounting server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS accounting server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:site/SettingMxtunnelRadsecAuthServer:SettingMxtunnelRadsecAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS authentication server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this authentication server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS authentication server\n"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS authentication server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "host",
                        "requireMessageAuthenticator",
                        "secret"
                    ]
                }
            }
        },
        "junipermist:site/SettingOccupancy:SettingOccupancy": {
            "properties": {
                "assetsEnabled": {
                    "type": "boolean",
                    "description": "Indicate whether named BLE assets should be included in the zone occupancy calculation\n"
                },
                "clientsEnabled": {
                    "type": "boolean",
                    "description": "Indicate whether connected Wi-Fi clients should be included in the zone occupancy calculation\n"
                },
                "minDuration": {
                    "type": "integer",
                    "description": "Minimum dwell duration before a client or asset is counted in occupancy analytics\n"
                },
                "sdkclientsEnabled": {
                    "type": "boolean",
                    "description": "Indicate whether SDK clients should be included in the zone occupancy calculation\n"
                },
                "unconnectedClientsEnabled": {
                    "type": "boolean",
                    "description": "Indicate whether unconnected Wi-Fi clients should be included in the zone occupancy calculation\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "assetsEnabled",
                        "clientsEnabled",
                        "sdkclientsEnabled",
                        "unconnectedClientsEnabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingProxy:SettingProxy": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Whether this proxy configuration is disabled\n"
                },
                "url": {
                    "type": "string",
                    "description": "Proxy URL used to reach Mist\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingRogue:SettingRogue": {
            "properties": {
                "allowedVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "VLAN IDs allowed by the rogue detection policy\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether rogue detection is enabled\n"
                },
                "honeypotEnabled": {
                    "type": "boolean",
                    "description": "Whether honeypot detection is enabled\n"
                },
                "minDuration": {
                    "type": "integer",
                    "description": "Minimum duration for a bssid to be considered neighbor\n"
                },
                "minRogueDuration": {
                    "type": "integer",
                    "description": "Minimum duration for a bssid to be considered rogue\n"
                },
                "minRogueRssi": {
                    "type": "integer",
                    "description": "Minimum RSSI for an AP to be considered rogue\n"
                },
                "minRssi": {
                    "type": "integer",
                    "description": "Minimum RSSI for an AP to be considered neighbor (ignoring APs that’s far away)\n"
                },
                "whitelistedBssids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "BSSID values or wildcard patterns excluded from rogue detection\n"
                },
                "whitelistedSsids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSID names excluded from rogue detection\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowedVlanIds",
                        "enabled",
                        "honeypotEnabled",
                        "minDuration",
                        "minRssi",
                        "whitelistedBssids",
                        "whitelistedSsids"
                    ]
                }
            }
        },
        "junipermist:site/SettingRtsa:SettingRtsa": {
            "properties": {
                "appWaking": {
                    "type": "boolean",
                    "description": "Whether app wake-up support is enabled for managed mobility\n"
                },
                "disableDeadReckoning": {
                    "type": "boolean",
                    "description": "Whether dead reckoning is disabled for managed mobility\n"
                },
                "disablePressureSensor": {
                    "type": "boolean",
                    "description": "Whether pressure sensor use is disabled for managed mobility\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether managed mobility features are enabled\n"
                },
                "trackAsset": {
                    "type": "boolean",
                    "description": "Whether BLE asset tracking is enabled for managed mobility\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "appWaking",
                        "trackAsset"
                    ]
                }
            }
        },
        "junipermist:site/SettingSimpleAlert:SettingSimpleAlert": {
            "properties": {
                "arpFailure": {
                    "$ref": "#/types/junipermist:site/SettingSimpleAlertArpFailure:SettingSimpleAlertArpFailure",
                    "description": "Thresholds for ARP failure heuristic alerts\n"
                },
                "dhcpFailure": {
                    "$ref": "#/types/junipermist:site/SettingSimpleAlertDhcpFailure:SettingSimpleAlertDhcpFailure",
                    "description": "Thresholds for DHCP failure heuristic alerts\n"
                },
                "dnsFailure": {
                    "$ref": "#/types/junipermist:site/SettingSimpleAlertDnsFailure:SettingSimpleAlertDnsFailure",
                    "description": "Thresholds for DNS failure heuristic alerts\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingSimpleAlertArpFailure:SettingSimpleAlertArpFailure": {
            "properties": {
                "clientCount": {
                    "type": "integer",
                    "description": "Number of distinct clients that must encounter ARP failures before alerting\n"
                },
                "duration": {
                    "type": "integer",
                    "description": "Time window in minutes for evaluating ARP failures\n"
                },
                "incidentCount": {
                    "type": "integer",
                    "description": "Number of ARP failure incidents required within the duration window\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "clientCount",
                        "duration",
                        "incidentCount"
                    ]
                }
            }
        },
        "junipermist:site/SettingSimpleAlertDhcpFailure:SettingSimpleAlertDhcpFailure": {
            "properties": {
                "clientCount": {
                    "type": "integer",
                    "description": "Number of distinct clients that must encounter DHCP failures before alerting\n"
                },
                "duration": {
                    "type": "integer",
                    "description": "Time window in minutes for evaluating DHCP failures\n"
                },
                "incidentCount": {
                    "type": "integer",
                    "description": "Number of DHCP failure incidents required within the duration window\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "clientCount",
                        "duration",
                        "incidentCount"
                    ]
                }
            }
        },
        "junipermist:site/SettingSimpleAlertDnsFailure:SettingSimpleAlertDnsFailure": {
            "properties": {
                "clientCount": {
                    "type": "integer",
                    "description": "Number of distinct clients that must encounter DNS failures before alerting\n"
                },
                "duration": {
                    "type": "integer",
                    "description": "Time window in minutes for evaluating DNS failures\n"
                },
                "incidentCount": {
                    "type": "integer",
                    "description": "Number of DNS failure incidents required within the duration window\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "clientCount",
                        "duration",
                        "incidentCount"
                    ]
                }
            }
        },
        "junipermist:site/SettingSkyatp:SettingSkyatp": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Sky ATP is enabled for the site\n"
                },
                "sendIpMacMapping": {
                    "type": "boolean",
                    "description": "Whether IP-to-MAC mappings are sent to Sky ATP\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "sendIpMacMapping"
                    ]
                }
            }
        },
        "junipermist:site/SettingSleThresholds:SettingSleThresholds": {
            "properties": {
                "capacity": {
                    "type": "integer",
                    "description": "Threshold percentage for capacity SLE scoring\n"
                },
                "coverage": {
                    "type": "integer",
                    "description": "RSSI threshold for coverage SLE scoring, in dBm\n"
                },
                "throughput": {
                    "type": "integer",
                    "description": "Minimum throughput threshold for SLE scoring, in Mbps\n"
                },
                "timetoconnect": {
                    "type": "integer",
                    "description": "Time to connect, in seconds\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "capacity",
                        "coverage",
                        "throughput",
                        "timetoconnect"
                    ]
                }
            }
        },
        "junipermist:site/SettingSrxApp:SettingSrxApp": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Juniper SRX application visibility is enabled\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingSsr:SettingSsr": {
            "properties": {
                "autoUpgrade": {
                    "$ref": "#/types/junipermist:site/SettingSsrAutoUpgrade:SettingSsrAutoUpgrade",
                    "description": "Automatic SSR firmware upgrade settings for newly onboarded devices\n"
                },
                "conductorHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IP addresses or hostnames of conductors used by SSR devices\n"
                },
                "conductorToken": {
                    "type": "string",
                    "description": "Registration token used by SSR devices to connect to the conductor\n",
                    "secret": true
                },
                "disableStats": {
                    "type": "boolean",
                    "description": "Whether stats collection is disabled on SSR devices\n"
                },
                "proxy": {
                    "$ref": "#/types/junipermist:site/SettingSsrProxy:SettingSsrProxy",
                    "description": "Network proxy settings used by SSR devices to reach Mist\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingSsrAutoUpgrade:SettingSsrAutoUpgrade": {
            "properties": {
                "channel": {
                    "type": "string",
                    "description": "Firmware release channel used for SSR auto-upgrade\n"
                },
                "customVersions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Per-model SSR firmware versions used for auto-upgrade\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SSR auto-upgrade is enabled for newly onboarded devices\n"
                },
                "version": {
                    "type": "string",
                    "description": "Firmware version to deploy (e.g. 6.3.0-107.r1). Optional, used when\u003cspan pulumi-lang-nodejs=\" customVersions \" pulumi-lang-dotnet=\" CustomVersions \" pulumi-lang-go=\" customVersions \" pulumi-lang-python=\" custom_versions \" pulumi-lang-yaml=\" customVersions \" pulumi-lang-java=\" customVersions \" pulumi-lang-hcl=\" custom_versions \"\u003e customVersions \u003c/span\u003enot specified\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingSsrProxy:SettingSsrProxy": {
            "properties": {
                "disabled": {
                    "type": "boolean",
                    "description": "Whether the SSR proxy configuration is disabled\n"
                },
                "url": {
                    "type": "string",
                    "description": "Proxy URL that SSR devices use to reach Mist\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingSyntheticTest:SettingSyntheticTest": {
            "properties": {
                "aggressiveness": {
                    "type": "string",
                    "description": "Overall aggressiveness level for synthetic test probes\n"
                },
                "customProbes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/SettingSyntheticTestCustomProbes:SettingSyntheticTestCustomProbes"
                    },
                    "description": "Custom synthetic probe definitions keyed by probe name\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Whether synthetic tests are disabled\n"
                },
                "lanNetworks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingSyntheticTestLanNetwork:SettingSyntheticTestLanNetwork"
                    },
                    "description": "LAN network probe groups used by synthetic tests\n"
                },
                "vlans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingSyntheticTestVlan:SettingSyntheticTestVlan"
                    },
                    "description": "Deprecated VLAN-based synthetic test settings\n",
                    "deprecationMessage": "This attribute is deprecated."
                },
                "wanSpeedtest": {
                    "$ref": "#/types/junipermist:site/SettingSyntheticTestWanSpeedtest:SettingSyntheticTestWanSpeedtest",
                    "description": "WAN speedtest settings for synthetic tests\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingSyntheticTestCustomProbes:SettingSyntheticTestCustomProbes": {
            "properties": {
                "aggressiveness": {
                    "type": "string",
                    "description": "Probe aggressiveness level for this custom synthetic probe\n"
                },
                "target": {
                    "type": "string",
                    "description": "Can be URL (e.g. http://x.com, https://x.com:8080/path/to/resource), IP address, or IP:port combination\n"
                },
                "threshold": {
                    "type": "integer",
                    "description": "Response-time threshold for this custom probe, in milliseconds\n"
                },
                "type": {
                    "type": "string",
                    "description": "Probe type used by this custom synthetic probe\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "aggressiveness",
                        "type"
                    ]
                }
            }
        },
        "junipermist:site/SettingSyntheticTestLanNetwork:SettingSyntheticTestLanNetwork": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "LAN network names where synthetic probes are run\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Synthetic probe names to run on the listed LAN networks\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingSyntheticTestVlan:SettingSyntheticTestVlan": {
            "properties": {
                "customTestUrls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Deprecated custom URLs tested by VLAN-based synthetic probes\n",
                    "deprecationMessage": "This attribute is deprecated."
                },
                "disabled": {
                    "type": "boolean",
                    "description": "For some vlans where we don't want this to run\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Synthetic probe names to run for the listed VLANs\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "VLAN identifiers where synthetic probes are run\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingSyntheticTestWanSpeedtest:SettingSyntheticTestWanSpeedtest": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether scheduled WAN speedtests are enabled\n"
                },
                "timeOfDay": {
                    "type": "string",
                    "description": "Scheduled time of day for WAN speedtests\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "timeOfDay"
                    ]
                }
            }
        },
        "junipermist:site/SettingTuntermMonitoring:SettingTuntermMonitoring": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Can be ip, ipv6, hostname\n"
                },
                "port": {
                    "type": "integer",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\" pulumi-lang-hcl=\"`protocol`\"\u003e`protocol`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\" pulumi-lang-hcl=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, TCP port checked by the monitoring probe\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Monitoring method used for this tunnel termination check\n"
                },
                "srcVlanId": {
                    "type": "integer",
                    "description": "Optional source for the monitoring check,\u003cspan pulumi-lang-nodejs=\" vlanId \" pulumi-lang-dotnet=\" VlanId \" pulumi-lang-go=\" vlanId \" pulumi-lang-python=\" vlan_id \" pulumi-lang-yaml=\" vlanId \" pulumi-lang-java=\" vlanId \" pulumi-lang-hcl=\" vlan_id \"\u003e vlanId \u003c/span\u003econfigured in tunterm_other_ip_configs\n"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Maximum time for this monitoring check, in seconds\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingTuntermMulticastConfig:SettingTuntermMulticastConfig": {
            "properties": {
                "mdns": {
                    "$ref": "#/types/junipermist:site/SettingTuntermMulticastConfigMdns:SettingTuntermMulticastConfigMdns",
                    "description": "Multicast DNS forwarding settings for tunneled VLANs\n"
                },
                "multicastAll": {
                    "type": "boolean",
                    "description": "Whether all multicast traffic is forwarded through tunnel termination\n"
                },
                "ssdp": {
                    "$ref": "#/types/junipermist:site/SettingTuntermMulticastConfigSsdp:SettingTuntermMulticastConfigSsdp",
                    "description": "Simple Service Discovery Protocol forwarding settings for tunneled VLANs\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingTuntermMulticastConfigMdns:SettingTuntermMulticastConfigMdns": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether mDNS multicast forwarding is enabled\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "VLAN IDs where mDNS multicast forwarding is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingTuntermMulticastConfigSsdp:SettingTuntermMulticastConfigSsdp": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether SSDP multicast forwarding is enabled\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "VLAN IDs where SSDP multicast forwarding is enabled\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingUplinkPortConfig:SettingUplinkPortConfig": {
            "properties": {
                "dot1x": {
                    "type": "boolean",
                    "description": "Whether to do 802.1x against uplink switch. When enabled, AP cert will be used to do EAP-TLS and the Org's CA Cert has to be provisioned at the switch\n"
                },
                "keepWlansUpIfDown": {
                    "type": "boolean",
                    "description": "By default, WLANs are disabled when uplink is down. In some scenario, like SiteSurvey, one would want the AP to keep sending beacons.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "keepWlansUpIfDown"
                    ]
                }
            }
        },
        "junipermist:site/SettingVarsAnnotations:SettingVarsAnnotations": {
            "properties": {
                "note": {
                    "type": "string",
                    "description": "User-provided note to describe what this var was created for\n"
                },
                "type": {
                    "type": "string",
                    "description": "Used to identify where to enumerate / auto-complete the field from. Default is \u003cspan pulumi-lang-nodejs=\"`generic`\" pulumi-lang-dotnet=\"`Generic`\" pulumi-lang-go=\"`generic`\" pulumi-lang-python=\"`generic`\" pulumi-lang-yaml=\"`generic`\" pulumi-lang-java=\"`generic`\" pulumi-lang-hcl=\"`generic`\"\u003e`generic`\u003c/span\u003e (plain string, no special handling).\n\nenum: \u003cspan pulumi-lang-nodejs=\"`generic`\" pulumi-lang-dotnet=\"`Generic`\" pulumi-lang-go=\"`generic`\" pulumi-lang-python=\"`generic`\" pulumi-lang-yaml=\"`generic`\" pulumi-lang-java=\"`generic`\" pulumi-lang-hcl=\"`generic`\"\u003e`generic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxtunnelId`\" pulumi-lang-dotnet=\"`MxtunnelId`\" pulumi-lang-go=\"`mxtunnelId`\" pulumi-lang-python=\"`mxtunnel_id`\" pulumi-lang-yaml=\"`mxtunnelId`\" pulumi-lang-java=\"`mxtunnelId`\" pulumi-lang-hcl=\"`mxtunnel_id`\"\u003e`mxtunnelId`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "type"
                    ]
                }
            }
        },
        "junipermist:site/SettingVna:SettingVna": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Enable Virtual Network Assistant (using SUB-VNA license). This applied to AP / Switch / Gateway\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingVsInstance:SettingVsInstance": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of network names included in this virtual-switch instance\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "networks"
                    ]
                }
            }
        },
        "junipermist:site/SettingWanVna:SettingWanVna": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether WAN VNA is enabled for the site\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingWids:SettingWids": {
            "properties": {
                "repeatedAuthFailures": {
                    "$ref": "#/types/junipermist:site/SettingWidsRepeatedAuthFailures:SettingWidsRepeatedAuthFailures",
                    "description": "Detection settings for repeated authentication failures\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingWidsRepeatedAuthFailures:SettingWidsRepeatedAuthFailures": {
            "properties": {
                "duration": {
                    "type": "integer",
                    "description": "Window where a trigger will be detected and action to be taken (in seconds)\n"
                },
                "threshold": {
                    "type": "integer",
                    "description": "Count of events to trigger\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/SettingWifi:SettingWifi": {
            "properties": {
                "ciscoEnabled": {
                    "type": "boolean",
                    "description": "Whether Cisco compatibility features are enabled for site Wi-Fi\n"
                },
                "disable11k": {
                    "type": "boolean",
                    "description": "Whether to disable 11k\n"
                },
                "disableRadiosWhenPowerConstrained": {
                    "type": "boolean",
                    "description": "Whether AP radios are disabled when AP power is constrained\n"
                },
                "enableArpSpoofCheck": {
                    "type": "boolean",
                    "description": "When\u003cspan pulumi-lang-nodejs=\" proxyArp \" pulumi-lang-dotnet=\" ProxyArp \" pulumi-lang-go=\" proxyArp \" pulumi-lang-python=\" proxy_arp \" pulumi-lang-yaml=\" proxyArp \" pulumi-lang-java=\" proxyArp \" pulumi-lang-hcl=\" proxy_arp \"\u003e proxyArp \u003c/span\u003eis enabled, check for arp spoofing.\n"
                },
                "enableSharedRadioScanning": {
                    "type": "boolean",
                    "description": "Whether shared radio scanning is enabled for site Wi-Fi\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Enable Wi-Fi feature (using SUB-MAN license)\n"
                },
                "locateConnected": {
                    "type": "boolean",
                    "description": "Whether to locate connected clients\n"
                },
                "locateUnconnected": {
                    "type": "boolean",
                    "description": "Whether to locate unconnected clients\n"
                },
                "meshAllowDfs": {
                    "type": "boolean",
                    "description": "Whether to allow Mesh to use DFS channels. For DFS channels, Remote Mesh AP would have to do CAC when scanning for new Base AP, which is slow and will disrupt the connection. If roaming is desired, keep it disabled.\n"
                },
                "meshEnableCrm": {
                    "type": "boolean",
                    "description": "Used to enable/disable CRM\n"
                },
                "meshEnabled": {
                    "type": "boolean",
                    "description": "Whether to enable Mesh feature for the site\n"
                },
                "meshPsk": {
                    "type": "string",
                    "description": "Optional passphrase of mesh networking, default is generated randomly\n",
                    "secret": true
                },
                "meshSsid": {
                    "type": "string",
                    "description": "Optional ssid of mesh networking, default is based on site_id\n"
                },
                "proxyArp": {
                    "type": "string",
                    "description": "ARP proxy mode for site Wi-Fi\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "locateConnected",
                        "locateUnconnected",
                        "meshAllowDfs",
                        "meshEnabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingWiredVna:SettingWiredVna": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Wired VNA is enabled for the site\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/SettingZoneOccupancyAlert:SettingZoneOccupancyAlert": {
            "properties": {
                "emailNotifiers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Notification email recipients for zone occupancy alerts\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Indicate whether zone occupancy alert is enabled for the site\n"
                },
                "threshold": {
                    "type": "integer",
                    "description": "Sending zone-occupancy-alert webhook message only if a zone stays non-compliant (i.e. actual occupancy \u003e occupancy_limit) for a minimum duration specified in the threshold, in minutes\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "emailNotifiers",
                        "enabled",
                        "threshold"
                    ]
                }
            }
        },
        "junipermist:site/WlanAcctServer:WlanAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS accounting server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this accounting server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS accounting server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS accounting server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ]
        },
        "junipermist:site/WlanAirwatch:WlanAirwatch": {
            "properties": {
                "apiKey": {
                    "type": "string",
                    "description": "API key used to authenticate to the AirWatch service\n"
                },
                "consoleUrl": {
                    "type": "string",
                    "description": "Base console URL of the AirWatch deployment\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether AirWatch integration is enabled for the WLAN\n"
                },
                "password": {
                    "type": "string",
                    "description": "AirWatch integration account password for this WLAN\n",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "AirWatch integration account username for this WLAN\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "apiKey",
                        "consoleUrl",
                        "enabled",
                        "password",
                        "username"
                    ]
                }
            }
        },
        "junipermist:site/WlanAppLimit:WlanAppLimit": {
            "properties": {
                "apps": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Map from app key to bandwidth in kbps. \nProperty key is the app key, defined in Get Application List\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether application bandwidth limits are enabled for this WLAN\n"
                },
                "wxtagIds": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Map from\u003cspan pulumi-lang-nodejs=\" wxtagId \" pulumi-lang-dotnet=\" WxtagId \" pulumi-lang-go=\" wxtagId \" pulumi-lang-python=\" wxtag_id \" pulumi-lang-yaml=\" wxtagId \" pulumi-lang-java=\" wxtagId \" pulumi-lang-hcl=\" wxtag_id \"\u003e wxtagId \u003c/span\u003eof Hostname Wxlan Tags to bandwidth in kbps. Property key is the \u003cspan pulumi-lang-nodejs=\"`wxtagId`\" pulumi-lang-dotnet=\"`WxtagId`\" pulumi-lang-go=\"`wxtagId`\" pulumi-lang-python=\"`wxtag_id`\" pulumi-lang-yaml=\"`wxtagId`\" pulumi-lang-java=\"`wxtagId`\" pulumi-lang-hcl=\"`wxtag_id`\"\u003e`wxtagId`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "apps",
                        "enabled",
                        "wxtagIds"
                    ]
                }
            }
        },
        "junipermist:site/WlanAppQos:WlanAppQos": {
            "properties": {
                "apps": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/WlanAppQosApps:WlanAppQosApps"
                    },
                    "description": "Map of application keys to QoS rewrite settings\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether application QoS rewrite rules are enabled for this WLAN\n"
                },
                "others": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WlanAppQosOther:WlanAppQosOther"
                    },
                    "description": "Custom traffic QoS rules that are not tied to named applications\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/WlanAppQosApps:WlanAppQosApps": {
            "properties": {
                "dscp": {
                    "type": "string",
                    "description": "DSCP value range between 0 and 63\n"
                },
                "dstSubnet": {
                    "type": "string",
                    "description": "Subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load)\n"
                },
                "srcSubnet": {
                    "type": "string",
                    "description": "Subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load)\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/WlanAppQosOther:WlanAppQosOther": {
            "properties": {
                "dscp": {
                    "type": "string",
                    "description": "Differentiated Services Code Point value applied to matching traffic\n"
                },
                "dstSubnet": {
                    "type": "string",
                    "description": "Destination subnet filter for this custom QoS rule\n"
                },
                "portRanges": {
                    "type": "string",
                    "description": "TCP or UDP port ranges matched by this custom QoS rule\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "IP protocol matched by this custom QoS rule\n"
                },
                "srcSubnet": {
                    "type": "string",
                    "description": "Source subnet filter for this custom QoS rule\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/WlanAuth:WlanAuth": {
            "properties": {
                "anticlogThreshold": {
                    "type": "integer",
                    "description": "SAE anti-clogging token threshold\n"
                },
                "eapReauth": {
                    "type": "boolean",
                    "description": "Whether to trigger EAP reauth when the session ends\n"
                },
                "enableBeaconProtection": {
                    "type": "boolean",
                    "description": "Enable Beacon Protection; default is false for better compatibility\n"
                },
                "enableGcmp256": {
                    "type": "boolean",
                    "description": "Enable GCMP-256 encryption suite; default is false for better compatibility\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Whether to enable MAC Auth, uses the same auth_servers\n"
                },
                "keyIdx": {
                    "type": "integer",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wep`\" pulumi-lang-dotnet=\"`Wep`\" pulumi-lang-go=\"`wep`\" pulumi-lang-python=\"`wep`\" pulumi-lang-yaml=\"`wep`\" pulumi-lang-java=\"`wep`\" pulumi-lang-hcl=\"`wep`\"\u003e`wep`\u003c/span\u003e, index of the WEP key used as the default transmit key\n"
                },
                "keys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wep`\" pulumi-lang-dotnet=\"`Wep`\" pulumi-lang-go=\"`wep`\" pulumi-lang-python=\"`wep`\" pulumi-lang-yaml=\"`wep`\" pulumi-lang-java=\"`wep`\" pulumi-lang-hcl=\"`wep`\"\u003e`wep`\u003c/span\u003e, WEP keys configured for this WLAN\n"
                },
                "multiPskOnly": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, whether to only use multi_psk\n"
                },
                "owe": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`open`\" pulumi-lang-dotnet=\"`Open`\" pulumi-lang-go=\"`open`\" pulumi-lang-python=\"`open`\" pulumi-lang-yaml=\"`open`\" pulumi-lang-java=\"`open`\" pulumi-lang-hcl=\"`open`\"\u003e`open`\u003c/span\u003e, Opportunistic Wireless Encryption mode for this WLAN\n"
                },
                "pairwises": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e, pairwise cipher suites allowed for this WLAN\n"
                },
                "privateWlan": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`multiPskOnly`\" pulumi-lang-dotnet=\"`MultiPskOnly`\" pulumi-lang-go=\"`multiPskOnly`\" pulumi-lang-python=\"`multi_psk_only`\" pulumi-lang-yaml=\"`multiPskOnly`\" pulumi-lang-java=\"`multiPskOnly`\" pulumi-lang-hcl=\"`multi_psk_only`\"\u003e`multiPskOnly`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether private wlan is enabled\n"
                },
                "psk": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, 8-64 characters, or 64 hex characters\n",
                    "secret": true
                },
                "type": {
                    "type": "string",
                    "description": "Authentication mode used by this WLAN\n"
                },
                "wepAsSecondaryAuth": {
                    "type": "boolean",
                    "description": "Enable WEP as secondary auth\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "eapReauth",
                        "enableMacAuth",
                        "keyIdx",
                        "keys",
                        "multiPskOnly",
                        "privateWlan",
                        "psk",
                        "type"
                    ]
                }
            }
        },
        "junipermist:site/WlanAuthServer:WlanAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RADIUS authentication server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS keywrap is enabled for messages sent to this authentication server\n"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "Encoding format for RADIUS keywrap KEK and MACK values\n"
                },
                "keywrapKek": {
                    "type": "string",
                    "description": "RADIUS keywrap key encryption key (KEK)\n"
                },
                "keywrapMack": {
                    "type": "string",
                    "description": "RADIUS keywrap message authentication code key (MACK)\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used by the RADIUS authentication server\n"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used with this RADIUS authentication server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "host",
                        "requireMessageAuthenticator",
                        "secret"
                    ]
                }
            }
        },
        "junipermist:site/WlanBonjour:WlanBonjour": {
            "properties": {
                "additionalVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional VLAN IDs (on the LAN side or from other WLANs) should we be forwarding bonjour queries/responses\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable bonjour for this WLAN. Once enabled,\u003cspan pulumi-lang-nodejs=\" limitBcast \" pulumi-lang-dotnet=\" LimitBcast \" pulumi-lang-go=\" limitBcast \" pulumi-lang-python=\" limit_bcast \" pulumi-lang-yaml=\" limitBcast \" pulumi-lang-java=\" limitBcast \" pulumi-lang-hcl=\" limit_bcast \"\u003e limitBcast \u003c/span\u003eis assumed true,\u003cspan pulumi-lang-nodejs=\" allowMdns \" pulumi-lang-dotnet=\" AllowMdns \" pulumi-lang-go=\" allowMdns \" pulumi-lang-python=\" allow_mdns \" pulumi-lang-yaml=\" allowMdns \" pulumi-lang-java=\" allowMdns \" pulumi-lang-hcl=\" allow_mdns \"\u003e allowMdns \u003c/span\u003eis assumed false\n"
                },
                "services": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/WlanBonjourServices:WlanBonjourServices"
                    },
                    "description": "What services are allowed. \nProperty key is the service name\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/WlanBonjourServices:WlanBonjourServices": {
            "properties": {
                "disableLocal": {
                    "type": "boolean",
                    "description": "Whether to prevent wireless clients to discover bonjour devices on the same WLAN\n"
                },
                "radiusGroups": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "RADIUS groups allowed to discover this Bonjour service, when restricted\n"
                },
                "scope": {
                    "type": "string",
                    "description": "Discovery scope for this Bonjour service on the WLAN\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableLocal",
                        "scope"
                    ]
                }
            }
        },
        "junipermist:site/WlanCiscoCwa:WlanCiscoCwa": {
            "properties": {
                "allowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Hostnames allowed for Cisco CWA client access before authorization\n"
                },
                "allowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CIDR subnets allowed for Cisco CWA client access before authorization\n"
                },
                "blockedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CIDR subnets blocked for Cisco CWA client access\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether Cisco CWA is enabled for this WLAN\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "allowedHostnames",
                        "allowedSubnets",
                        "blockedSubnets",
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/WlanCoaServer:WlanCoaServer": {
            "properties": {
                "disableEventTimestampCheck": {
                    "type": "boolean",
                    "description": "Whether to disable Event-Timestamp Check\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this RADIUS CoA server is enabled\n"
                },
                "ip": {
                    "type": "string",
                    "description": "Server IPv4 address for RADIUS CoA messages\n"
                },
                "port": {
                    "type": "string",
                    "description": "UDP port used to send RADIUS CoA messages to the server\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Shared secret used to authenticate RADIUS CoA messages\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "ip",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "disableEventTimestampCheck",
                        "enabled",
                        "ip",
                        "secret"
                    ]
                }
            }
        },
        "junipermist:site/WlanDnsServerRewrite:WlanDnsServerRewrite": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether DNS server rewrite by RADIUS group is enabled for this WLAN\n"
                },
                "radiusGroups": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map between\u003cspan pulumi-lang-nodejs=\" radiusGroup \" pulumi-lang-dotnet=\" RadiusGroup \" pulumi-lang-go=\" radiusGroup \" pulumi-lang-python=\" radius_group \" pulumi-lang-yaml=\" radiusGroup \" pulumi-lang-java=\" radiusGroup \" pulumi-lang-hcl=\" radius_group \"\u003e radiusGroup \u003c/span\u003eand the desired DNS server (IPv4 only). Property key is the RADIUS group, property value is the desired DNS Server\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/WlanDynamicPsk:WlanDynamicPsk": {
            "properties": {
                "defaultPsk": {
                    "type": "string",
                    "description": "Default PSK to use if cloud WLC is not available, 8-63 characters\n",
                    "secret": true
                },
                "defaultVlanId": {
                    "type": "string",
                    "description": "Default VLAN ID used when dynamic PSK lookup does not return a VLAN\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether dynamic PSK is enabled for this WLAN\n"
                },
                "forceLookup": {
                    "type": "boolean",
                    "description": "When 11r is enabled, we'll try to use the cached PMK, this can be disabled. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means auto\n"
                },
                "source": {
                    "type": "string",
                    "description": "Origin used to retrieve per-user PSKs\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "forceLookup",
                        "source"
                    ]
                }
            }
        },
        "junipermist:site/WlanDynamicVlan:WlanDynamicVlan": {
            "properties": {
                "defaultVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Fallback VLAN IDs, ranges, or variables used when no RADIUS VLAN match is returned\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to enable dynamic vlan\n"
                },
                "localVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "VLAN IDs that should be locally bridged for dynamic VLAN assignment\n"
                },
                "type": {
                    "type": "string",
                    "description": "Dynamic VLAN mapping method used for RADIUS-provided VLAN attributes\n"
                },
                "vlans": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map between\u003cspan pulumi-lang-nodejs=\" vlanId \" pulumi-lang-dotnet=\" VlanId \" pulumi-lang-go=\" vlanId \" pulumi-lang-python=\" vlan_id \" pulumi-lang-yaml=\" vlanId \" pulumi-lang-java=\" vlanId \" pulumi-lang-hcl=\" vlan_id \"\u003e vlanId \u003c/span\u003e(as string) to airespace interface names (comma-separated) or null for standard mapping\n  * if `dynamic_vlan.type`==\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e, property key is the VLAN ID and property value is \\\"\\\"\n  * if `dynamic_vlan.type`==`airespace-interface-name`, property key is the VLAN ID and property value is the Airespace Interface Name\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "localVlanIds",
                        "type"
                    ]
                }
            }
        },
        "junipermist:site/WlanHotspot20:WlanHotspot20": {
            "properties": {
                "domainNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Advertised domain names for Hotspot 2.0 clients\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable hotspot 2.0 config\n"
                },
                "naiRealms": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NAI realms advertised for Hotspot 2.0 authentication\n"
                },
                "operators": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Operator profiles supported by this Hotspot 2.0 configuration\n"
                },
                "rcois": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Roaming Consortium Organization Identifiers advertised for Hotspot 2.0\n"
                },
                "venueName": {
                    "type": "string",
                    "description": "Venue name, default is site name\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/WlanInjectDhcpOption82:WlanInjectDhcpOption82": {
            "properties": {
                "circuitId": {
                    "type": "string",
                    "description": "Information to set in the \u003cspan pulumi-lang-nodejs=\"`circuitId`\" pulumi-lang-dotnet=\"`CircuitId`\" pulumi-lang-go=\"`circuitId`\" pulumi-lang-python=\"`circuit_id`\" pulumi-lang-yaml=\"`circuitId`\" pulumi-lang-java=\"`circuitId`\" pulumi-lang-hcl=\"`circuit_id`\"\u003e`circuitId`\u003c/span\u003e field of the DHCP Option 82. It is possible to use static string or the following variables (e.g. `{{SSID}}:{{AP_MAC}}`):\n  * {{AP_MAC}}\n  * {{AP_MAC_DASHED}}\n  * {{AP_MODEL}}\n  * {{AP_NAME}}\n  * {{SITE_NAME}}\n  * {{SSID}}\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to inject option 82 when forwarding DHCP packets\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/WlanMistNac:WlanMistNac": {
            "properties": {
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled.\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"retries\" are set to value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"max-requests\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersRetries`\" pulumi-lang-dotnet=\"`AuthServersRetries`\" pulumi-lang-go=\"`authServersRetries`\" pulumi-lang-python=\"`auth_servers_retries`\" pulumi-lang-yaml=\"`authServersRetries`\" pulumi-lang-java=\"`authServersRetries`\" pulumi-lang-hcl=\"`auth_servers_retries`\"\u003e`authServersRetries`\u003c/span\u003e is set to default value to 3.\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"quite-period\" and \"transmit-period\" are set to half the value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"supplicant-timeout\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e is set to default value of 10.\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Allows a RADIUS server to dynamically modify the authorization status of a user session.\n"
                },
                "coaPort": {
                    "type": "integer",
                    "description": "the communication port used for “Change of Authorization” (CoA) messages\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled:\n  * \u003cspan pulumi-lang-nodejs=\"`authServers`\" pulumi-lang-dotnet=\"`AuthServers`\" pulumi-lang-go=\"`authServers`\" pulumi-lang-python=\"`auth_servers`\" pulumi-lang-yaml=\"`authServers`\" pulumi-lang-java=\"`authServers`\" pulumi-lang-hcl=\"`auth_servers`\"\u003e`authServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`acctServers`\" pulumi-lang-dotnet=\"`AcctServers`\" pulumi-lang-go=\"`acctServers`\" pulumi-lang-python=\"`acct_servers`\" pulumi-lang-yaml=\"`acctServers`\" pulumi-lang-java=\"`acctServers`\" pulumi-lang-hcl=\"`acct_servers`\"\u003e`acctServers`\u003c/span\u003e is ignored\n  * `auth_servers_*` are ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaServers`\" pulumi-lang-dotnet=\"`CoaServers`\" pulumi-lang-go=\"`coaServers`\" pulumi-lang-python=\"`coa_servers`\" pulumi-lang-yaml=\"`coaServers`\" pulumi-lang-java=\"`coaServers`\" pulumi-lang-hcl=\"`coa_servers`\"\u003e`coaServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`radsec`\" pulumi-lang-dotnet=\"`Radsec`\" pulumi-lang-go=\"`radsec`\" pulumi-lang-python=\"`radsec`\" pulumi-lang-yaml=\"`radsec`\" pulumi-lang-java=\"`radsec`\" pulumi-lang-hcl=\"`radsec`\"\u003e`radsec`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaEnabled`\" pulumi-lang-dotnet=\"`CoaEnabled`\" pulumi-lang-go=\"`coaEnabled`\" pulumi-lang-python=\"`coa_enabled`\" pulumi-lang-yaml=\"`coaEnabled`\" pulumi-lang-java=\"`coaEnabled`\" pulumi-lang-hcl=\"`coa_enabled`\"\u003e`coaEnabled`\u003c/span\u003e is assumed\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authServerRetries`\" pulumi-lang-dotnet=\"`AuthServerRetries`\" pulumi-lang-go=\"`authServerRetries`\" pulumi-lang-python=\"`auth_server_retries`\" pulumi-lang-yaml=\"`authServerRetries`\" pulumi-lang-java=\"`authServerRetries`\" pulumi-lang-hcl=\"`auth_server_retries`\"\u003e`authServerRetries`\u003c/span\u003e.\n"
                },
                "network": {
                    "type": "string",
                    "description": "Which network the mist nac server resides in\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "In case there is a static IP for this network, we can specify it using source ip\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/WlanPortal:WlanPortal": {
            "properties": {
                "allowWlanIdRoam": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to allow guest to connect to other Guest WLANs (with different `WLAN.ssid`) of same org without reauthentication (disable\u003cspan pulumi-lang-nodejs=\" randomMac \" pulumi-lang-dotnet=\" RandomMac \" pulumi-lang-go=\" randomMac \" pulumi-lang-python=\" random_mac \" pulumi-lang-yaml=\" randomMac \" pulumi-lang-java=\" randomMac \" pulumi-lang-hcl=\" random_mac \"\u003e randomMac \u003c/span\u003efor seamless roaming)\n"
                },
                "amazonClientId": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Amazon OAuth2 client id. This is optional. If not provided, it will use a default one.\n"
                },
                "amazonClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Amazon OAuth2 client secret. If\u003cspan pulumi-lang-nodejs=\" amazonClientId \" pulumi-lang-dotnet=\" AmazonClientId \" pulumi-lang-go=\" amazonClientId \" pulumi-lang-python=\" amazon_client_id \" pulumi-lang-yaml=\" amazonClientId \" pulumi-lang-java=\" amazonClientId \" pulumi-lang-hcl=\" amazon_client_id \"\u003e amazonClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n",
                    "secret": true
                },
                "amazonEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Email domains allowed for Amazon-authenticated guest users. If null or empty, any authenticated Amazon email domain is allowed.\n"
                },
                "amazonEnabled": {
                    "type": "boolean",
                    "description": "Whether amazon is enabled as a login method\n"
                },
                "amazonExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using amazon auth (in minutes), if not provided, uses expire`\n"
                },
                "auth": {
                    "type": "string",
                    "description": "Guest portal login scheme used by the WLAN\n"
                },
                "azureClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory app client id\n"
                },
                "azureClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory app client secret\n",
                    "secret": true
                },
                "azureEnabled": {
                    "type": "boolean",
                    "description": "Whether Azure Active Directory is enabled as a login method\n"
                },
                "azureExpire": {
                    "type": "integer",
                    "description": "Interval for which guest remains authorized using azure auth (in minutes), if not provided, uses expire`\n"
                },
                "azureTenantId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory tenant id.\n"
                },
                "broadnetPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e. Password for the Broadnet SMS provider account\n",
                    "secret": true
                },
                "broadnetSid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e. SID for the Broadnet SMS provider account\n"
                },
                "broadnetUserId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e. User ID for the Broadnet SMS provider account\n"
                },
                "bypassWhenCloudDown": {
                    "type": "boolean",
                    "description": "Whether to bypass the guest portal when cloud not reachable (and apply the default policies)\n"
                },
                "clickatellApiKey": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clickatell`\" pulumi-lang-dotnet=\"`Clickatell`\" pulumi-lang-go=\"`clickatell`\" pulumi-lang-python=\"`clickatell`\" pulumi-lang-yaml=\"`clickatell`\" pulumi-lang-java=\"`clickatell`\" pulumi-lang-hcl=\"`clickatell`\"\u003e`clickatell`\u003c/span\u003e. API key for the Clickatell SMS provider account\n"
                },
                "crossSite": {
                    "type": "boolean",
                    "description": "Whether to allow guest to roam between WLANs (with same `WLAN.ssid`, regardless of variables) of different sites of same org without reauthentication (disable\u003cspan pulumi-lang-nodejs=\" randomMac \" pulumi-lang-dotnet=\" RandomMac \" pulumi-lang-go=\" randomMac \" pulumi-lang-python=\" random_mac \" pulumi-lang-yaml=\" randomMac \" pulumi-lang-java=\" randomMac \" pulumi-lang-hcl=\" random_mac \"\u003e randomMac \u003c/span\u003efor seamless roaming)\n"
                },
                "emailEnabled": {
                    "type": "boolean",
                    "description": "Whether email (access code verification) is enabled as a login method\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether guest portal is enabled\n"
                },
                "expire": {
                    "type": "integer",
                    "description": "How long to remain authorized, in minutes\n"
                },
                "externalPortalUrl": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e. External portal URL (e.g. https://host/url) where we can append our query parameters to\n"
                },
                "facebookClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Facebook OAuth2 app id. This is optional. If not provided, it will use a default one.\n"
                },
                "facebookClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Facebook OAuth2 app secret. If\u003cspan pulumi-lang-nodejs=\" facebookClientId \" pulumi-lang-dotnet=\" FacebookClientId \" pulumi-lang-go=\" facebookClientId \" pulumi-lang-python=\" facebook_client_id \" pulumi-lang-yaml=\" facebookClientId \" pulumi-lang-java=\" facebookClientId \" pulumi-lang-hcl=\" facebook_client_id \"\u003e facebookClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n",
                    "secret": true
                },
                "facebookEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Email domains allowed for Facebook-authenticated guest users. If null or empty, any authenticated Facebook email domain is allowed.\n"
                },
                "facebookEnabled": {
                    "type": "boolean",
                    "description": "Whether facebook is enabled as a login method\n"
                },
                "facebookExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using facebook auth (in minutes), if not provided, uses expire`\n"
                },
                "forward": {
                    "type": "boolean",
                    "description": "Whether to forward the user to another URL after authorized\n"
                },
                "forwardUrl": {
                    "type": "string",
                    "description": "URL to forward the user to\n"
                },
                "googleClientId": {
                    "type": "string",
                    "description": "Google OAuth2 app id. This is optional. If not provided, it will use a default one.\n"
                },
                "googleClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Google OAuth2 app secret. If\u003cspan pulumi-lang-nodejs=\" googleClientId \" pulumi-lang-dotnet=\" GoogleClientId \" pulumi-lang-go=\" googleClientId \" pulumi-lang-python=\" google_client_id \" pulumi-lang-yaml=\" googleClientId \" pulumi-lang-java=\" googleClientId \" pulumi-lang-hcl=\" google_client_id \"\u003e googleClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n",
                    "secret": true
                },
                "googleEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Email domains allowed for Google-authenticated guest users. If null or empty, any authenticated Google email domain is allowed.\n"
                },
                "googleEnabled": {
                    "type": "boolean",
                    "description": "Whether Google is enabled as login method\n"
                },
                "googleExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using Google Auth (in minutes), if not provided, uses expire`\n"
                },
                "gupshupPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e. Password for the Gupshup SMS provider account\n",
                    "secret": true
                },
                "gupshupUserid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e. User ID for the Gupshup SMS provider account\n"
                },
                "microsoftClientId": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Microsoft 365 OAuth2 client id. This is optional. If not provided, it will use a default one.\n"
                },
                "microsoftClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Microsoft 365 OAuth2 client secret. If\u003cspan pulumi-lang-nodejs=\" microsoftClientId \" pulumi-lang-dotnet=\" MicrosoftClientId \" pulumi-lang-go=\" microsoftClientId \" pulumi-lang-python=\" microsoft_client_id \" pulumi-lang-yaml=\" microsoftClientId \" pulumi-lang-java=\" microsoftClientId \" pulumi-lang-hcl=\" microsoft_client_id \"\u003e microsoftClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n",
                    "secret": true
                },
                "microsoftEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Email domains allowed for Microsoft 365-authenticated guest users. If null or empty, any authenticated Microsoft 365 email domain is allowed.\n"
                },
                "microsoftEnabled": {
                    "type": "boolean",
                    "description": "Whether microsoft 365 is enabled as a login method\n"
                },
                "microsoftExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using microsoft auth (in minutes), if not provided, uses expire`\n"
                },
                "passphraseEnabled": {
                    "type": "boolean",
                    "description": "Whether password is enabled\n"
                },
                "passphraseExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`passphraseEnabled`\" pulumi-lang-dotnet=\"`PassphraseEnabled`\" pulumi-lang-go=\"`passphraseEnabled`\" pulumi-lang-python=\"`passphrase_enabled`\" pulumi-lang-yaml=\"`passphraseEnabled`\" pulumi-lang-java=\"`passphraseEnabled`\" pulumi-lang-hcl=\"`passphrase_enabled`\"\u003e`passphraseEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using passphrase auth (in minutes), if not provided, uses \u003cspan pulumi-lang-nodejs=\"`expire`\" pulumi-lang-dotnet=\"`Expire`\" pulumi-lang-go=\"`expire`\" pulumi-lang-python=\"`expire`\" pulumi-lang-yaml=\"`expire`\" pulumi-lang-java=\"`expire`\" pulumi-lang-hcl=\"`expire`\"\u003e`expire`\u003c/span\u003e\n"
                },
                "password": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`passphraseEnabled`\" pulumi-lang-dotnet=\"`PassphraseEnabled`\" pulumi-lang-go=\"`passphraseEnabled`\" pulumi-lang-python=\"`passphrase_enabled`\" pulumi-lang-yaml=\"`passphraseEnabled`\" pulumi-lang-java=\"`passphraseEnabled`\" pulumi-lang-hcl=\"`passphrase_enabled`\"\u003e`passphraseEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Passphrase guests must enter when passphrase authentication is enabled\n",
                    "secret": true
                },
                "predefinedSponsorsEnabled": {
                    "type": "boolean",
                    "description": "Whether to show list of sponsor emails mentioned in \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e object as a dropdown. If both \u003cspan pulumi-lang-nodejs=\"`sponsorNotifyAll`\" pulumi-lang-dotnet=\"`SponsorNotifyAll`\" pulumi-lang-go=\"`sponsorNotifyAll`\" pulumi-lang-python=\"`sponsor_notify_all`\" pulumi-lang-yaml=\"`sponsorNotifyAll`\" pulumi-lang-java=\"`sponsorNotifyAll`\" pulumi-lang-hcl=\"`sponsor_notify_all`\"\u003e`sponsorNotifyAll`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`predefinedSponsorsEnabled`\" pulumi-lang-dotnet=\"`PredefinedSponsorsEnabled`\" pulumi-lang-go=\"`predefinedSponsorsEnabled`\" pulumi-lang-python=\"`predefined_sponsors_enabled`\" pulumi-lang-yaml=\"`predefinedSponsorsEnabled`\" pulumi-lang-java=\"`predefinedSponsorsEnabled`\" pulumi-lang-hcl=\"`predefined_sponsors_enabled`\"\u003e`predefinedSponsorsEnabled`\u003c/span\u003e are false, behavior is acc to \u003cspan pulumi-lang-nodejs=\"`sponsorEmailDomains`\" pulumi-lang-dotnet=\"`SponsorEmailDomains`\" pulumi-lang-go=\"`sponsorEmailDomains`\" pulumi-lang-python=\"`sponsor_email_domains`\" pulumi-lang-yaml=\"`sponsorEmailDomains`\" pulumi-lang-java=\"`sponsorEmailDomains`\" pulumi-lang-hcl=\"`sponsor_email_domains`\"\u003e`sponsorEmailDomains`\u003c/span\u003e\n"
                },
                "predefinedSponsorsHideEmail": {
                    "type": "boolean",
                    "description": "Whether to hide sponsor’s email from list of sponsors\n"
                },
                "privacy": {
                    "type": "boolean",
                    "description": "Whether to show the privacy policy in the WLAN guest portal\n"
                },
                "puzzelPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e. Password for the Puzzel SMS provider account\n",
                    "secret": true
                },
                "puzzelServiceId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e. Service ID for the Puzzel SMS provider account\n"
                },
                "puzzelUsername": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e. Username for the Puzzel SMS provider account\n"
                },
                "smsEnabled": {
                    "type": "boolean",
                    "description": "Whether sms is enabled as a login method\n"
                },
                "smsExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using sms auth (in minutes), if not provided, uses expire`\n"
                },
                "smsMessageFormat": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. SMS Message format\n"
                },
                "smsProvider": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. SMS provider used to deliver guest portal access codes\n"
                },
                "smsglobalApiKey": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, Client API Key\n"
                },
                "smsglobalApiSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, Client secret\n",
                    "secret": true
                },
                "smsglobalSender": {
                    "type": "string",
                    "description": "Optional sender's number or sender ID for SMSGlobal. If not provided, uses the default number associated with the account\n"
                },
                "sponsorAutoApprove": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to automatically approve guest and allow sponsor to revoke guest access, needs\u003cspan pulumi-lang-nodejs=\" predefinedSponsorsEnabled \" pulumi-lang-dotnet=\" PredefinedSponsorsEnabled \" pulumi-lang-go=\" predefinedSponsorsEnabled \" pulumi-lang-python=\" predefined_sponsors_enabled \" pulumi-lang-yaml=\" predefinedSponsorsEnabled \" pulumi-lang-java=\" predefinedSponsorsEnabled \" pulumi-lang-hcl=\" predefined_sponsors_enabled \"\u003e predefinedSponsorsEnabled \u003c/span\u003eenabled and\u003cspan pulumi-lang-nodejs=\" sponsorNotifyAll \" pulumi-lang-dotnet=\" SponsorNotifyAll \" pulumi-lang-go=\" sponsorNotifyAll \" pulumi-lang-python=\" sponsor_notify_all \" pulumi-lang-yaml=\" sponsorNotifyAll \" pulumi-lang-java=\" sponsorNotifyAll \" pulumi-lang-hcl=\" sponsor_notify_all \"\u003e sponsorNotifyAll \u003c/span\u003edisabled\n"
                },
                "sponsorEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Email domains allowed for sponsor email addresses. Required if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e is empty.\n"
                },
                "sponsorEnabled": {
                    "type": "boolean",
                    "description": "Whether sponsor is enabled\n"
                },
                "sponsorExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using sponsor auth (in minutes), if not provided, uses expire`\n"
                },
                "sponsorLinkValidityDuration": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. How long to remain valid sponsored guest request approve/deny link received in email, in minutes. Default is 60 minutes.\n"
                },
                "sponsorNotifyAll": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. whether to notify all sponsors that are mentioned in \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e object. Both \u003cspan pulumi-lang-nodejs=\"`sponsorNotifyAll`\" pulumi-lang-dotnet=\"`SponsorNotifyAll`\" pulumi-lang-go=\"`sponsorNotifyAll`\" pulumi-lang-python=\"`sponsor_notify_all`\" pulumi-lang-yaml=\"`sponsorNotifyAll`\" pulumi-lang-java=\"`sponsorNotifyAll`\" pulumi-lang-hcl=\"`sponsor_notify_all`\"\u003e`sponsorNotifyAll`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`predefinedSponsorsEnabled`\" pulumi-lang-dotnet=\"`PredefinedSponsorsEnabled`\" pulumi-lang-go=\"`predefinedSponsorsEnabled`\" pulumi-lang-python=\"`predefined_sponsors_enabled`\" pulumi-lang-yaml=\"`predefinedSponsorsEnabled`\" pulumi-lang-java=\"`predefinedSponsorsEnabled`\" pulumi-lang-hcl=\"`predefined_sponsors_enabled`\"\u003e`predefinedSponsorsEnabled`\u003c/span\u003e should be true in order to notify sponsors. If true, email sent to 10 sponsors in no particular order.\n"
                },
                "sponsorStatusNotify": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. If enabled, guest will get email about sponsor's action (approve/deny)\n"
                },
                "sponsors": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "object of allowed sponsors email with name. Required if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e\n            is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sponsorEmailDomains`\" pulumi-lang-dotnet=\"`SponsorEmailDomains`\" pulumi-lang-go=\"`sponsorEmailDomains`\" pulumi-lang-python=\"`sponsor_email_domains`\" pulumi-lang-yaml=\"`sponsorEmailDomains`\" pulumi-lang-java=\"`sponsorEmailDomains`\" pulumi-lang-hcl=\"`sponsor_email_domains`\"\u003e`sponsorEmailDomains`\u003c/span\u003e is empty.\n\n            Property key is the sponsor email, Property value is the sponsor name\n"
                },
                "ssoDefaultRole": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched\n"
                },
                "ssoForcedRole": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. Role assigned to authenticated users when guest SSO is used\n"
                },
                "ssoIdpCert": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. IDP Cert (used to verify the signed response)\n"
                },
                "ssoIdpSignAlgo": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. Signing algorithm used for SAML assertions from the identity provider\n"
                },
                "ssoIdpSsoUrl": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, IDP Single-Sign-On URL\n"
                },
                "ssoIssuer": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, IDP issuer URL\n"
                },
                "ssoNameidFormat": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. SAML NameID format expected from the identity provider\n"
                },
                "telstraClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, Client ID provided by Telstra\n"
                },
                "telstraClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, Client secret provided by Telstra\n",
                    "secret": true
                },
                "twilioAuthToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Auth token account with twilio account\n",
                    "secret": true
                },
                "twilioPhoneNumber": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Twilio phone number associated with the account. See example for accepted format.\n"
                },
                "twilioSid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Account SID provided by Twilio\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "amazonClientId",
                        "amazonClientSecret",
                        "amazonEmailDomains",
                        "amazonEnabled",
                        "auth",
                        "azureClientId",
                        "azureClientSecret",
                        "azureEnabled",
                        "azureTenantId",
                        "broadnetPassword",
                        "bypassWhenCloudDown",
                        "emailEnabled",
                        "enabled",
                        "expire",
                        "externalPortalUrl",
                        "facebookClientId",
                        "facebookClientSecret",
                        "facebookEmailDomains",
                        "facebookEnabled",
                        "forward",
                        "forwardUrl",
                        "googleClientId",
                        "googleClientSecret",
                        "googleEmailDomains",
                        "googleEnabled",
                        "microsoftClientId",
                        "microsoftClientSecret",
                        "microsoftEmailDomains",
                        "microsoftEnabled",
                        "passphraseEnabled",
                        "password",
                        "predefinedSponsorsEnabled",
                        "predefinedSponsorsHideEmail",
                        "privacy",
                        "smsEnabled",
                        "smsMessageFormat",
                        "smsProvider",
                        "sponsorEmailDomains",
                        "sponsorEnabled",
                        "sponsorLinkValidityDuration",
                        "sponsorNotifyAll",
                        "sponsorStatusNotify",
                        "sponsors",
                        "ssoDefaultRole",
                        "ssoForcedRole",
                        "ssoIdpCert",
                        "ssoIdpSignAlgo",
                        "ssoIdpSsoUrl",
                        "ssoIssuer",
                        "ssoNameidFormat"
                    ]
                }
            }
        },
        "junipermist:site/WlanPortalTemplatePortalTemplate:WlanPortalTemplatePortalTemplate": {
            "properties": {
                "accessCodeAlternateEmail": {
                    "type": "string",
                    "description": "Link text for using an alternate email address during access-code login\n"
                },
                "alignment": {
                    "type": "string",
                    "description": "Text and content alignment used by the guest portal template\n"
                },
                "authButtonAmazon": {
                    "type": "string",
                    "description": "Label for Amazon auth button\n"
                },
                "authButtonAzure": {
                    "type": "string",
                    "description": "Label for Azure auth button\n"
                },
                "authButtonEmail": {
                    "type": "string",
                    "description": "Label for Email auth button\n"
                },
                "authButtonFacebook": {
                    "type": "string",
                    "description": "Label for Facebook auth button\n"
                },
                "authButtonGoogle": {
                    "type": "string",
                    "description": "Label for Google auth button\n"
                },
                "authButtonMicrosoft": {
                    "type": "string",
                    "description": "Label for Microsoft auth button\n"
                },
                "authButtonPassphrase": {
                    "type": "string",
                    "description": "Label for passphrase auth button\n"
                },
                "authButtonSms": {
                    "type": "string",
                    "description": "Label for SMS auth button\n"
                },
                "authButtonSponsor": {
                    "type": "string",
                    "description": "Label for Sponsor auth button\n"
                },
                "authLabel": {
                    "type": "string",
                    "description": "Heading text displayed above portal authentication options\n"
                },
                "backLink": {
                    "type": "string",
                    "description": "Label of the link to go back to /logon\n"
                },
                "color": {
                    "type": "string",
                    "description": "Primary color used by the portal template\n"
                },
                "colorDark": {
                    "type": "string",
                    "description": "Darker accent color used by the portal template\n"
                },
                "colorLight": {
                    "type": "string",
                    "description": "Lighter accent color used by the portal template\n"
                },
                "company": {
                    "type": "boolean",
                    "description": "Whether company field is required\n"
                },
                "companyError": {
                    "type": "string",
                    "description": "Error message when company not provided\n"
                },
                "companyLabel": {
                    "type": "string",
                    "description": "Label displayed for the company input field\n"
                },
                "email": {
                    "type": "boolean",
                    "description": "Whether email field is required\n"
                },
                "emailAccessDomainError": {
                    "type": "string",
                    "description": "Error message when a user has valid social login but doesn't match specified email domains.\n"
                },
                "emailCancel": {
                    "type": "string",
                    "description": "Label for cancel confirmation code submission using email auth\n"
                },
                "emailCodeCancel": {
                    "type": "string",
                    "description": "Link text for requesting help when the email access code was not received\n"
                },
                "emailCodeError": {
                    "type": "string",
                    "description": "Error message shown when the alternate email address for access-code delivery is invalid\n"
                },
                "emailCodeFieldLabel": {
                    "type": "string",
                    "description": "Label for the email access-code input field\n"
                },
                "emailCodeMessage": {
                    "type": "string",
                    "description": "Instructional text shown before entering the email access code\n"
                },
                "emailCodeSubmit": {
                    "type": "string",
                    "description": "Button label for submitting the email access code\n"
                },
                "emailCodeTitle": {
                    "type": "string",
                    "description": "Title shown on the email access-code entry page\n"
                },
                "emailError": {
                    "type": "string",
                    "description": "Error message when email not provided\n"
                },
                "emailFieldLabel": {
                    "type": "string",
                    "description": "Label for the email address input field\n"
                },
                "emailLabel": {
                    "type": "string",
                    "description": "Label displayed for the email input field\n"
                },
                "emailMessage": {
                    "type": "string",
                    "description": "Instructional text explaining email access-code delivery\n"
                },
                "emailSubmit": {
                    "type": "string",
                    "description": "Label for confirmation code submit button using email auth\n"
                },
                "emailTitle": {
                    "type": "string",
                    "description": "Title for the Email registration\n"
                },
                "field1": {
                    "type": "boolean",
                    "description": "Whether to ask field1\n"
                },
                "field1error": {
                    "type": "string",
                    "description": "Error message when field1 not provided\n"
                },
                "field1label": {
                    "type": "string",
                    "description": "Label for custom field 1 input\n"
                },
                "field1required": {
                    "type": "boolean",
                    "description": "Whether custom field 1 must be provided when the field is shown\n"
                },
                "field2": {
                    "type": "boolean",
                    "description": "Whether to ask field2\n"
                },
                "field2error": {
                    "type": "string",
                    "description": "Error message when field2 not provided\n"
                },
                "field2label": {
                    "type": "string",
                    "description": "Label for custom field 2 input\n"
                },
                "field2required": {
                    "type": "boolean",
                    "description": "Whether custom field 2 must be provided when the field is shown\n"
                },
                "field3": {
                    "type": "boolean",
                    "description": "Whether to ask field3\n"
                },
                "field3error": {
                    "type": "string",
                    "description": "Error message when field3 not provided\n"
                },
                "field3label": {
                    "type": "string",
                    "description": "Label for custom field 3 input\n"
                },
                "field3required": {
                    "type": "boolean",
                    "description": "Whether custom field 3 must be provided when the field is shown\n"
                },
                "field4": {
                    "type": "boolean",
                    "description": "Whether to ask field4\n"
                },
                "field4error": {
                    "type": "string",
                    "description": "Error message when field4 not provided\n"
                },
                "field4label": {
                    "type": "string",
                    "description": "Label for custom field 4 input\n"
                },
                "field4required": {
                    "type": "boolean",
                    "description": "Whether custom field 4 must be provided when the field is shown\n"
                },
                "locales": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/WlanPortalTemplatePortalTemplateLocales:WlanPortalTemplatePortalTemplateLocales"
                    },
                    "description": "Can be used to localize the portal based on the User Agent. Allowed property key values are:\n  \u003cspan pulumi-lang-nodejs=\"`ar`\" pulumi-lang-dotnet=\"`Ar`\" pulumi-lang-go=\"`ar`\" pulumi-lang-python=\"`ar`\" pulumi-lang-yaml=\"`ar`\" pulumi-lang-java=\"`ar`\" pulumi-lang-hcl=\"`ar`\"\u003e`ar`\u003c/span\u003e, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-GB`, `en-US`, `es-ES`, `fi-FI`, `fr-FR`, \n  `he-IL`, `hi-IN`, `hr-HR`, `hu-HU`, `id-ID`, `it-IT`, `ja-J^`, `ko-KT`, `ms-MY`, `nb-NO`, `nl-NL`, \n  `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, \n  `zh-Hans`, `zh-Hant`\n"
                },
                "logo": {
                    "type": "string",
                    "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                },
                "marketingPolicyLink": {
                    "type": "string",
                    "description": "label of the link to go to /marketing_policy\n"
                },
                "marketingPolicyOptIn": {
                    "type": "boolean",
                    "description": "Whether marketing policy optin is enabled\n"
                },
                "marketingPolicyOptInLabel": {
                    "type": "string",
                    "description": "label for marketing optin\n"
                },
                "marketingPolicyOptInText": {
                    "type": "string",
                    "description": "Text of the marketing policy opt-in content\n"
                },
                "message": {
                    "type": "string",
                    "description": "Main message displayed on the guest portal sign-in page\n"
                },
                "multiAuth": {
                    "type": "boolean",
                    "description": "Whether the portal presents multiple authentication methods\n"
                },
                "name": {
                    "type": "boolean",
                    "description": "Whether name field is required\n"
                },
                "nameError": {
                    "type": "string",
                    "description": "Error message when name not provided\n"
                },
                "nameLabel": {
                    "type": "string",
                    "description": "Label displayed for the name input field\n"
                },
                "optOutDefault": {
                    "type": "boolean",
                    "description": "Default value for the `Do not store` checkbox\n"
                },
                "optout": {
                    "type": "boolean",
                    "description": "Whether to display Do Not Store My Personal Information\n"
                },
                "optoutLabel": {
                    "type": "string",
                    "description": "Label for Do Not Store My Personal Information\n"
                },
                "pageTitle": {
                    "type": "string",
                    "description": "Browser or page title shown for the guest portal\n"
                },
                "passphraseCancel": {
                    "type": "string",
                    "description": "Label for the Passphrase cancel button\n"
                },
                "passphraseError": {
                    "type": "string",
                    "description": "Error message when invalid passphrase is provided\n"
                },
                "passphraseLabel": {
                    "type": "string",
                    "description": "Label for the passphrase input field\n"
                },
                "passphraseMessage": {
                    "type": "string",
                    "description": "Instructional text shown on the passphrase sign-in page\n"
                },
                "passphraseSubmit": {
                    "type": "string",
                    "description": "Label for the Passphrase submit button\n"
                },
                "passphraseTitle": {
                    "type": "string",
                    "description": "Title for passphrase details page\n"
                },
                "poweredBy": {
                    "type": "boolean",
                    "description": "Whether to show \\\"Powered by Mist\\\"\n"
                },
                "privacy": {
                    "type": "boolean",
                    "description": "Whether to require the Privacy Term acceptance\n"
                },
                "privacyPolicyAcceptLabel": {
                    "type": "string",
                    "description": "Prefix of the label of the link to go to Privacy Policy\n"
                },
                "privacyPolicyError": {
                    "type": "string",
                    "description": "Error message when Privacy Policy not accepted\n"
                },
                "privacyPolicyLink": {
                    "type": "string",
                    "description": "Label of the link to go to Privacy Policy\n"
                },
                "privacyPolicyText": {
                    "type": "string",
                    "description": "Text of the Privacy Policy\n"
                },
                "requiredFieldLabel": {
                    "type": "string",
                    "description": "Text used to mark a form field as required\n"
                },
                "responsiveLayout": {
                    "type": "boolean",
                    "description": "Whether the portal template uses a responsive layout\n"
                },
                "signInLabel": {
                    "type": "string",
                    "description": "Label of the button to signin\n"
                },
                "smsCarrierDefault": {
                    "type": "string",
                    "description": "Default option text shown in the SMS carrier selector\n"
                },
                "smsCarrierError": {
                    "type": "string",
                    "description": "Error message shown when no mobile carrier is selected\n"
                },
                "smsCarrierFieldLabel": {
                    "type": "string",
                    "description": "Label for mobile carrier drop-down list\n"
                },
                "smsCodeCancel": {
                    "type": "string",
                    "description": "Label for cancel confirmation code submission\n"
                },
                "smsCodeError": {
                    "type": "string",
                    "description": "Error message when confirmation code is invalid\n"
                },
                "smsCodeFieldLabel": {
                    "type": "string",
                    "description": "Label for the SMS confirmation-code input field\n"
                },
                "smsCodeMessage": {
                    "type": "string",
                    "description": "Instructional text shown before entering the SMS access code\n"
                },
                "smsCodeSubmit": {
                    "type": "string",
                    "description": "Label for confirmation code submit button\n"
                },
                "smsCodeTitle": {
                    "type": "string",
                    "description": "Title shown on the SMS access-code entry page\n"
                },
                "smsCountryFieldLabel": {
                    "type": "string",
                    "description": "Label for the SMS country-code input field\n"
                },
                "smsCountryFormat": {
                    "type": "string",
                    "description": "Example country code format shown for SMS authentication\n"
                },
                "smsHaveAccessCode": {
                    "type": "string",
                    "description": "Label for checkbox to specify that the user has access code\n"
                },
                "smsIsTwilio": {
                    "type": "boolean",
                    "description": "Whether the SMS portal flow uses Twilio-specific behavior\n"
                },
                "smsMessageFormat": {
                    "type": "string",
                    "description": "Format of access code sms message. {{code}} and {{duration}} are placeholders and should be retained as is.\n"
                },
                "smsNumberCancel": {
                    "type": "string",
                    "description": "Label for canceling mobile details for SMS auth\n"
                },
                "smsNumberError": {
                    "type": "string",
                    "description": "Error message shown when the mobile number is invalid\n"
                },
                "smsNumberFieldLabel": {
                    "type": "string",
                    "description": "Label for field to provide mobile number\n"
                },
                "smsNumberFormat": {
                    "type": "string",
                    "description": "Example mobile number format shown for SMS authentication\n"
                },
                "smsNumberMessage": {
                    "type": "string",
                    "description": "Instructional text explaining SMS access-code delivery\n"
                },
                "smsNumberSubmit": {
                    "type": "string",
                    "description": "Label for submit button for code generation\n"
                },
                "smsNumberTitle": {
                    "type": "string",
                    "description": "Title for phone number details\n"
                },
                "smsUsernameFormat": {
                    "type": "string",
                    "description": "Example username format shown for SMS authentication\n"
                },
                "smsValidityDuration": {
                    "type": "integer",
                    "description": "How long confirmation code should be considered valid (in minutes)\n"
                },
                "sponsorBackLink": {
                    "type": "string",
                    "description": "Link text for returning to edit the sponsor request form\n"
                },
                "sponsorCancel": {
                    "type": "string",
                    "description": "Button label for canceling sponsor authentication\n"
                },
                "sponsorEmail": {
                    "type": "string",
                    "description": "Label for Sponsor Email\n"
                },
                "sponsorEmailError": {
                    "type": "string",
                    "description": "Error message shown when the sponsor email address is invalid\n"
                },
                "sponsorEmailTemplate": {
                    "type": "string",
                    "description": "HTML template to replace/override default sponsor email template \nSponsor Email Template supports following template variables:\n  * \u003cspan pulumi-lang-nodejs=\"`approveUrl`\" pulumi-lang-dotnet=\"`ApproveUrl`\" pulumi-lang-go=\"`approveUrl`\" pulumi-lang-python=\"`approve_url`\" pulumi-lang-yaml=\"`approveUrl`\" pulumi-lang-java=\"`approveUrl`\" pulumi-lang-hcl=\"`approve_url`\"\u003e`approveUrl`\u003c/span\u003e: Renders URL to approve the request; optionally \u0026minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized\n  * \u003cspan pulumi-lang-nodejs=\"`denyUrl`\" pulumi-lang-dotnet=\"`DenyUrl`\" pulumi-lang-go=\"`denyUrl`\" pulumi-lang-python=\"`deny_url`\" pulumi-lang-yaml=\"`denyUrl`\" pulumi-lang-java=\"`denyUrl`\" pulumi-lang-hcl=\"`deny_url`\"\u003e`denyUrl`\u003c/span\u003e: Renders URL to reject the request\n  * \u003cspan pulumi-lang-nodejs=\"`guestEmail`\" pulumi-lang-dotnet=\"`GuestEmail`\" pulumi-lang-go=\"`guestEmail`\" pulumi-lang-python=\"`guest_email`\" pulumi-lang-yaml=\"`guestEmail`\" pulumi-lang-java=\"`guestEmail`\" pulumi-lang-hcl=\"`guest_email`\"\u003e`guestEmail`\u003c/span\u003e: Renders Email ID of the guest\n  * \u003cspan pulumi-lang-nodejs=\"`guestName`\" pulumi-lang-dotnet=\"`GuestName`\" pulumi-lang-go=\"`guestName`\" pulumi-lang-python=\"`guest_name`\" pulumi-lang-yaml=\"`guestName`\" pulumi-lang-java=\"`guestName`\" pulumi-lang-hcl=\"`guest_name`\"\u003e`guestName`\u003c/span\u003e: Renders Name of the guest\n  * \u003cspan pulumi-lang-nodejs=\"`field1`\" pulumi-lang-dotnet=\"`Field1`\" pulumi-lang-go=\"`field1`\" pulumi-lang-python=\"`field1`\" pulumi-lang-yaml=\"`field1`\" pulumi-lang-java=\"`field1`\" pulumi-lang-hcl=\"`field1`\"\u003e`field1`\u003c/span\u003e: Renders value of the Custom Field 1\n  * \u003cspan pulumi-lang-nodejs=\"`field2`\" pulumi-lang-dotnet=\"`Field2`\" pulumi-lang-go=\"`field2`\" pulumi-lang-python=\"`field2`\" pulumi-lang-yaml=\"`field2`\" pulumi-lang-java=\"`field2`\" pulumi-lang-hcl=\"`field2`\"\u003e`field2`\u003c/span\u003e: Renders value of the Custom Field 2\n  * \u003cspan pulumi-lang-nodejs=\"`sponsorLinkValidityDuration`\" pulumi-lang-dotnet=\"`SponsorLinkValidityDuration`\" pulumi-lang-go=\"`sponsorLinkValidityDuration`\" pulumi-lang-python=\"`sponsor_link_validity_duration`\" pulumi-lang-yaml=\"`sponsorLinkValidityDuration`\" pulumi-lang-java=\"`sponsorLinkValidityDuration`\" pulumi-lang-hcl=\"`sponsor_link_validity_duration`\"\u003e`sponsorLinkValidityDuration`\u003c/span\u003e: Renders validity time of the request (i.e. Approve/Deny URL)\n  * \u003cspan pulumi-lang-nodejs=\"`authExpireMinutes`\" pulumi-lang-dotnet=\"`AuthExpireMinutes`\" pulumi-lang-go=\"`authExpireMinutes`\" pulumi-lang-python=\"`auth_expire_minutes`\" pulumi-lang-yaml=\"`authExpireMinutes`\" pulumi-lang-java=\"`authExpireMinutes`\" pulumi-lang-hcl=\"`auth_expire_minutes`\"\u003e`authExpireMinutes`\u003c/span\u003e: Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes)\n"
                },
                "sponsorInfoApproved": {
                    "type": "string",
                    "description": "Status message prefix shown when a sponsor approves the request\n"
                },
                "sponsorInfoDenied": {
                    "type": "string",
                    "description": "Status message prefix shown when a sponsor denies the request\n"
                },
                "sponsorInfoPending": {
                    "type": "string",
                    "description": "Status message prefix shown after a sponsor notification is sent\n"
                },
                "sponsorName": {
                    "type": "string",
                    "description": "Label for Sponsor Name\n"
                },
                "sponsorNameError": {
                    "type": "string",
                    "description": "Error message shown when the sponsor name is missing\n"
                },
                "sponsorNotePending": {
                    "type": "string",
                    "description": "Additional status text shown while sponsor approval is pending\n"
                },
                "sponsorRequestAccess": {
                    "type": "string",
                    "description": "Submit button label request Wifi Access and notify sponsor about guest request\n"
                },
                "sponsorStatusApproved": {
                    "type": "string",
                    "description": "Text to display if sponsor approves request\n"
                },
                "sponsorStatusDenied": {
                    "type": "string",
                    "description": "Text to display when sponsor denies request\n"
                },
                "sponsorStatusPending": {
                    "type": "string",
                    "description": "Text to display if request is still pending\n"
                },
                "sponsorSubmit": {
                    "type": "string",
                    "description": "Submit button label to notify sponsor about guest request\n"
                },
                "sponsorsError": {
                    "type": "string",
                    "description": "Error message shown when no sponsor is selected\n"
                },
                "sponsorsFieldLabel": {
                    "type": "string",
                    "description": "Label for the sponsor selection field\n"
                },
                "tos": {
                    "type": "boolean",
                    "description": "Whether the portal requires Terms of Service acceptance\n"
                },
                "tosAcceptLabel": {
                    "type": "string",
                    "description": "Prefix of the label of the link to go to tos\n"
                },
                "tosError": {
                    "type": "string",
                    "description": "Error message when tos not accepted\n"
                },
                "tosLink": {
                    "type": "string",
                    "description": "Label of the link to go to tos\n"
                },
                "tosText": {
                    "type": "string",
                    "description": "Text of the Terms of Service\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "accessCodeAlternateEmail",
                        "alignment",
                        "authButtonAmazon",
                        "authButtonAzure",
                        "authButtonEmail",
                        "authButtonFacebook",
                        "authButtonGoogle",
                        "authButtonMicrosoft",
                        "authButtonPassphrase",
                        "authButtonSms",
                        "authButtonSponsor",
                        "authLabel",
                        "color",
                        "colorDark",
                        "colorLight",
                        "company",
                        "companyError",
                        "companyLabel",
                        "email",
                        "emailAccessDomainError",
                        "emailCancel",
                        "emailCodeCancel",
                        "emailCodeError",
                        "emailCodeFieldLabel",
                        "emailCodeMessage",
                        "emailCodeSubmit",
                        "emailCodeTitle",
                        "emailError",
                        "emailFieldLabel",
                        "emailLabel",
                        "emailMessage",
                        "emailSubmit",
                        "emailTitle",
                        "field1",
                        "field1error",
                        "field1label",
                        "field2",
                        "field2error",
                        "field2label",
                        "field3",
                        "field3error",
                        "field3label",
                        "field4",
                        "field4error",
                        "field4label",
                        "logo",
                        "marketingPolicyLink",
                        "marketingPolicyOptIn",
                        "marketingPolicyOptInLabel",
                        "marketingPolicyOptInText",
                        "message",
                        "multiAuth",
                        "name",
                        "nameError",
                        "nameLabel",
                        "optOutDefault",
                        "optout",
                        "optoutLabel",
                        "pageTitle",
                        "passphraseCancel",
                        "passphraseError",
                        "passphraseLabel",
                        "passphraseMessage",
                        "passphraseSubmit",
                        "passphraseTitle",
                        "poweredBy",
                        "privacy",
                        "privacyPolicyAcceptLabel",
                        "privacyPolicyError",
                        "privacyPolicyLink",
                        "privacyPolicyText",
                        "requiredFieldLabel",
                        "responsiveLayout",
                        "signInLabel",
                        "smsCarrierDefault",
                        "smsCarrierError",
                        "smsCarrierFieldLabel",
                        "smsCodeCancel",
                        "smsCodeError",
                        "smsCodeFieldLabel",
                        "smsCodeMessage",
                        "smsCodeSubmit",
                        "smsCodeTitle",
                        "smsCountryFieldLabel",
                        "smsCountryFormat",
                        "smsHaveAccessCode",
                        "smsIsTwilio",
                        "smsNumberCancel",
                        "smsNumberError",
                        "smsNumberFieldLabel",
                        "smsNumberFormat",
                        "smsNumberMessage",
                        "smsNumberSubmit",
                        "smsNumberTitle",
                        "smsUsernameFormat",
                        "sponsorBackLink",
                        "sponsorCancel",
                        "sponsorEmail",
                        "sponsorEmailError",
                        "sponsorEmailTemplate",
                        "sponsorInfoApproved",
                        "sponsorInfoDenied",
                        "sponsorInfoPending",
                        "sponsorName",
                        "sponsorNameError",
                        "sponsorNotePending",
                        "sponsorRequestAccess",
                        "sponsorStatusApproved",
                        "sponsorStatusDenied",
                        "sponsorStatusPending",
                        "sponsorSubmit",
                        "sponsorsError",
                        "sponsorsFieldLabel",
                        "tos",
                        "tosAcceptLabel",
                        "tosError",
                        "tosLink",
                        "tosText"
                    ]
                }
            }
        },
        "junipermist:site/WlanPortalTemplatePortalTemplateLocales:WlanPortalTemplatePortalTemplateLocales": {
            "properties": {
                "authButtonAmazon": {
                    "type": "string",
                    "description": "Label for Amazon auth button\n"
                },
                "authButtonAzure": {
                    "type": "string",
                    "description": "Label for Azure auth button\n"
                },
                "authButtonEmail": {
                    "type": "string",
                    "description": "Label for Email auth button\n"
                },
                "authButtonFacebook": {
                    "type": "string",
                    "description": "Label for Facebook auth button\n"
                },
                "authButtonGoogle": {
                    "type": "string",
                    "description": "Label for Google auth button\n"
                },
                "authButtonMicrosoft": {
                    "type": "string",
                    "description": "Label for Microsoft auth button\n"
                },
                "authButtonPassphrase": {
                    "type": "string",
                    "description": "Label for passphrase auth button\n"
                },
                "authButtonSms": {
                    "type": "string",
                    "description": "Label for SMS auth button\n"
                },
                "authButtonSponsor": {
                    "type": "string",
                    "description": "Label for Sponsor auth button\n"
                },
                "authLabel": {
                    "type": "string",
                    "description": "Localized heading text displayed above portal authentication options\n"
                },
                "backLink": {
                    "type": "string",
                    "description": "Label of the link to go back to /logon\n"
                },
                "companyError": {
                    "type": "string",
                    "description": "Error message when company not provided\n"
                },
                "companyLabel": {
                    "type": "string",
                    "description": "Localized label displayed for the company input field\n"
                },
                "emailAccessDomainError": {
                    "type": "string",
                    "description": "Error message when a user has valid social login but doesn't match specified email domains.\n"
                },
                "emailCancel": {
                    "type": "string",
                    "description": "Label for cancel confirmation code submission using email auth\n"
                },
                "emailCodeCancel": {
                    "type": "string",
                    "description": "Localized link text for requesting help when the email access code was not received\n"
                },
                "emailCodeError": {
                    "type": "string",
                    "description": "Localized error message shown when the alternate email address for access-code delivery is invalid\n"
                },
                "emailCodeFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the email access-code input field\n"
                },
                "emailCodeMessage": {
                    "type": "string",
                    "description": "Localized instructional text shown before entering the email access code\n"
                },
                "emailCodeSubmit": {
                    "type": "string",
                    "description": "Localized button label for submitting the email access code\n"
                },
                "emailCodeTitle": {
                    "type": "string",
                    "description": "Localized title shown on the email access-code entry page\n"
                },
                "emailError": {
                    "type": "string",
                    "description": "Error message when email not provided\n"
                },
                "emailFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the email address input field\n"
                },
                "emailLabel": {
                    "type": "string",
                    "description": "Localized label displayed for the email input field\n"
                },
                "emailMessage": {
                    "type": "string",
                    "description": "Localized instructional text explaining email access-code delivery\n"
                },
                "emailSubmit": {
                    "type": "string",
                    "description": "Label for confirmation code submit button using email auth\n"
                },
                "emailTitle": {
                    "type": "string",
                    "description": "Title for the Email registration\n"
                },
                "field1error": {
                    "type": "string",
                    "description": "Error message when field1 not provided\n"
                },
                "field1label": {
                    "type": "string",
                    "description": "Localized label for custom field 1 input\n"
                },
                "field2error": {
                    "type": "string",
                    "description": "Error message when field2 not provided\n"
                },
                "field2label": {
                    "type": "string",
                    "description": "Localized label for custom field 2 input\n"
                },
                "field3error": {
                    "type": "string",
                    "description": "Error message when field3 not provided\n"
                },
                "field3label": {
                    "type": "string",
                    "description": "Localized label for custom field 3 input\n"
                },
                "field4error": {
                    "type": "string",
                    "description": "Error message when field4 not provided\n"
                },
                "field4label": {
                    "type": "string",
                    "description": "Localized label for custom field 4 input\n"
                },
                "marketingPolicyLink": {
                    "type": "string",
                    "description": "label of the link to go to /marketing_policy\n"
                },
                "marketingPolicyOptIn": {
                    "type": "boolean",
                    "description": "Whether marketing policy optin is enabled\n"
                },
                "marketingPolicyOptInLabel": {
                    "type": "string",
                    "description": "label for marketing optin\n"
                },
                "marketingPolicyOptInText": {
                    "type": "string",
                    "description": "Localized text of the marketing policy opt-in content\n"
                },
                "message": {
                    "type": "string",
                    "description": "Localized main message displayed on the guest portal sign-in page\n"
                },
                "nameError": {
                    "type": "string",
                    "description": "Error message when name not provided\n"
                },
                "nameLabel": {
                    "type": "string",
                    "description": "Localized label displayed for the name input field\n"
                },
                "optoutLabel": {
                    "type": "string",
                    "description": "Label for Do Not Store My Personal Information\n"
                },
                "pageTitle": {
                    "type": "string",
                    "description": "Localized browser or page title shown for the guest portal\n"
                },
                "passphraseCancel": {
                    "type": "string",
                    "description": "Label for the Passphrase cancel button\n"
                },
                "passphraseError": {
                    "type": "string",
                    "description": "Error message when invalid passphrase is provided\n"
                },
                "passphraseLabel": {
                    "type": "string",
                    "description": "Localized label for the passphrase input field\n"
                },
                "passphraseMessage": {
                    "type": "string",
                    "description": "Localized instructional text shown on the passphrase sign-in page\n"
                },
                "passphraseSubmit": {
                    "type": "string",
                    "description": "Label for the Passphrase submit button\n"
                },
                "passphraseTitle": {
                    "type": "string",
                    "description": "Title for passphrase details page\n"
                },
                "privacyPolicyAcceptLabel": {
                    "type": "string",
                    "description": "Prefix of the label of the link to go to Privacy Policy\n"
                },
                "privacyPolicyError": {
                    "type": "string",
                    "description": "Error message when Privacy Policy not accepted\n"
                },
                "privacyPolicyLink": {
                    "type": "string",
                    "description": "Label of the link to go to Privacy Policy\n"
                },
                "privacyPolicyText": {
                    "type": "string",
                    "description": "Text of the Privacy Policy\n"
                },
                "requiredFieldLabel": {
                    "type": "string",
                    "description": "Localized text used to mark a form field as required\n"
                },
                "signInLabel": {
                    "type": "string",
                    "description": "Label of the button to signin\n"
                },
                "smsCarrierDefault": {
                    "type": "string",
                    "description": "Localized default option text shown in the SMS carrier selector\n"
                },
                "smsCarrierError": {
                    "type": "string",
                    "description": "Localized error message shown when no mobile carrier is selected\n"
                },
                "smsCarrierFieldLabel": {
                    "type": "string",
                    "description": "Label for mobile carrier drop-down list\n"
                },
                "smsCodeCancel": {
                    "type": "string",
                    "description": "Label for cancel confirmation code submission\n"
                },
                "smsCodeError": {
                    "type": "string",
                    "description": "Error message when confirmation code is invalid\n"
                },
                "smsCodeFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the SMS confirmation-code input field\n"
                },
                "smsCodeMessage": {
                    "type": "string",
                    "description": "Localized instructional text shown before entering the SMS access code\n"
                },
                "smsCodeSubmit": {
                    "type": "string",
                    "description": "Label for confirmation code submit button\n"
                },
                "smsCodeTitle": {
                    "type": "string",
                    "description": "Localized title shown on the SMS access-code entry page\n"
                },
                "smsCountryFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the SMS country-code input field\n"
                },
                "smsCountryFormat": {
                    "type": "string",
                    "description": "Localized example country code format shown for SMS authentication\n"
                },
                "smsHaveAccessCode": {
                    "type": "string",
                    "description": "Label for checkbox to specify that the user has access code\n"
                },
                "smsMessageFormat": {
                    "type": "string",
                    "description": "Format of access code sms message. {{code}} and {{duration}} are placeholders and should be retained as is.\n"
                },
                "smsNumberCancel": {
                    "type": "string",
                    "description": "Label for canceling mobile details for SMS auth\n"
                },
                "smsNumberError": {
                    "type": "string",
                    "description": "Localized error message shown when the mobile number is invalid\n"
                },
                "smsNumberFieldLabel": {
                    "type": "string",
                    "description": "Label for field to provide mobile number\n"
                },
                "smsNumberFormat": {
                    "type": "string",
                    "description": "Localized example mobile number format shown for SMS authentication\n"
                },
                "smsNumberMessage": {
                    "type": "string",
                    "description": "Localized instructional text explaining SMS access-code delivery\n"
                },
                "smsNumberSubmit": {
                    "type": "string",
                    "description": "Label for submit button for code generation\n"
                },
                "smsNumberTitle": {
                    "type": "string",
                    "description": "Title for phone number details\n"
                },
                "smsUsernameFormat": {
                    "type": "string",
                    "description": "Localized example username format shown for SMS authentication\n"
                },
                "sponsorBackLink": {
                    "type": "string",
                    "description": "Localized link text for returning to edit the sponsor request form\n"
                },
                "sponsorCancel": {
                    "type": "string",
                    "description": "Localized button label for canceling sponsor authentication\n"
                },
                "sponsorEmail": {
                    "type": "string",
                    "description": "Label for Sponsor Email\n"
                },
                "sponsorEmailError": {
                    "type": "string",
                    "description": "Localized error message shown when the sponsor email address is invalid\n"
                },
                "sponsorInfoApproved": {
                    "type": "string",
                    "description": "Localized status message prefix shown when a sponsor approves the request\n"
                },
                "sponsorInfoDenied": {
                    "type": "string",
                    "description": "Localized status message prefix shown when a sponsor denies the request\n"
                },
                "sponsorInfoPending": {
                    "type": "string",
                    "description": "Localized status message prefix shown after a sponsor notification is sent\n"
                },
                "sponsorName": {
                    "type": "string",
                    "description": "Label for Sponsor Name\n"
                },
                "sponsorNameError": {
                    "type": "string",
                    "description": "Localized error message shown when the sponsor name is missing\n"
                },
                "sponsorNotePending": {
                    "type": "string",
                    "description": "Localized additional status text shown while sponsor approval is pending\n"
                },
                "sponsorRequestAccess": {
                    "type": "string",
                    "description": "Submit button label request Wifi Access and notify sponsor about guest request\n"
                },
                "sponsorStatusApproved": {
                    "type": "string",
                    "description": "Text to display if sponsor approves request\n"
                },
                "sponsorStatusDenied": {
                    "type": "string",
                    "description": "Text to display when sponsor denies request\n"
                },
                "sponsorStatusPending": {
                    "type": "string",
                    "description": "Text to display if request is still pending\n"
                },
                "sponsorSubmit": {
                    "type": "string",
                    "description": "Submit button label to notify sponsor about guest request\n"
                },
                "sponsorsError": {
                    "type": "string",
                    "description": "Localized error message shown when no sponsor is selected\n"
                },
                "sponsorsFieldLabel": {
                    "type": "string",
                    "description": "Localized label for the sponsor selection field\n"
                },
                "tosAcceptLabel": {
                    "type": "string",
                    "description": "Prefix of the label of the link to go to tos\n"
                },
                "tosError": {
                    "type": "string",
                    "description": "Error message when tos not accepted\n"
                },
                "tosLink": {
                    "type": "string",
                    "description": "Label of the link to go to tos\n"
                },
                "tosText": {
                    "type": "string",
                    "description": "Text of the Terms of Service\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/WlanQos:WlanQos": {
            "properties": {
                "class": {
                    "type": "string",
                    "description": "QoS traffic class applied when WLAN QoS override is enabled\n"
                },
                "overwrite": {
                    "type": "boolean",
                    "description": "Whether to overwrite QoS\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "class",
                        "overwrite"
                    ]
                }
            }
        },
        "junipermist:site/WlanRadsec:WlanRadsec": {
            "properties": {
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Whether RADIUS Change of Authorization (CoA) is enabled for RadSec traffic\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether RadSec is enabled\n"
                },
                "idleTimeout": {
                    "type": "string",
                    "description": "Idle timeout, in seconds, for RadSec connections\n"
                },
                "mxclusterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Edge cluster IDs used as RadSec proxies when the WLAN does not use mxtunnel\n"
                },
                "proxyHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "RadSec proxy hostnames advertised to APs\n"
                },
                "serverName": {
                    "type": "string",
                    "description": "TLS server name to verify against the CA certificates in Org Setting. Only if not Mist Edge.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WlanRadsecServer:WlanRadsecServer"
                    },
                    "description": "External RadSec servers. Only if not Mist Edge.\n"
                },
                "useMxedge": {
                    "type": "boolean",
                    "description": "Whether to use organization Mist Edge instances as RadSec proxies\n"
                },
                "useSiteMxedge": {
                    "type": "boolean",
                    "description": "Whether to use site Mist Edge instances when this WLAN does not use mxtunnel\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "serverName"
                    ]
                }
            }
        },
        "junipermist:site/WlanRadsecServer:WlanRadsecServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "Address or hostname of the RadSec server\n"
                },
                "port": {
                    "type": "integer",
                    "description": "TCP port used by the RadSec server\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/WlanRateset:WlanRateset": {
            "properties": {
                "eht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. EHT MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit)\n"
                },
                "he": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. HE MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit\n"
                },
                "ht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 00ff 00f0 001f limits HT rates to MCS 0-7 for 1 stream, MCS 4-7 for 2 stream (i.e. MCS 12-15), MCS 1-5 for 3 stream (i.e. MCS 16-20)\n"
                },
                "legacies": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. List of supported rates (IE=1) and extended supported rates (IE=50) for custom template, append ‘b’ at the end to indicate a rate being basic/mandatory. If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e is configured and legacy does not define at least one basic rate, it will use `no-legacy` default values. enum: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\" pulumi-lang-hcl=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\" pulumi-lang-hcl=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11b`\" pulumi-lang-dotnet=\"`11b`\" pulumi-lang-go=\"`11b`\" pulumi-lang-python=\"`11b`\" pulumi-lang-yaml=\"`11b`\" pulumi-lang-java=\"`11b`\" pulumi-lang-hcl=\"`11b`\"\u003e`11b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\" pulumi-lang-hcl=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12b`\" pulumi-lang-dotnet=\"`12b`\" pulumi-lang-go=\"`12b`\" pulumi-lang-python=\"`12b`\" pulumi-lang-yaml=\"`12b`\" pulumi-lang-java=\"`12b`\" pulumi-lang-hcl=\"`12b`\"\u003e`12b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\" pulumi-lang-hcl=\"`18`\"\u003e`18`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`18b`\" pulumi-lang-dotnet=\"`18b`\" pulumi-lang-go=\"`18b`\" pulumi-lang-python=\"`18b`\" pulumi-lang-yaml=\"`18b`\" pulumi-lang-java=\"`18b`\" pulumi-lang-hcl=\"`18b`\"\u003e`18b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1b`\" pulumi-lang-dotnet=\"`1b`\" pulumi-lang-go=\"`1b`\" pulumi-lang-python=\"`1b`\" pulumi-lang-yaml=\"`1b`\" pulumi-lang-java=\"`1b`\" pulumi-lang-hcl=\"`1b`\"\u003e`1b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\" pulumi-lang-hcl=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24b`\" pulumi-lang-dotnet=\"`24b`\" pulumi-lang-go=\"`24b`\" pulumi-lang-python=\"`24b`\" pulumi-lang-yaml=\"`24b`\" pulumi-lang-java=\"`24b`\" pulumi-lang-hcl=\"`24b`\"\u003e`24b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2b`\" pulumi-lang-dotnet=\"`2b`\" pulumi-lang-go=\"`2b`\" pulumi-lang-python=\"`2b`\" pulumi-lang-yaml=\"`2b`\" pulumi-lang-java=\"`2b`\" pulumi-lang-hcl=\"`2b`\"\u003e`2b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\" pulumi-lang-hcl=\"`36`\"\u003e`36`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`36b`\" pulumi-lang-dotnet=\"`36b`\" pulumi-lang-go=\"`36b`\" pulumi-lang-python=\"`36b`\" pulumi-lang-yaml=\"`36b`\" pulumi-lang-java=\"`36b`\" pulumi-lang-hcl=\"`36b`\"\u003e`36b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\" pulumi-lang-hcl=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48b`\" pulumi-lang-dotnet=\"`48b`\" pulumi-lang-go=\"`48b`\" pulumi-lang-python=\"`48b`\" pulumi-lang-yaml=\"`48b`\" pulumi-lang-java=\"`48b`\" pulumi-lang-hcl=\"`48b`\"\u003e`48b`\u003c/span\u003e, `5.5`, `5.5b`, \u003cspan pulumi-lang-nodejs=\"`54`\" pulumi-lang-dotnet=\"`54`\" pulumi-lang-go=\"`54`\" pulumi-lang-python=\"`54`\" pulumi-lang-yaml=\"`54`\" pulumi-lang-java=\"`54`\" pulumi-lang-hcl=\"`54`\"\u003e`54`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`54b`\" pulumi-lang-dotnet=\"`54b`\" pulumi-lang-go=\"`54b`\" pulumi-lang-python=\"`54b`\" pulumi-lang-yaml=\"`54b`\" pulumi-lang-java=\"`54b`\" pulumi-lang-hcl=\"`54b`\"\u003e`54b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6b`\" pulumi-lang-dotnet=\"`6b`\" pulumi-lang-go=\"`6b`\" pulumi-lang-python=\"`6b`\" pulumi-lang-yaml=\"`6b`\" pulumi-lang-java=\"`6b`\" pulumi-lang-hcl=\"`6b`\"\u003e`6b`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\" pulumi-lang-hcl=\"`9`\"\u003e`9`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`9b`\" pulumi-lang-dotnet=\"`9b`\" pulumi-lang-go=\"`9b`\" pulumi-lang-python=\"`9b`\" pulumi-lang-yaml=\"`9b`\" pulumi-lang-java=\"`9b`\" pulumi-lang-hcl=\"`9b`\"\u003e`9b`\u003c/span\u003e\n"
                },
                "minRssi": {
                    "type": "integer",
                    "description": "Minimum RSSI for client to connect, 0 means not enforcing\n"
                },
                "template": {
                    "type": "string",
                    "description": "Data rate template used to derive WLAN rate settings\n"
                },
                "vht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 03ff 01ff 00ff limits VHT rates to MCS 0-9 for 1 stream, MCS 0-8 for 2 streams, and MCS 0-7 for 3 streams.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "minRssi",
                        "template"
                    ]
                }
            }
        },
        "junipermist:site/WlanSchedule:WlanSchedule": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the WLAN operating schedule is enabled\n"
                },
                "hours": {
                    "$ref": "#/types/junipermist:site/WlanScheduleHours:WlanScheduleHours",
                    "description": "Time ranges when the WLAN is scheduled to operate\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled"
                    ]
                }
            }
        },
        "junipermist:site/WlanScheduleHours:WlanScheduleHours": {
            "properties": {
                "fri": {
                    "type": "string",
                    "description": "Operating hour range for Friday\n"
                },
                "mon": {
                    "type": "string",
                    "description": "Operating hour range for Monday\n"
                },
                "sat": {
                    "type": "string",
                    "description": "Operating hour range for Saturday\n"
                },
                "sun": {
                    "type": "string",
                    "description": "Operating hour range for Sunday\n"
                },
                "thu": {
                    "type": "string",
                    "description": "Operating hour range for Thursday\n"
                },
                "tue": {
                    "type": "string",
                    "description": "Operating hour range for Tuesday\n"
                },
                "wed": {
                    "type": "string",
                    "description": "Operating hour range for Wednesday\n"
                }
            },
            "type": "object"
        },
        "junipermist:site/WxtagSpec:WxtagSpec": {
            "properties": {
                "portRange": {
                    "type": "string",
                    "description": "Matched destination port, \"0\" means any\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "tcp / udp / icmp / gre / any / \":protocol_number\", \u003cspan pulumi-lang-nodejs=\"`protocolNumber`\" pulumi-lang-dotnet=\"`ProtocolNumber`\" pulumi-lang-go=\"`protocolNumber`\" pulumi-lang-python=\"`protocol_number`\" pulumi-lang-yaml=\"`protocolNumber`\" pulumi-lang-java=\"`protocolNumber`\" pulumi-lang-hcl=\"`protocol_number`\"\u003e`protocolNumber`\u003c/span\u003e is between 1-254\n"
                },
                "subnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination subnets or IP addresses matched by this WxLAN tag spec\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "portRange",
                        "protocol",
                        "subnets"
                    ]
                }
            }
        },
        "junipermist:site/baseLatlng:baseLatlng": {
            "properties": {
                "lat": {
                    "type": "number",
                    "description": "Geographic latitude in decimal degrees\n"
                },
                "lng": {
                    "type": "number",
                    "description": "Geographic longitude in decimal degrees\n"
                }
            },
            "type": "object",
            "required": [
                "lat",
                "lng"
            ]
        },
        "junipermist:site/getEvpnTopologiesSiteEvpnTopology:getEvpnTopologiesSiteEvpnTopology": {
            "properties": {
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "evpnOptions": {
                    "$ref": "#/types/junipermist:site/getEvpnTopologiesSiteEvpnTopologyEvpnOptions:getEvpnTopologiesSiteEvpnTopologyEvpnOptions",
                    "description": "EVPN Options\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "podNames": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Property key is the pod number\n"
                },
                "siteId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "createdTime",
                "evpnOptions",
                "id",
                "modifiedTime",
                "name",
                "podNames",
                "siteId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getEvpnTopologiesSiteEvpnTopologyEvpnOptions:getEvpnTopologiesSiteEvpnTopologyEvpnOptions": {
            "properties": {
                "autoLoopbackSubnet": {
                    "type": "string",
                    "description": "Optional, for dhcp*relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server*id-overrides\n"
                },
                "autoLoopbackSubnet6": {
                    "type": "string",
                    "description": "Optional, for dhcp*relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server*id-overrides\n"
                },
                "autoRouterIdSubnet": {
                    "type": "string",
                    "description": "Optional, this generates\u003cspan pulumi-lang-nodejs=\" routerId \" pulumi-lang-dotnet=\" RouterId \" pulumi-lang-go=\" routerId \" pulumi-lang-python=\" router_id \" pulumi-lang-yaml=\" routerId \" pulumi-lang-java=\" routerId \" pulumi-lang-hcl=\" router_id \"\u003e routerId \u003c/span\u003eautomatically, if specified, \u003cspan pulumi-lang-nodejs=\"`routerIdPrefix`\" pulumi-lang-dotnet=\"`RouterIdPrefix`\" pulumi-lang-go=\"`routerIdPrefix`\" pulumi-lang-python=\"`router_id_prefix`\" pulumi-lang-yaml=\"`routerIdPrefix`\" pulumi-lang-java=\"`routerIdPrefix`\" pulumi-lang-hcl=\"`router_id_prefix`\"\u003e`routerIdPrefix`\u003c/span\u003e is ignored\n"
                },
                "autoRouterIdSubnet6": {
                    "type": "string",
                    "description": "Optional, this generates\u003cspan pulumi-lang-nodejs=\" routerId \" pulumi-lang-dotnet=\" RouterId \" pulumi-lang-go=\" routerId \" pulumi-lang-python=\" router_id \" pulumi-lang-yaml=\" routerId \" pulumi-lang-java=\" routerId \" pulumi-lang-hcl=\" router_id \"\u003e routerId \u003c/span\u003eautomatically, if specified, \u003cspan pulumi-lang-nodejs=\"`routerIdPrefix`\" pulumi-lang-dotnet=\"`RouterIdPrefix`\" pulumi-lang-go=\"`routerIdPrefix`\" pulumi-lang-python=\"`router_id_prefix`\" pulumi-lang-yaml=\"`routerIdPrefix`\" pulumi-lang-java=\"`routerIdPrefix`\" pulumi-lang-hcl=\"`router_id_prefix`\"\u003e`routerIdPrefix`\u003c/span\u003e is ignored\n"
                },
                "coreAsBorder": {
                    "type": "boolean",
                    "description": "Optional, for ERB or CLOS, you can either use esilag to upstream routers or to also be the virtual-gateway. When \u003cspan pulumi-lang-nodejs=\"`routedAt`\" pulumi-lang-dotnet=\"`RoutedAt`\" pulumi-lang-go=\"`routedAt`\" pulumi-lang-python=\"`routed_at`\" pulumi-lang-yaml=\"`routedAt`\" pulumi-lang-java=\"`routedAt`\" pulumi-lang-hcl=\"`routed_at`\"\u003e`routedAt`\u003c/span\u003e != \u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e, whether to do virtual-gateway at core as well\n"
                },
                "enableInbandZtp": {
                    "type": "boolean",
                    "description": "if the mangement traffic goes inbnd, during installation, only the border/core switches are connected to the Internet to allow initial configuration to be pushed down and leave the downstream access switches stay in the Factory Default state enabling inband-ztp allows upstream switches to use LLDP to assign IP and gives Internet to downstream switches in that state\n"
                },
                "overlay": {
                    "$ref": "#/types/junipermist:site/getEvpnTopologiesSiteEvpnTopologyEvpnOptionsOverlay:getEvpnTopologiesSiteEvpnTopologyEvpnOptionsOverlay"
                },
                "perVlanVgaV4Mac": {
                    "type": "boolean",
                    "description": "Only for by Core-Distribution architecture when `evpn_options.routed_at`==\u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e. By default, JUNOS uses 00-00-5e-00-01-01 as the virtual-gateway-address's v4*mac. If enabled, 00-00-5e-00-0X-YY will be used (where XX=vlan*id/256, YY=vlan_id%256)\n"
                },
                "perVlanVgaV6Mac": {
                    "type": "boolean",
                    "description": "Only for by Core-Distribution architecture when `evpn_options.routed_at`==\u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e. By default, JUNOS uses 00-00-5e-00-02-01 as the virtual-gateway-address's v6*mac. If enabled, 00-00-5e-00-1X-YY will be used (where XX=vlan*id/256, YY=vlan_id%256)\n"
                },
                "routedAt": {
                    "type": "string",
                    "description": "optional, where virtual-gateway should reside. enum: \u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\" pulumi-lang-hcl=\"`core`\"\u003e`core`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distribution`\" pulumi-lang-dotnet=\"`Distribution`\" pulumi-lang-go=\"`distribution`\" pulumi-lang-python=\"`distribution`\" pulumi-lang-yaml=\"`distribution`\" pulumi-lang-java=\"`distribution`\" pulumi-lang-hcl=\"`distribution`\"\u003e`distribution`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`edge`\" pulumi-lang-dotnet=\"`Edge`\" pulumi-lang-go=\"`edge`\" pulumi-lang-python=\"`edge`\" pulumi-lang-yaml=\"`edge`\" pulumi-lang-java=\"`edge`\" pulumi-lang-hcl=\"`edge`\"\u003e`edge`\u003c/span\u003e\n"
                },
                "underlay": {
                    "$ref": "#/types/junipermist:site/getEvpnTopologiesSiteEvpnTopologyEvpnOptionsUnderlay:getEvpnTopologiesSiteEvpnTopologyEvpnOptionsUnderlay"
                },
                "vsInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/getEvpnTopologiesSiteEvpnTopologyEvpnOptionsVsInstances:getEvpnTopologiesSiteEvpnTopologyEvpnOptionsVsInstances"
                    },
                    "description": "Optional, for EX9200 only to segregate virtual-switches\n"
                }
            },
            "type": "object",
            "required": [
                "autoLoopbackSubnet",
                "autoLoopbackSubnet6",
                "autoRouterIdSubnet",
                "autoRouterIdSubnet6",
                "coreAsBorder",
                "enableInbandZtp",
                "overlay",
                "perVlanVgaV4Mac",
                "perVlanVgaV6Mac",
                "routedAt",
                "underlay",
                "vsInstances"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getEvpnTopologiesSiteEvpnTopologyEvpnOptionsOverlay:getEvpnTopologiesSiteEvpnTopologyEvpnOptionsOverlay": {
            "properties": {
                "as": {
                    "type": "integer",
                    "description": "Overlay BGP Local AS Number\n"
                }
            },
            "type": "object",
            "required": [
                "as"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getEvpnTopologiesSiteEvpnTopologyEvpnOptionsUnderlay:getEvpnTopologiesSiteEvpnTopologyEvpnOptionsUnderlay": {
            "properties": {
                "asBase": {
                    "type": "integer",
                    "description": "Underlay BGP Base AS Number\n"
                },
                "routedIdPrefix": {
                    "type": "string"
                },
                "subnet": {
                    "type": "string",
                    "description": "Underlay subnet, by default, `10.255.240.0/20`, or `fd31:5700::/64` for ipv6\n"
                },
                "useIpv6": {
                    "type": "boolean",
                    "description": "If v6 is desired for underlay\n"
                }
            },
            "type": "object",
            "required": [
                "asBase",
                "routedIdPrefix",
                "subnet",
                "useIpv6"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getEvpnTopologiesSiteEvpnTopologyEvpnOptionsVsInstances:getEvpnTopologiesSiteEvpnTopologyEvpnOptionsVsInstances": {
            "properties": {
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "networks"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getPsksSitePsk:getPsksSitePsk": {
            "properties": {
                "adminSsoId": {
                    "type": "string",
                    "description": "sso id for psk created from psk portal\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "email": {
                    "type": "string",
                    "description": "email to send psk expiring notifications to\n"
                },
                "expireTime": {
                    "type": "integer",
                    "description": "Expire time for this PSK key (epoch time in seconds). Default \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e (as no expiration)\n"
                },
                "expiryNotificationTime": {
                    "type": "integer",
                    "description": "Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e, the mac that this PSK ties to, empty if `auto-binding`\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string"
                },
                "note": {
                    "type": "string"
                },
                "notifyExpiry": {
                    "type": "boolean",
                    "description": "If set to true, reminder notification will be sent when psk is about to expire\n"
                },
                "notifyOnCreateOrEdit": {
                    "type": "boolean",
                    "description": "If set to true, notification will be sent when psk is created or edited\n"
                },
                "oldPassphrase": {
                    "type": "string",
                    "description": "previous passphrase of the PSK if it has been rotated\n",
                    "secret": true
                },
                "orgId": {
                    "type": "string"
                },
                "passphrase": {
                    "type": "string",
                    "description": "passphrase of the PSK (8-63 character or 64 in hex)\n",
                    "secret": true
                },
                "role": {
                    "type": "string"
                },
                "siteId": {
                    "type": "string"
                },
                "ssid": {
                    "type": "string",
                    "description": "SSID this PSK should be applicable to\n"
                },
                "usage": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`macs`\" pulumi-lang-dotnet=\"`Macs`\" pulumi-lang-go=\"`macs`\" pulumi-lang-python=\"`macs`\" pulumi-lang-yaml=\"`macs`\" pulumi-lang-java=\"`macs`\" pulumi-lang-hcl=\"`macs`\"\u003e`macs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "adminSsoId",
                "createdTime",
                "email",
                "expireTime",
                "expiryNotificationTime",
                "id",
                "mac",
                "modifiedTime",
                "name",
                "note",
                "notifyExpiry",
                "notifyOnCreateOrEdit",
                "oldPassphrase",
                "orgId",
                "passphrase",
                "role",
                "siteId",
                "ssid",
                "usage",
                "vlanId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWebhooksSiteWebhook:getWebhooksSiteWebhook": {
            "properties": {
                "assetfilterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==`asset-raw-rssi`. List of ids to associated asset filters. These filters will be applied to messages routed to a filtered-asset-rssi webhook\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether webhook is enabled\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the webhook\n"
                },
                "oauth2ClientId": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e\n"
                },
                "oauth2ClientSecret": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e\n",
                    "secret": true
                },
                "oauth2GrantType": {
                    "type": "string",
                    "description": "required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e\n"
                },
                "oauth2Password": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e\n",
                    "secret": true
                },
                "oauth2Scopes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e, if provided, will be used in the token request\n"
                },
                "oauth2TokenUrl": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2Username": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e\n"
                },
                "orgId": {
                    "type": "string"
                },
                "secret": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`\n",
                    "secret": true
                },
                "singleEventPerMessage": {
                    "type": "boolean",
                    "description": "Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, only a single event will be sent per message. this feature is only available on certain topics (see List Webhook Topics)\n"
                },
                "siteId": {
                    "type": "string"
                },
                "splunkToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e. If\u003cspan pulumi-lang-nodejs=\" splunkToken \" pulumi-lang-dotnet=\" SplunkToken \" pulumi-lang-go=\" splunkToken \" pulumi-lang-python=\" splunk_token \" pulumi-lang-yaml=\" splunkToken \" pulumi-lang-java=\" splunkToken \" pulumi-lang-hcl=\" splunk_token \"\u003e splunkToken \u003c/span\u003eis not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.\n",
                    "secret": true
                },
                "topics": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of supported webhook topics available with the API Call List Webhook Topics\n"
                },
                "type": {
                    "type": "string",
                    "description": "enum: `aws-sns`, `google-pubsub`, `http-post`, \u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e\n"
                },
                "url": {
                    "type": "string"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "When url uses HTTPS, whether to verify the certificate\n"
                }
            },
            "type": "object",
            "required": [
                "assetfilterIds",
                "createdTime",
                "enabled",
                "headers",
                "id",
                "modifiedTime",
                "name",
                "oauth2ClientId",
                "oauth2ClientSecret",
                "oauth2GrantType",
                "oauth2Password",
                "oauth2Scopes",
                "oauth2TokenUrl",
                "oauth2Username",
                "orgId",
                "secret",
                "singleEventPerMessage",
                "siteId",
                "splunkToken",
                "topics",
                "type",
                "url",
                "verifyCert"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlan:getWlansSiteWlan": {
            "properties": {
                "acctImmediateUpdate": {
                    "type": "boolean",
                    "description": "Enable coa-immediate-update and address-change-immediate-update on the access profile.\n"
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled\n"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/getWlansSiteWlanAcctServer:getWlansSiteWlanAcctServer"
                    },
                    "description": "List of RADIUS accounting servers, optional, order matters where the first one is treated as primary\n"
                },
                "airwatch": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanAirwatch:getWlansSiteWlanAirwatch",
                    "description": "Airwatch wlan settings\n"
                },
                "allowIpv6Ndp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows or disallows ipv6 Neighbor Discovery packets to go through\n"
                },
                "allowMdns": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows mDNS / Bonjour packets to go through\n"
                },
                "allowSsdp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows SSDP\n"
                },
                "apIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of device ids\n"
                },
                "appLimit": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanAppLimit:getWlansSiteWlanAppLimit",
                    "description": "Bandwidth limiting for apps (applies to up/down)\n"
                },
                "appQos": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanAppQos:getWlansSiteWlanAppQos",
                    "description": "APP qos wlan settings\n"
                },
                "applyTo": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`aps`\" pulumi-lang-dotnet=\"`Aps`\" pulumi-lang-go=\"`aps`\" pulumi-lang-python=\"`aps`\" pulumi-lang-yaml=\"`aps`\" pulumi-lang-java=\"`aps`\" pulumi-lang-hcl=\"`aps`\"\u003e`aps`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`site`\" pulumi-lang-dotnet=\"`Site`\" pulumi-lang-go=\"`site`\" pulumi-lang-python=\"`site`\" pulumi-lang-yaml=\"`site`\" pulumi-lang-java=\"`site`\" pulumi-lang-hcl=\"`site`\"\u003e`site`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wxtags`\" pulumi-lang-dotnet=\"`Wxtags`\" pulumi-lang-go=\"`wxtags`\" pulumi-lang-python=\"`wxtags`\" pulumi-lang-yaml=\"`wxtags`\" pulumi-lang-java=\"`wxtags`\" pulumi-lang-hcl=\"`wxtags`\"\u003e`wxtags`\u003c/span\u003e\n"
                },
                "arpFilter": {
                    "type": "boolean",
                    "description": "Whether to enable smart arp filter\n"
                },
                "auth": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanAuth:getWlansSiteWlanAuth",
                    "description": "Authentication wlan settings\n"
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "When ordered, AP will prefer and go back to the first server if possible. enum: \u003cspan pulumi-lang-nodejs=\"`ordered`\" pulumi-lang-dotnet=\"`Ordered`\" pulumi-lang-go=\"`ordered`\" pulumi-lang-python=\"`ordered`\" pulumi-lang-yaml=\"`ordered`\" pulumi-lang-java=\"`ordered`\" pulumi-lang-hcl=\"`ordered`\"\u003e`ordered`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unordered`\" pulumi-lang-dotnet=\"`Unordered`\" pulumi-lang-go=\"`unordered`\" pulumi-lang-python=\"`unordered`\" pulumi-lang-yaml=\"`unordered`\" pulumi-lang-java=\"`unordered`\" pulumi-lang-hcl=\"`unordered`\"\u003e`unordered`\u003c/span\u003e\n"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/getWlansSiteWlanAuthServer:getWlansSiteWlanAuthServer"
                    },
                    "description": "List of RADIUS authentication servers, at least one is needed if `auth type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e, order matters where the first one is treated as primary\n"
                },
                "authServersNasId": {
                    "type": "string",
                    "description": "Optional, up to 48 bytes, will be dynamically generated if not provided. used only for authentication servers\n"
                },
                "authServersNasIp": {
                    "type": "string",
                    "description": "Optional, NAS-IP-ADDRESS to use\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "Radius auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘retries’  are set to value of auth_servers_retries. ‘max-requests’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersRetries \" pulumi-lang-dotnet=\" AuthServersRetries \" pulumi-lang-go=\" authServersRetries \" pulumi-lang-python=\" auth_servers_retries \" pulumi-lang-yaml=\" authServersRetries \" pulumi-lang-java=\" authServersRetries \" pulumi-lang-hcl=\" auth_servers_retries \"\u003e authServersRetries \u003c/span\u003eand is set to default value to 3.\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "Radius auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘quite-period’  and ‘transmit-period’ are set to half the value of auth_servers_timeout. ‘supplicant-timeout’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersTimeout \" pulumi-lang-dotnet=\" AuthServersTimeout \" pulumi-lang-go=\" authServersTimeout \" pulumi-lang-python=\" auth_servers_timeout \" pulumi-lang-yaml=\" authServersTimeout \" pulumi-lang-java=\" authServersTimeout \" pulumi-lang-hcl=\" auth_servers_timeout \"\u003e authServersTimeout \u003c/span\u003eand is set to default value of 10.\n"
                },
                "bandSteer": {
                    "type": "boolean",
                    "description": "Whether to enable band_steering, this works only when band==both\n"
                },
                "bandSteerForceBand5": {
                    "type": "boolean",
                    "description": "Force\u003cspan pulumi-lang-nodejs=\" dualBand \" pulumi-lang-dotnet=\" DualBand \" pulumi-lang-go=\" dualBand \" pulumi-lang-python=\" dual_band \" pulumi-lang-yaml=\" dualBand \" pulumi-lang-java=\" dualBand \" pulumi-lang-hcl=\" dual_band \"\u003e dualBand \u003c/span\u003ecapable client to connect to 5G\n"
                },
                "bands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of radios that the wlan should apply to.\n"
                },
                "blockBlacklistClients": {
                    "type": "boolean",
                    "description": "Whether to block the clients in the blacklist (up to first 256 macs)\n"
                },
                "bonjour": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanBonjour:getWlansSiteWlanBonjour",
                    "description": "Bonjour gateway wlan settings\n"
                },
                "ciscoCwa": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanCiscoCwa:getWlansSiteWlanCiscoCwa",
                    "description": "Cisco CWA (central web authentication) required RADIUS with COA in order to work. See CWA: https://www.cisco.com/c/en/us/support/docs/security/identity-services-engine/115732-central-web-auth-00.html\n"
                },
                "clientLimitDown": {
                    "type": "string"
                },
                "clientLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting per-client is enabled\n"
                },
                "clientLimitUp": {
                    "type": "string"
                },
                "clientLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting per-client is enabled\n"
                },
                "coaServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/getWlansSiteWlanCoaServer:getWlansSiteWlanCoaServer"
                    },
                    "description": "List of COA (change of authorization) servers, optional\n"
                },
                "createdTime": {
                    "type": "number",
                    "description": "When the object has been created, in epoch\n"
                },
                "disable11ax": {
                    "type": "boolean",
                    "description": "Some old WLAN drivers may not be compatible\n"
                },
                "disable11be": {
                    "type": "boolean",
                    "description": "To disable Wi-Fi 7 EHT IEs\n"
                },
                "disableHtVhtRates": {
                    "type": "boolean",
                    "description": "To disable ht or vht rates\n"
                },
                "disableUapsd": {
                    "type": "boolean",
                    "description": "Whether to disable U-APSD\n"
                },
                "disableV1RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages\n"
                },
                "disableV2RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages\n"
                },
                "disableWhenGatewayUnreachable": {
                    "type": "boolean",
                    "description": "When any of the following is true, this WLAN will be disabled\n   * cannot get IP\n   * cannot obtain default gateway\n   * cannot reach default gateway\n"
                },
                "disableWhenMxtunnelDown": {
                    "type": "boolean"
                },
                "disableWmm": {
                    "type": "boolean",
                    "description": "Whether to disable WMM\n"
                },
                "dnsServerRewrite": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanDnsServerRewrite:getWlansSiteWlanDnsServerRewrite",
                    "description": "For radius_group-based DNS server (rewrite DNS request depending on the Group RADIUS server returns)\n"
                },
                "dtim": {
                    "type": "integer"
                },
                "dynamicPsk": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanDynamicPsk:getWlansSiteWlanDynamicPsk",
                    "description": "For dynamic PSK where we get\u003cspan pulumi-lang-nodejs=\" perUser \" pulumi-lang-dotnet=\" PerUser \" pulumi-lang-go=\" perUser \" pulumi-lang-python=\" per_user \" pulumi-lang-yaml=\" perUser \" pulumi-lang-java=\" perUser \" pulumi-lang-hcl=\" per_user \"\u003e perUser \u003c/span\u003ePSK from Radius.\u003cspan pulumi-lang-nodejs=\" dynamicPsk \" pulumi-lang-dotnet=\" DynamicPsk \" pulumi-lang-go=\" dynamicPsk \" pulumi-lang-python=\" dynamic_psk \" pulumi-lang-yaml=\" dynamicPsk \" pulumi-lang-java=\" dynamicPsk \" pulumi-lang-hcl=\" dynamic_psk \"\u003e dynamicPsk \u003c/span\u003eallows PSK to be selected at runtime depending on context (wlan/site/user/...) thus following configurations are assumed (currently)\n  * PSK will come from RADIUS server\n  * AP sends client MAC as username and password (i.e. \u003cspan pulumi-lang-nodejs=\"`enableMacAuth`\" pulumi-lang-dotnet=\"`EnableMacAuth`\" pulumi-lang-go=\"`enableMacAuth`\" pulumi-lang-python=\"`enable_mac_auth`\" pulumi-lang-yaml=\"`enableMacAuth`\" pulumi-lang-java=\"`enableMacAuth`\" pulumi-lang-hcl=\"`enable_mac_auth`\"\u003e`enableMacAuth`\u003c/span\u003e is assumed)\n  * AP sends BSSID:SSID as Caller-Station-ID\n  * \u003cspan pulumi-lang-nodejs=\"`authServers`\" pulumi-lang-dotnet=\"`AuthServers`\" pulumi-lang-go=\"`authServers`\" pulumi-lang-python=\"`auth_servers`\" pulumi-lang-yaml=\"`authServers`\" pulumi-lang-java=\"`authServers`\" pulumi-lang-hcl=\"`auth_servers`\"\u003e`authServers`\u003c/span\u003e is required\n  * PSK will come from cloud WLC if source is\u003cspan pulumi-lang-nodejs=\" cloudPsks\n\" pulumi-lang-dotnet=\" CloudPsks\n\" pulumi-lang-go=\" cloudPsks\n\" pulumi-lang-python=\" cloud_psks\n\" pulumi-lang-yaml=\" cloudPsks\n\" pulumi-lang-java=\" cloudPsks\n\" pulumi-lang-hcl=\" cloud_psks\n\"\u003e cloudPsks\n\u003c/span\u003e  *\u003cspan pulumi-lang-nodejs=\" defaultPsk \" pulumi-lang-dotnet=\" DefaultPsk \" pulumi-lang-go=\" defaultPsk \" pulumi-lang-python=\" default_psk \" pulumi-lang-yaml=\" defaultPsk \" pulumi-lang-java=\" defaultPsk \" pulumi-lang-hcl=\" default_psk \"\u003e defaultPsk \u003c/span\u003ewill be used if cloud WLC is not available\n  * \u003cspan pulumi-lang-nodejs=\"`multiPskOnly`\" pulumi-lang-dotnet=\"`MultiPskOnly`\" pulumi-lang-go=\"`multiPskOnly`\" pulumi-lang-python=\"`multi_psk_only`\" pulumi-lang-yaml=\"`multiPskOnly`\" pulumi-lang-java=\"`multiPskOnly`\" pulumi-lang-hcl=\"`multi_psk_only`\"\u003e`multiPskOnly`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`pairwise`\" pulumi-lang-dotnet=\"`Pairwise`\" pulumi-lang-go=\"`pairwise`\" pulumi-lang-python=\"`pairwise`\" pulumi-lang-yaml=\"`pairwise`\" pulumi-lang-java=\"`pairwise`\" pulumi-lang-hcl=\"`pairwise`\"\u003e`pairwise`\u003c/span\u003e can only be wpa2-ccmp (for now, wpa3 support on the roadmap)\n"
                },
                "dynamicVlan": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanDynamicVlan:getWlansSiteWlanDynamicVlan",
                    "description": "For 802.1x\n"
                },
                "enableLocalKeycaching": {
                    "type": "boolean",
                    "description": "Enable AP-AP keycaching via multicast\n"
                },
                "enableWirelessBridging": {
                    "type": "boolean",
                    "description": "By default, we'd inspect all DHCP packets and drop those unrelated to the wireless client itself in the case where client is a wireless bridge (DHCP packets for other MACs will need to be forwarded),\u003cspan pulumi-lang-nodejs=\" wirelessBridging \" pulumi-lang-dotnet=\" WirelessBridging \" pulumi-lang-go=\" wirelessBridging \" pulumi-lang-python=\" wireless_bridging \" pulumi-lang-yaml=\" wirelessBridging \" pulumi-lang-java=\" wirelessBridging \" pulumi-lang-hcl=\" wireless_bridging \"\u003e wirelessBridging \u003c/span\u003ecan be enabled\n"
                },
                "enableWirelessBridgingDhcpTracking": {
                    "type": "boolean",
                    "description": "If the client bridge is doing DHCP on behalf of other devices (L2-NAT), enable\u003cspan pulumi-lang-nodejs=\" dhcpTracking \" pulumi-lang-dotnet=\" DhcpTracking \" pulumi-lang-go=\" dhcpTracking \" pulumi-lang-python=\" dhcp_tracking \" pulumi-lang-yaml=\" dhcpTracking \" pulumi-lang-java=\" dhcpTracking \" pulumi-lang-hcl=\" dhcp_tracking \"\u003e dhcpTracking \u003c/span\u003ewill cut down DHCP response packets to be forwarded to wireless\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If this wlan is enabled\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from ‘auth_servers_timeout’ and ‘auth_server_retries’ .\n"
                },
                "hideSsid": {
                    "type": "boolean",
                    "description": "Whether to hide SSID in beacon\n"
                },
                "hostnameIe": {
                    "type": "boolean",
                    "description": "Include hostname inside IE in AP beacons / probe responses\n"
                },
                "hotspot20": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanHotspot20:getWlansSiteWlanHotspot20",
                    "description": "Hostspot 2.0 wlan settings\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization\n"
                },
                "injectDhcpOption82": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanInjectDhcpOption82:getWlansSiteWlanInjectDhcpOption82"
                },
                "interface": {
                    "type": "string",
                    "description": "where this WLAN will be connected to. enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\" pulumi-lang-hcl=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eth0`\" pulumi-lang-dotnet=\"`Eth0`\" pulumi-lang-go=\"`eth0`\" pulumi-lang-python=\"`eth0`\" pulumi-lang-yaml=\"`eth0`\" pulumi-lang-java=\"`eth0`\" pulumi-lang-hcl=\"`eth0`\"\u003e`eth0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eth1`\" pulumi-lang-dotnet=\"`Eth1`\" pulumi-lang-go=\"`eth1`\" pulumi-lang-python=\"`eth1`\" pulumi-lang-yaml=\"`eth1`\" pulumi-lang-java=\"`eth1`\" pulumi-lang-hcl=\"`eth1`\"\u003e`eth1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eth2`\" pulumi-lang-dotnet=\"`Eth2`\" pulumi-lang-go=\"`eth2`\" pulumi-lang-python=\"`eth2`\" pulumi-lang-yaml=\"`eth2`\" pulumi-lang-java=\"`eth2`\" pulumi-lang-hcl=\"`eth2`\"\u003e`eth2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eth3`\" pulumi-lang-dotnet=\"`Eth3`\" pulumi-lang-go=\"`eth3`\" pulumi-lang-python=\"`eth3`\" pulumi-lang-yaml=\"`eth3`\" pulumi-lang-java=\"`eth3`\" pulumi-lang-hcl=\"`eth3`\"\u003e`eth3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to stop clients to talk to each other\n"
                },
                "l2Isolation": {
                    "type": "boolean",
                    "description": "If isolation is enabled, whether to deny clients to talk to L2 on the LAN\n"
                },
                "legacyOverds": {
                    "type": "boolean",
                    "description": "Legacy devices requires the Over-DS (for Fast BSS Transition) bit set (while our chip doesn’t support it). Warning! Enabling this will cause problem for iOS devices.\n"
                },
                "limitBcast": {
                    "type": "boolean",
                    "description": "Whether to limit broadcast packets going to wireless (i.e. only allow certain bcast packets to go through)\n"
                },
                "limitProbeResponse": {
                    "type": "boolean",
                    "description": "Limit probe response base on some heuristic rules\n"
                },
                "maxIdletime": {
                    "type": "integer",
                    "description": "Max idle time in seconds\n"
                },
                "maxNumClients": {
                    "type": "integer",
                    "description": "Maximum number of client connected to the SSID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means unlimited\n"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanMistNac:getWlansSiteWlanMistNac"
                },
                "modifiedTime": {
                    "type": "number",
                    "description": "When the object has been modified for the last time, in epoch\n"
                },
                "mspId": {
                    "type": "string"
                },
                "mxtunnelIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e, id of the Mist Tunnel\n"
                },
                "mxtunnelNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e, name of the mxtunnel that in mxtunnels under Site Setting\n"
                },
                "noStaticDns": {
                    "type": "boolean",
                    "description": "Whether to only allow client to use DNS that we’ve learned from DHCP response\n"
                },
                "noStaticIp": {
                    "type": "boolean",
                    "description": "Whether to only allow client that we’ve learned from DHCP exchange to talk\n"
                },
                "orgId": {
                    "type": "string"
                },
                "portal": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanPortal:getWlansSiteWlanPortal",
                    "description": "Portal wlan settings\n"
                },
                "portalAllowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of hostnames without http(s):// (matched by substring)\n"
                },
                "portalAllowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of CIDRs\n"
                },
                "portalApiSecret": {
                    "type": "string",
                    "description": "API secret (auto-generated) that can be used to sign guest authorization requests, only generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e\n"
                },
                "portalDeniedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of hostnames without http(s):// (matched by substring), this takes precedence over portal_allowed_hostnames\n"
                },
                "portalImage": {
                    "type": "string",
                    "description": "Url of portal background image\n"
                },
                "portalSsoUrl": {
                    "type": "string",
                    "description": "URL used in the SSO process, auto-generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e\n"
                },
                "qos": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanQos:getWlansSiteWlanQos"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanRadsec:getWlansSiteWlanRadsec",
                    "description": "RadSec settings\n"
                },
                "rateset": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/getWlansSiteWlanRateset:getWlansSiteWlanRateset"
                    },
                    "description": "Property key is the RF band. enum: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\" pulumi-lang-hcl=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e\n"
                },
                "reconnectClientsWhenRoamingMxcluster": {
                    "type": "boolean",
                    "description": "When different mxcluster is on different subnet, we'd want to disconnect clients (so they'll reconnect and get new IPs)\n"
                },
                "roamMode": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`11r`\" pulumi-lang-dotnet=\"`11r`\" pulumi-lang-go=\"`11r`\" pulumi-lang-python=\"`11r`\" pulumi-lang-yaml=\"`11r`\" pulumi-lang-java=\"`11r`\" pulumi-lang-hcl=\"`11r`\"\u003e`11r`\u003c/span\u003e, `OKC`, `NONE`\n"
                },
                "schedule": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanSchedule:getWlansSiteWlanSchedule",
                    "description": "WLAN operating schedule, default is disabled\n"
                },
                "siteId": {
                    "type": "string"
                },
                "sleExcluded": {
                    "type": "boolean",
                    "description": "Whether to exclude this WLAN from SLE metrics\n"
                },
                "ssid": {
                    "type": "string",
                    "description": "Name of the SSID\n"
                },
                "useEapolV1": {
                    "type": "boolean",
                    "description": "If `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e or `auth.type`==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, should only be set for legacy client, such as pre-2004, 802.11b devices\n"
                },
                "vlanEnabled": {
                    "type": "boolean",
                    "description": "If vlan tagging is enabled\n"
                },
                "vlanId": {
                    "type": "string"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vlanPooling`\" pulumi-lang-dotnet=\"`VlanPooling`\" pulumi-lang-go=\"`vlanPooling`\" pulumi-lang-python=\"`vlan_pooling`\" pulumi-lang-yaml=\"`vlanPooling`\" pulumi-lang-java=\"`vlanPooling`\" pulumi-lang-hcl=\"`vlan_pooling`\"\u003e`vlanPooling`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. List of VLAN IDs (comma separated) to be used in the VLAN Pool\n"
                },
                "vlanPooling": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Vlan pooling allows AP to place client on different VLAN using a deterministic algorithm\n"
                },
                "wlanLimitDown": {
                    "type": "string"
                },
                "wlanLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting for whole wlan is enabled\n"
                },
                "wlanLimitUp": {
                    "type": "string"
                },
                "wlanLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting for whole wlan is enabled\n"
                },
                "wxtagIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of wxtag_ids\n"
                },
                "wxtunnelId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, id of the WXLAN Tunnel\n"
                },
                "wxtunnelRemoteId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, remote tunnel identifier\n"
                }
            },
            "type": "object",
            "required": [
                "acctImmediateUpdate",
                "acctInterimInterval",
                "acctServers",
                "airwatch",
                "allowIpv6Ndp",
                "allowMdns",
                "allowSsdp",
                "apIds",
                "appLimit",
                "appQos",
                "applyTo",
                "arpFilter",
                "auth",
                "authServerSelection",
                "authServers",
                "authServersNasId",
                "authServersNasIp",
                "authServersRetries",
                "authServersTimeout",
                "bandSteer",
                "bandSteerForceBand5",
                "bands",
                "blockBlacklistClients",
                "bonjour",
                "ciscoCwa",
                "clientLimitDown",
                "clientLimitDownEnabled",
                "clientLimitUp",
                "clientLimitUpEnabled",
                "coaServers",
                "createdTime",
                "disable11ax",
                "disable11be",
                "disableHtVhtRates",
                "disableUapsd",
                "disableV1RoamNotify",
                "disableV2RoamNotify",
                "disableWhenGatewayUnreachable",
                "disableWhenMxtunnelDown",
                "disableWmm",
                "dnsServerRewrite",
                "dtim",
                "dynamicPsk",
                "dynamicVlan",
                "enableLocalKeycaching",
                "enableWirelessBridging",
                "enableWirelessBridgingDhcpTracking",
                "enabled",
                "fastDot1xTimers",
                "hideSsid",
                "hostnameIe",
                "hotspot20",
                "id",
                "injectDhcpOption82",
                "interface",
                "isolation",
                "l2Isolation",
                "legacyOverds",
                "limitBcast",
                "limitProbeResponse",
                "maxIdletime",
                "maxNumClients",
                "mistNac",
                "modifiedTime",
                "mspId",
                "mxtunnelIds",
                "mxtunnelNames",
                "noStaticDns",
                "noStaticIp",
                "orgId",
                "portal",
                "portalAllowedHostnames",
                "portalAllowedSubnets",
                "portalApiSecret",
                "portalDeniedHostnames",
                "portalImage",
                "portalSsoUrl",
                "qos",
                "radsec",
                "rateset",
                "reconnectClientsWhenRoamingMxcluster",
                "roamMode",
                "schedule",
                "siteId",
                "sleExcluded",
                "ssid",
                "useEapolV1",
                "vlanEnabled",
                "vlanId",
                "vlanIds",
                "vlanPooling",
                "wlanLimitDown",
                "wlanLimitDownEnabled",
                "wlanLimitUp",
                "wlanLimitUpEnabled",
                "wxtagIds",
                "wxtunnelId",
                "wxtunnelRemoteId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanAcctServer:getWlansSiteWlanAcctServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "IP/ hostname of RADIUS server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ascii`\" pulumi-lang-dotnet=\"`Ascii`\" pulumi-lang-go=\"`ascii`\" pulumi-lang-python=\"`ascii`\" pulumi-lang-yaml=\"`ascii`\" pulumi-lang-java=\"`ascii`\" pulumi-lang-hcl=\"`ascii`\"\u003e`ascii`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hex`\" pulumi-lang-dotnet=\"`Hex`\" pulumi-lang-go=\"`hex`\" pulumi-lang-python=\"`hex`\" pulumi-lang-yaml=\"`hex`\" pulumi-lang-java=\"`hex`\" pulumi-lang-hcl=\"`hex`\"\u003e`hex`\u003c/span\u003e\n"
                },
                "keywrapKek": {
                    "type": "string"
                },
                "keywrapMack": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret of RADIUS server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "keywrapEnabled",
                "keywrapFormat",
                "keywrapKek",
                "keywrapMack",
                "port",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanAirwatch:getWlansSiteWlanAirwatch": {
            "properties": {
                "apiKey": {
                    "type": "string",
                    "description": "API Key\n"
                },
                "consoleUrl": {
                    "type": "string",
                    "description": "Console URL\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "password": {
                    "type": "string",
                    "description": "Password\n",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "Username\n"
                }
            },
            "type": "object",
            "required": [
                "apiKey",
                "consoleUrl",
                "enabled",
                "password",
                "username"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanAppLimit:getWlansSiteWlanAppLimit": {
            "properties": {
                "apps": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Map from app key to bandwidth in kbps. \nProperty key is the app key, defined in Get Application List\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "wxtagIds": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Map from\u003cspan pulumi-lang-nodejs=\" wxtagId \" pulumi-lang-dotnet=\" WxtagId \" pulumi-lang-go=\" wxtagId \" pulumi-lang-python=\" wxtag_id \" pulumi-lang-yaml=\" wxtagId \" pulumi-lang-java=\" wxtagId \" pulumi-lang-hcl=\" wxtag_id \"\u003e wxtagId \u003c/span\u003eof Hostname Wxlan Tags to bandwidth in kbps. Property key is the \u003cspan pulumi-lang-nodejs=\"`wxtagId`\" pulumi-lang-dotnet=\"`WxtagId`\" pulumi-lang-go=\"`wxtagId`\" pulumi-lang-python=\"`wxtag_id`\" pulumi-lang-yaml=\"`wxtagId`\" pulumi-lang-java=\"`wxtagId`\" pulumi-lang-hcl=\"`wxtag_id`\"\u003e`wxtagId`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "apps",
                "enabled",
                "wxtagIds"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanAppQos:getWlansSiteWlanAppQos": {
            "properties": {
                "apps": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/getWlansSiteWlanAppQosApps:getWlansSiteWlanAppQosApps"
                    }
                },
                "enabled": {
                    "type": "boolean"
                },
                "others": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/getWlansSiteWlanAppQosOther:getWlansSiteWlanAppQosOther"
                    }
                }
            },
            "type": "object",
            "required": [
                "apps",
                "enabled",
                "others"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanAppQosApps:getWlansSiteWlanAppQosApps": {
            "properties": {
                "dscp": {
                    "type": "string"
                },
                "dstSubnet": {
                    "type": "string",
                    "description": "Subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load)\n"
                },
                "srcSubnet": {
                    "type": "string",
                    "description": "Subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load)\n"
                }
            },
            "type": "object",
            "required": [
                "dscp",
                "dstSubnet",
                "srcSubnet"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanAppQosOther:getWlansSiteWlanAppQosOther": {
            "properties": {
                "dscp": {
                    "type": "string"
                },
                "dstSubnet": {
                    "type": "string"
                },
                "portRanges": {
                    "type": "string"
                },
                "protocol": {
                    "type": "string"
                },
                "srcSubnet": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "dscp",
                "dstSubnet",
                "portRanges",
                "protocol",
                "srcSubnet"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanAuth:getWlansSiteWlanAuth": {
            "properties": {
                "anticlogThreshold": {
                    "type": "integer",
                    "description": "SAE anti-clogging token threshold\n"
                },
                "eapReauth": {
                    "type": "boolean",
                    "description": "Whether to trigger EAP reauth when the session ends\n"
                },
                "enableMacAuth": {
                    "type": "boolean",
                    "description": "Whether to enable MAC Auth, uses the same auth_servers\n"
                },
                "keyIdx": {
                    "type": "integer",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wep`\" pulumi-lang-dotnet=\"`Wep`\" pulumi-lang-go=\"`wep`\" pulumi-lang-python=\"`wep`\" pulumi-lang-yaml=\"`wep`\" pulumi-lang-java=\"`wep`\" pulumi-lang-hcl=\"`wep`\"\u003e`wep`\u003c/span\u003e\n"
                },
                "keys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When type=wep, four 10-character or 26-character hex string, null can be used. All keys, if provided, have to be in the same length\n"
                },
                "multiPskOnly": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, whether to only use multi_psk\n"
                },
                "owe": {
                    "type": "string",
                    "description": "if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`open`\" pulumi-lang-dotnet=\"`Open`\" pulumi-lang-go=\"`open`\" pulumi-lang-python=\"`open`\" pulumi-lang-yaml=\"`open`\" pulumi-lang-java=\"`open`\" pulumi-lang-hcl=\"`open`\"\u003e`open`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\" pulumi-lang-hcl=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\" pulumi-lang-hcl=\"`enabled`\"\u003e`enabled`\u003c/span\u003e (means transition mode), \u003cspan pulumi-lang-nodejs=\"`required`\" pulumi-lang-dotnet=\"`Required`\" pulumi-lang-go=\"`required`\" pulumi-lang-python=\"`required`\" pulumi-lang-yaml=\"`required`\" pulumi-lang-java=\"`required`\" pulumi-lang-hcl=\"`required`\"\u003e`required`\u003c/span\u003e\n"
                },
                "pairwises": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e, one or more of `wpa1-ccmp`, `wpa1-tkip`, `wpa2-ccmp`, `wpa2-tkip`, \u003cspan pulumi-lang-nodejs=\"`wpa3`\" pulumi-lang-dotnet=\"`Wpa3`\" pulumi-lang-go=\"`wpa3`\" pulumi-lang-python=\"`wpa3`\" pulumi-lang-yaml=\"`wpa3`\" pulumi-lang-java=\"`wpa3`\" pulumi-lang-hcl=\"`wpa3`\"\u003e`wpa3`\u003c/span\u003e\n"
                },
                "privateWlan": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`multiPskOnly`\" pulumi-lang-dotnet=\"`MultiPskOnly`\" pulumi-lang-go=\"`multiPskOnly`\" pulumi-lang-python=\"`multi_psk_only`\" pulumi-lang-yaml=\"`multiPskOnly`\" pulumi-lang-java=\"`multiPskOnly`\" pulumi-lang-hcl=\"`multi_psk_only`\"\u003e`multiPskOnly`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, whether private wlan is enabled\n"
                },
                "psk": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, 8-64 characters, or 64 hex characters\n",
                    "secret": true
                },
                "type": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eap192`\" pulumi-lang-dotnet=\"`Eap192`\" pulumi-lang-go=\"`eap192`\" pulumi-lang-python=\"`eap192`\" pulumi-lang-yaml=\"`eap192`\" pulumi-lang-java=\"`eap192`\" pulumi-lang-hcl=\"`eap192`\"\u003e`eap192`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`open`\" pulumi-lang-dotnet=\"`Open`\" pulumi-lang-go=\"`open`\" pulumi-lang-python=\"`open`\" pulumi-lang-yaml=\"`open`\" pulumi-lang-java=\"`open`\" pulumi-lang-hcl=\"`open`\"\u003e`open`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, `psk-tkip`, `psk-wpa2-tkip`, \u003cspan pulumi-lang-nodejs=\"`wep`\" pulumi-lang-dotnet=\"`Wep`\" pulumi-lang-go=\"`wep`\" pulumi-lang-python=\"`wep`\" pulumi-lang-yaml=\"`wep`\" pulumi-lang-java=\"`wep`\" pulumi-lang-hcl=\"`wep`\"\u003e`wep`\u003c/span\u003e\n"
                },
                "wepAsSecondaryAuth": {
                    "type": "boolean",
                    "description": "Enable WEP as secondary auth\n"
                }
            },
            "type": "object",
            "required": [
                "anticlogThreshold",
                "eapReauth",
                "enableMacAuth",
                "keyIdx",
                "keys",
                "multiPskOnly",
                "owe",
                "pairwises",
                "privateWlan",
                "psk",
                "type",
                "wepAsSecondaryAuth"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanAuthServer:getWlansSiteWlanAuthServer": {
            "properties": {
                "host": {
                    "type": "string",
                    "description": "IP/ hostname of RADIUS server\n"
                },
                "keywrapEnabled": {
                    "type": "boolean"
                },
                "keywrapFormat": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ascii`\" pulumi-lang-dotnet=\"`Ascii`\" pulumi-lang-go=\"`ascii`\" pulumi-lang-python=\"`ascii`\" pulumi-lang-yaml=\"`ascii`\" pulumi-lang-java=\"`ascii`\" pulumi-lang-hcl=\"`ascii`\"\u003e`ascii`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hex`\" pulumi-lang-dotnet=\"`Hex`\" pulumi-lang-go=\"`hex`\" pulumi-lang-python=\"`hex`\" pulumi-lang-yaml=\"`hex`\" pulumi-lang-java=\"`hex`\" pulumi-lang-hcl=\"`hex`\"\u003e`hex`\u003c/span\u003e\n"
                },
                "keywrapKek": {
                    "type": "string"
                },
                "keywrapMack": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "requireMessageAuthenticator": {
                    "type": "boolean",
                    "description": "Whether to require Message-Authenticator in requests\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret of RADIUS server\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "host",
                "keywrapEnabled",
                "keywrapFormat",
                "keywrapKek",
                "keywrapMack",
                "port",
                "requireMessageAuthenticator",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanBonjour:getWlansSiteWlanBonjour": {
            "properties": {
                "additionalVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional VLAN IDs (on the LAN side or from other WLANs) should we be forwarding bonjour queries/responses\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable bonjour for this WLAN. Once enabled,\u003cspan pulumi-lang-nodejs=\" limitBcast \" pulumi-lang-dotnet=\" LimitBcast \" pulumi-lang-go=\" limitBcast \" pulumi-lang-python=\" limit_bcast \" pulumi-lang-yaml=\" limitBcast \" pulumi-lang-java=\" limitBcast \" pulumi-lang-hcl=\" limit_bcast \"\u003e limitBcast \u003c/span\u003eis assumed true,\u003cspan pulumi-lang-nodejs=\" allowMdns \" pulumi-lang-dotnet=\" AllowMdns \" pulumi-lang-go=\" allowMdns \" pulumi-lang-python=\" allow_mdns \" pulumi-lang-yaml=\" allowMdns \" pulumi-lang-java=\" allowMdns \" pulumi-lang-hcl=\" allow_mdns \"\u003e allowMdns \u003c/span\u003eis assumed false\n"
                },
                "services": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/getWlansSiteWlanBonjourServices:getWlansSiteWlanBonjourServices"
                    },
                    "description": "What services are allowed. \nProperty key is the service name\n"
                }
            },
            "type": "object",
            "required": [
                "additionalVlanIds",
                "enabled",
                "services"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanBonjourServices:getWlansSiteWlanBonjourServices": {
            "properties": {
                "disableLocal": {
                    "type": "boolean",
                    "description": "Whether to prevent wireless clients to discover bonjour devices on the same WLAN\n"
                },
                "radiusGroups": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional, if the service is further restricted for certain RADIUS groups\n"
                },
                "scope": {
                    "type": "string",
                    "description": "how bonjour services should be discovered for the same WLAN. enum: \u003cspan pulumi-lang-nodejs=\"`sameAp`\" pulumi-lang-dotnet=\"`SameAp`\" pulumi-lang-go=\"`sameAp`\" pulumi-lang-python=\"`same_ap`\" pulumi-lang-yaml=\"`sameAp`\" pulumi-lang-java=\"`sameAp`\" pulumi-lang-hcl=\"`same_ap`\"\u003e`sameAp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sameMap`\" pulumi-lang-dotnet=\"`SameMap`\" pulumi-lang-go=\"`sameMap`\" pulumi-lang-python=\"`same_map`\" pulumi-lang-yaml=\"`sameMap`\" pulumi-lang-java=\"`sameMap`\" pulumi-lang-hcl=\"`same_map`\"\u003e`sameMap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sameSite`\" pulumi-lang-dotnet=\"`SameSite`\" pulumi-lang-go=\"`sameSite`\" pulumi-lang-python=\"`same_site`\" pulumi-lang-yaml=\"`sameSite`\" pulumi-lang-java=\"`sameSite`\" pulumi-lang-hcl=\"`same_site`\"\u003e`sameSite`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "disableLocal",
                "radiusGroups",
                "scope"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanCiscoCwa:getWlansSiteWlanCiscoCwa": {
            "properties": {
                "allowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of hostnames without http(s):// (matched by substring)\n"
                },
                "allowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of CIDRs\n"
                },
                "blockedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of blocked CIDRs\n"
                },
                "enabled": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "allowedHostnames",
                "allowedSubnets",
                "blockedSubnets",
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanCoaServer:getWlansSiteWlanCoaServer": {
            "properties": {
                "disableEventTimestampCheck": {
                    "type": "boolean",
                    "description": "Whether to disable Event-Timestamp Check\n"
                },
                "enabled": {
                    "type": "boolean"
                },
                "ip": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "secret": {
                    "type": "string",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "disableEventTimestampCheck",
                "enabled",
                "ip",
                "port",
                "secret"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanDnsServerRewrite:getWlansSiteWlanDnsServerRewrite": {
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "radiusGroups": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map between\u003cspan pulumi-lang-nodejs=\" radiusGroup \" pulumi-lang-dotnet=\" RadiusGroup \" pulumi-lang-go=\" radiusGroup \" pulumi-lang-python=\" radius_group \" pulumi-lang-yaml=\" radiusGroup \" pulumi-lang-java=\" radiusGroup \" pulumi-lang-hcl=\" radius_group \"\u003e radiusGroup \u003c/span\u003eand the desired DNS server (IPv4 only). Property key is the RADIUS group, property value is the desired DNS Server\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "radiusGroups"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanDynamicPsk:getWlansSiteWlanDynamicPsk": {
            "properties": {
                "defaultPsk": {
                    "type": "string",
                    "description": "Default PSK to use if cloud WLC is not available, 8-63 characters\n",
                    "secret": true
                },
                "defaultVlanId": {
                    "type": "string"
                },
                "enabled": {
                    "type": "boolean"
                },
                "forceLookup": {
                    "type": "boolean",
                    "description": "When 11r is enabled, we'll try to use the cached PMK, this can be disabled. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means auto\n"
                },
                "source": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`cloudPsks`\" pulumi-lang-dotnet=\"`CloudPsks`\" pulumi-lang-go=\"`cloudPsks`\" pulumi-lang-python=\"`cloud_psks`\" pulumi-lang-yaml=\"`cloudPsks`\" pulumi-lang-java=\"`cloudPsks`\" pulumi-lang-hcl=\"`cloud_psks`\"\u003e`cloudPsks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`radius`\" pulumi-lang-dotnet=\"`Radius`\" pulumi-lang-go=\"`radius`\" pulumi-lang-python=\"`radius`\" pulumi-lang-yaml=\"`radius`\" pulumi-lang-java=\"`radius`\" pulumi-lang-hcl=\"`radius`\"\u003e`radius`\u003c/span\u003e\n"
                }
            },
            "type": "object",
            "required": [
                "defaultPsk",
                "defaultVlanId",
                "enabled",
                "forceLookup",
                "source"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanDynamicVlan:getWlansSiteWlanDynamicVlan": {
            "properties": {
                "defaultVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Default VLAN ID(s) can be a number, a range of VLAN IDs, a variable or multiple numbers, ranges or variables as a VLAN pool. Default VLAN as a pool of VLANS requires 0.14.x or newer firmware\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to enable dynamic vlan\n"
                },
                "localVlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "VLAN_ids to be locally bridged\n"
                },
                "type": {
                    "type": "string",
                    "description": "standard (using Tunnel-Private-Group-ID, widely supported), airespace-interface-name (Airespace/Cisco). enum: `airespace-interface-name`, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e\n"
                },
                "vlans": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map between\u003cspan pulumi-lang-nodejs=\" vlanId \" pulumi-lang-dotnet=\" VlanId \" pulumi-lang-go=\" vlanId \" pulumi-lang-python=\" vlan_id \" pulumi-lang-yaml=\" vlanId \" pulumi-lang-java=\" vlanId \" pulumi-lang-hcl=\" vlan_id \"\u003e vlanId \u003c/span\u003e(as string) to airespace interface names (comma-separated) or null for standard mapping\n  * if `dynamic_vlan.type`==\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\" pulumi-lang-hcl=\"`standard`\"\u003e`standard`\u003c/span\u003e, property key is the Vlan ID and property value is \\\"\\\"\n  * if `dynamic_vlan.type`==`airespace-interface-name`, property key is the Vlan ID and property value is the Airespace Interface Name\n"
                }
            },
            "type": "object",
            "required": [
                "defaultVlanIds",
                "enabled",
                "localVlanIds",
                "type",
                "vlans"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanHotspot20:getWlansSiteWlanHotspot20": {
            "properties": {
                "domainNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to enable hotspot 2.0 config\n"
                },
                "naiRealms": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "operators": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of operators to support\n"
                },
                "rcois": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "venueName": {
                    "type": "string",
                    "description": "Venue name, default is site name\n"
                }
            },
            "type": "object",
            "required": [
                "domainNames",
                "enabled",
                "naiRealms",
                "operators",
                "rcois",
                "venueName"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanInjectDhcpOption82:getWlansSiteWlanInjectDhcpOption82": {
            "properties": {
                "circuitId": {
                    "type": "string",
                    "description": "Information to set in the \u003cspan pulumi-lang-nodejs=\"`circuitId`\" pulumi-lang-dotnet=\"`CircuitId`\" pulumi-lang-go=\"`circuitId`\" pulumi-lang-python=\"`circuit_id`\" pulumi-lang-yaml=\"`circuitId`\" pulumi-lang-java=\"`circuitId`\" pulumi-lang-hcl=\"`circuit_id`\"\u003e`circuitId`\u003c/span\u003e field of the DHCP Option 82. It is possible to use static string or the following variables (e.g. `{{SSID}}:{{AP_MAC}}`):\n  * {{AP_MAC}}\n  * {{AP_MAC_DASHED}}\n  * {{AP_MODEL}}\n  * {{AP_NAME}}\n  * {{SITE_NAME}}\n  * {{SSID}}\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether to inject option 82 when forwarding DHCP packets\n"
                }
            },
            "type": "object",
            "required": [
                "circuitId",
                "enabled"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanMistNac:getWlansSiteWlanMistNac": {
            "properties": {
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled.\n"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "Radius auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"retries\" are set to value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"max-requests\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersRetries`\" pulumi-lang-dotnet=\"`AuthServersRetries`\" pulumi-lang-go=\"`authServersRetries`\" pulumi-lang-python=\"`auth_servers_retries`\" pulumi-lang-yaml=\"`authServersRetries`\" pulumi-lang-java=\"`authServersRetries`\" pulumi-lang-hcl=\"`auth_servers_retries`\"\u003e`authServersRetries`\u003c/span\u003e is set to default value to 3.\n"
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "Radius auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"`fastDot1xTimers`\" pulumi-lang-dotnet=\"`FastDot1xTimers`\" pulumi-lang-go=\"`fastDot1xTimers`\" pulumi-lang-python=\"`fast_dot1x_timers`\" pulumi-lang-yaml=\"`fastDot1xTimers`\" pulumi-lang-java=\"`fastDot1xTimers`\" pulumi-lang-hcl=\"`fast_dot1x_timers`\"\u003e`fastDot1xTimers`\u003c/span\u003e knob is enabled. \"quite-period\" and \"transmit-period\" are set to half the value of \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e. \"supplicant-timeout\" is also set when setting \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e is set to default value of 10.\n"
                },
                "coaEnabled": {
                    "type": "boolean",
                    "description": "Allows a RADIUS server to dynamically modify the authorization status of a user session.\n"
                },
                "coaPort": {
                    "type": "integer",
                    "description": "the communication port used for “Change of Authorization” (CoA) messages\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When enabled:\n  * \u003cspan pulumi-lang-nodejs=\"`authServers`\" pulumi-lang-dotnet=\"`AuthServers`\" pulumi-lang-go=\"`authServers`\" pulumi-lang-python=\"`auth_servers`\" pulumi-lang-yaml=\"`authServers`\" pulumi-lang-java=\"`authServers`\" pulumi-lang-hcl=\"`auth_servers`\"\u003e`authServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`acctServers`\" pulumi-lang-dotnet=\"`AcctServers`\" pulumi-lang-go=\"`acctServers`\" pulumi-lang-python=\"`acct_servers`\" pulumi-lang-yaml=\"`acctServers`\" pulumi-lang-java=\"`acctServers`\" pulumi-lang-hcl=\"`acct_servers`\"\u003e`acctServers`\u003c/span\u003e is ignored\n  * `auth_servers_*` are ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaServers`\" pulumi-lang-dotnet=\"`CoaServers`\" pulumi-lang-go=\"`coaServers`\" pulumi-lang-python=\"`coa_servers`\" pulumi-lang-yaml=\"`coaServers`\" pulumi-lang-java=\"`coaServers`\" pulumi-lang-hcl=\"`coa_servers`\"\u003e`coaServers`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`radsec`\" pulumi-lang-dotnet=\"`Radsec`\" pulumi-lang-go=\"`radsec`\" pulumi-lang-python=\"`radsec`\" pulumi-lang-yaml=\"`radsec`\" pulumi-lang-java=\"`radsec`\" pulumi-lang-hcl=\"`radsec`\"\u003e`radsec`\u003c/span\u003e is ignored\n  * \u003cspan pulumi-lang-nodejs=\"`coaEnabled`\" pulumi-lang-dotnet=\"`CoaEnabled`\" pulumi-lang-go=\"`coaEnabled`\" pulumi-lang-python=\"`coa_enabled`\" pulumi-lang-yaml=\"`coaEnabled`\" pulumi-lang-java=\"`coaEnabled`\" pulumi-lang-hcl=\"`coa_enabled`\"\u003e`coaEnabled`\u003c/span\u003e is assumed\n"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from \u003cspan pulumi-lang-nodejs=\"`authServersTimeout`\" pulumi-lang-dotnet=\"`AuthServersTimeout`\" pulumi-lang-go=\"`authServersTimeout`\" pulumi-lang-python=\"`auth_servers_timeout`\" pulumi-lang-yaml=\"`authServersTimeout`\" pulumi-lang-java=\"`authServersTimeout`\" pulumi-lang-hcl=\"`auth_servers_timeout`\"\u003e`authServersTimeout`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authServerRetries`\" pulumi-lang-dotnet=\"`AuthServerRetries`\" pulumi-lang-go=\"`authServerRetries`\" pulumi-lang-python=\"`auth_server_retries`\" pulumi-lang-yaml=\"`authServerRetries`\" pulumi-lang-java=\"`authServerRetries`\" pulumi-lang-hcl=\"`auth_server_retries`\"\u003e`authServerRetries`\u003c/span\u003e.\n"
                },
                "network": {
                    "type": "string",
                    "description": "Which network the mist nac server resides in\n"
                },
                "sourceIp": {
                    "type": "string",
                    "description": "In case there is a static IP for this network, we can specify it using source ip\n"
                }
            },
            "type": "object",
            "required": [
                "acctInterimInterval",
                "authServersRetries",
                "authServersTimeout",
                "coaEnabled",
                "coaPort",
                "enabled",
                "fastDot1xTimers",
                "network",
                "sourceIp"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanPortal:getWlansSiteWlanPortal": {
            "properties": {
                "allowWlanIdRoam": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to allow guest to connect to other Guest WLANs (with different `WLAN.ssid`) of same org without reauthentication (disable\u003cspan pulumi-lang-nodejs=\" randomMac \" pulumi-lang-dotnet=\" RandomMac \" pulumi-lang-go=\" randomMac \" pulumi-lang-python=\" random_mac \" pulumi-lang-yaml=\" randomMac \" pulumi-lang-java=\" randomMac \" pulumi-lang-hcl=\" random_mac \"\u003e randomMac \u003c/span\u003efor seamless roaming)\n"
                },
                "amazonClientId": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Amazon OAuth2 client id. This is optional. If not provided, it will use a default one.\n"
                },
                "amazonClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Amazon OAuth2 client secret. If\u003cspan pulumi-lang-nodejs=\" amazonClientId \" pulumi-lang-dotnet=\" AmazonClientId \" pulumi-lang-go=\" amazonClientId \" pulumi-lang-python=\" amazon_client_id \" pulumi-lang-yaml=\" amazonClientId \" pulumi-lang-java=\" amazonClientId \" pulumi-lang-hcl=\" amazon_client_id \"\u003e amazonClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n"
                },
                "amazonEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed.\n"
                },
                "amazonEnabled": {
                    "type": "boolean",
                    "description": "Whether amazon is enabled as a login method\n"
                },
                "amazonExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`amazonEnabled`\" pulumi-lang-dotnet=\"`AmazonEnabled`\" pulumi-lang-go=\"`amazonEnabled`\" pulumi-lang-python=\"`amazon_enabled`\" pulumi-lang-yaml=\"`amazonEnabled`\" pulumi-lang-java=\"`amazonEnabled`\" pulumi-lang-hcl=\"`amazon_enabled`\"\u003e`amazonEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using amazon auth (in minutes), if not provided, uses expire`\n"
                },
                "auth": {
                    "type": "string",
                    "description": "authentication scheme. enum: \u003cspan pulumi-lang-nodejs=\"`amazon`\" pulumi-lang-dotnet=\"`Amazon`\" pulumi-lang-go=\"`amazon`\" pulumi-lang-python=\"`amazon`\" pulumi-lang-yaml=\"`amazon`\" pulumi-lang-java=\"`amazon`\" pulumi-lang-hcl=\"`amazon`\"\u003e`amazon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\" pulumi-lang-hcl=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`facebook`\" pulumi-lang-dotnet=\"`Facebook`\" pulumi-lang-go=\"`facebook`\" pulumi-lang-python=\"`facebook`\" pulumi-lang-yaml=\"`facebook`\" pulumi-lang-java=\"`facebook`\" pulumi-lang-hcl=\"`facebook`\"\u003e`facebook`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\" pulumi-lang-hcl=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`microsoft`\" pulumi-lang-dotnet=\"`Microsoft`\" pulumi-lang-go=\"`microsoft`\" pulumi-lang-python=\"`microsoft`\" pulumi-lang-yaml=\"`microsoft`\" pulumi-lang-java=\"`microsoft`\" pulumi-lang-hcl=\"`microsoft`\"\u003e`microsoft`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\" pulumi-lang-hcl=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sponsor`\" pulumi-lang-dotnet=\"`Sponsor`\" pulumi-lang-go=\"`sponsor`\" pulumi-lang-python=\"`sponsor`\" pulumi-lang-yaml=\"`sponsor`\" pulumi-lang-java=\"`sponsor`\" pulumi-lang-hcl=\"`sponsor`\"\u003e`sponsor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e\n"
                },
                "azureClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory app client id\n"
                },
                "azureClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory app client secret\n"
                },
                "azureEnabled": {
                    "type": "boolean",
                    "description": "Whether Azure Active Directory is enabled as a login method\n"
                },
                "azureExpire": {
                    "type": "integer",
                    "description": "Interval for which guest remains authorized using azure auth (in minutes), if not provided, uses expire`\n"
                },
                "azureTenantId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`azureEnabled`\" pulumi-lang-dotnet=\"`AzureEnabled`\" pulumi-lang-go=\"`azureEnabled`\" pulumi-lang-python=\"`azure_enabled`\" pulumi-lang-yaml=\"`azureEnabled`\" pulumi-lang-java=\"`azureEnabled`\" pulumi-lang-hcl=\"`azure_enabled`\"\u003e`azureEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Azure active directory tenant id.\n"
                },
                "broadnetPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e\n",
                    "secret": true
                },
                "broadnetSid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e\n"
                },
                "broadnetUserId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e\n"
                },
                "bypassWhenCloudDown": {
                    "type": "boolean",
                    "description": "Whether to bypass the guest portal when cloud not reachable (and apply the default policies)\n"
                },
                "clickatellApiKey": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clickatell`\" pulumi-lang-dotnet=\"`Clickatell`\" pulumi-lang-go=\"`clickatell`\" pulumi-lang-python=\"`clickatell`\" pulumi-lang-yaml=\"`clickatell`\" pulumi-lang-java=\"`clickatell`\" pulumi-lang-hcl=\"`clickatell`\"\u003e`clickatell`\u003c/span\u003e\n"
                },
                "crossSite": {
                    "type": "boolean",
                    "description": "Whether to allow guest to roam between WLANs (with same `WLAN.ssid`, regardless of variables) of different sites of same org without reauthentication (disable\u003cspan pulumi-lang-nodejs=\" randomMac \" pulumi-lang-dotnet=\" RandomMac \" pulumi-lang-go=\" randomMac \" pulumi-lang-python=\" random_mac \" pulumi-lang-yaml=\" randomMac \" pulumi-lang-java=\" randomMac \" pulumi-lang-hcl=\" random_mac \"\u003e randomMac \u003c/span\u003efor seamless roaming)\n"
                },
                "emailEnabled": {
                    "type": "boolean",
                    "description": "Whether email (access code verification) is enabled as a login method\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether guest portal is enabled\n"
                },
                "expire": {
                    "type": "integer",
                    "description": "How long to remain authorized, in minutes\n"
                },
                "externalPortalUrl": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e. External portal URL (e.g. https://host/url) where we can append our query parameters to\n"
                },
                "facebookClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Facebook OAuth2 app id. This is optional. If not provided, it will use a default one.\n"
                },
                "facebookClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Facebook OAuth2 app secret. If\u003cspan pulumi-lang-nodejs=\" facebookClientId \" pulumi-lang-dotnet=\" FacebookClientId \" pulumi-lang-go=\" facebookClientId \" pulumi-lang-python=\" facebook_client_id \" pulumi-lang-yaml=\" facebookClientId \" pulumi-lang-java=\" facebookClientId \" pulumi-lang-hcl=\" facebook_client_id \"\u003e facebookClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n"
                },
                "facebookEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed.\n"
                },
                "facebookEnabled": {
                    "type": "boolean",
                    "description": "Whether facebook is enabled as a login method\n"
                },
                "facebookExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`facebookEnabled`\" pulumi-lang-dotnet=\"`FacebookEnabled`\" pulumi-lang-go=\"`facebookEnabled`\" pulumi-lang-python=\"`facebook_enabled`\" pulumi-lang-yaml=\"`facebookEnabled`\" pulumi-lang-java=\"`facebookEnabled`\" pulumi-lang-hcl=\"`facebook_enabled`\"\u003e`facebookEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using facebook auth (in minutes), if not provided, uses expire`\n"
                },
                "forward": {
                    "type": "boolean",
                    "description": "Whether to forward the user to another URL after authorized\n"
                },
                "forwardUrl": {
                    "type": "string",
                    "description": "URL to forward the user to\n"
                },
                "googleClientId": {
                    "type": "string",
                    "description": "Google OAuth2 app id. This is optional. If not provided, it will use a default one.\n"
                },
                "googleClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Google OAuth2 app secret. If\u003cspan pulumi-lang-nodejs=\" googleClientId \" pulumi-lang-dotnet=\" GoogleClientId \" pulumi-lang-go=\" googleClientId \" pulumi-lang-python=\" google_client_id \" pulumi-lang-yaml=\" googleClientId \" pulumi-lang-java=\" googleClientId \" pulumi-lang-hcl=\" google_client_id \"\u003e googleClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n"
                },
                "googleEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed.\n"
                },
                "googleEnabled": {
                    "type": "boolean",
                    "description": "Whether Google is enabled as login method\n"
                },
                "googleExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`googleEnabled`\" pulumi-lang-dotnet=\"`GoogleEnabled`\" pulumi-lang-go=\"`googleEnabled`\" pulumi-lang-python=\"`google_enabled`\" pulumi-lang-yaml=\"`googleEnabled`\" pulumi-lang-java=\"`googleEnabled`\" pulumi-lang-hcl=\"`google_enabled`\"\u003e`googleEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using Google Auth (in minutes), if not provided, uses expire`\n"
                },
                "gupshupPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e\n",
                    "secret": true
                },
                "gupshupUserid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e\n"
                },
                "microsoftClientId": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Microsoft 365 OAuth2 client id. This is optional. If not provided, it will use a default one.\n"
                },
                "microsoftClientSecret": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Microsoft 365 OAuth2 client secret. If\u003cspan pulumi-lang-nodejs=\" microsoftClientId \" pulumi-lang-dotnet=\" MicrosoftClientId \" pulumi-lang-go=\" microsoftClientId \" pulumi-lang-python=\" microsoft_client_id \" pulumi-lang-yaml=\" microsoftClientId \" pulumi-lang-java=\" microsoftClientId \" pulumi-lang-hcl=\" microsoft_client_id \"\u003e microsoftClientId \u003c/span\u003ewas provided, provide a corresponding value. Else leave blank.\n"
                },
                "microsoftEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed.\n"
                },
                "microsoftEnabled": {
                    "type": "boolean",
                    "description": "Whether microsoft 365 is enabled as a login method\n"
                },
                "microsoftExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`microsoftEnabled`\" pulumi-lang-dotnet=\"`MicrosoftEnabled`\" pulumi-lang-go=\"`microsoftEnabled`\" pulumi-lang-python=\"`microsoft_enabled`\" pulumi-lang-yaml=\"`microsoftEnabled`\" pulumi-lang-java=\"`microsoftEnabled`\" pulumi-lang-hcl=\"`microsoft_enabled`\"\u003e`microsoftEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using microsoft auth (in minutes), if not provided, uses expire`\n"
                },
                "passphraseEnabled": {
                    "type": "boolean",
                    "description": "Whether password is enabled\n"
                },
                "passphraseExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`passphraseEnabled`\" pulumi-lang-dotnet=\"`PassphraseEnabled`\" pulumi-lang-go=\"`passphraseEnabled`\" pulumi-lang-python=\"`passphrase_enabled`\" pulumi-lang-yaml=\"`passphraseEnabled`\" pulumi-lang-java=\"`passphraseEnabled`\" pulumi-lang-hcl=\"`passphrase_enabled`\"\u003e`passphraseEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using passphrase auth (in minutes), if not provided, uses \u003cspan pulumi-lang-nodejs=\"`expire`\" pulumi-lang-dotnet=\"`Expire`\" pulumi-lang-go=\"`expire`\" pulumi-lang-python=\"`expire`\" pulumi-lang-yaml=\"`expire`\" pulumi-lang-java=\"`expire`\" pulumi-lang-hcl=\"`expire`\"\u003e`expire`\u003c/span\u003e\n"
                },
                "password": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`passphraseEnabled`\" pulumi-lang-dotnet=\"`PassphraseEnabled`\" pulumi-lang-go=\"`passphraseEnabled`\" pulumi-lang-python=\"`passphrase_enabled`\" pulumi-lang-yaml=\"`passphraseEnabled`\" pulumi-lang-java=\"`passphraseEnabled`\" pulumi-lang-hcl=\"`passphrase_enabled`\"\u003e`passphraseEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n",
                    "secret": true
                },
                "predefinedSponsorsEnabled": {
                    "type": "boolean",
                    "description": "Whether to show list of sponsor emails mentioned in \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e object as a dropdown. If both \u003cspan pulumi-lang-nodejs=\"`sponsorNotifyAll`\" pulumi-lang-dotnet=\"`SponsorNotifyAll`\" pulumi-lang-go=\"`sponsorNotifyAll`\" pulumi-lang-python=\"`sponsor_notify_all`\" pulumi-lang-yaml=\"`sponsorNotifyAll`\" pulumi-lang-java=\"`sponsorNotifyAll`\" pulumi-lang-hcl=\"`sponsor_notify_all`\"\u003e`sponsorNotifyAll`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`predefinedSponsorsEnabled`\" pulumi-lang-dotnet=\"`PredefinedSponsorsEnabled`\" pulumi-lang-go=\"`predefinedSponsorsEnabled`\" pulumi-lang-python=\"`predefined_sponsors_enabled`\" pulumi-lang-yaml=\"`predefinedSponsorsEnabled`\" pulumi-lang-java=\"`predefinedSponsorsEnabled`\" pulumi-lang-hcl=\"`predefined_sponsors_enabled`\"\u003e`predefinedSponsorsEnabled`\u003c/span\u003e are false, behavior is acc to \u003cspan pulumi-lang-nodejs=\"`sponsorEmailDomains`\" pulumi-lang-dotnet=\"`SponsorEmailDomains`\" pulumi-lang-go=\"`sponsorEmailDomains`\" pulumi-lang-python=\"`sponsor_email_domains`\" pulumi-lang-yaml=\"`sponsorEmailDomains`\" pulumi-lang-java=\"`sponsorEmailDomains`\" pulumi-lang-hcl=\"`sponsor_email_domains`\"\u003e`sponsorEmailDomains`\u003c/span\u003e\n"
                },
                "predefinedSponsorsHideEmail": {
                    "type": "boolean",
                    "description": "Whether to hide sponsor’s email from list of sponsors\n"
                },
                "privacy": {
                    "type": "boolean"
                },
                "puzzelPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e\n",
                    "secret": true
                },
                "puzzelServiceId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e\n"
                },
                "puzzelUsername": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e\n"
                },
                "smsEnabled": {
                    "type": "boolean",
                    "description": "Whether sms is enabled as a login method\n"
                },
                "smsExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using sms auth (in minutes), if not provided, uses expire`\n"
                },
                "smsMessageFormat": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. SMS Message format\n"
                },
                "smsProvider": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`smsEnabled`\" pulumi-lang-dotnet=\"`SmsEnabled`\" pulumi-lang-go=\"`smsEnabled`\" pulumi-lang-python=\"`sms_enabled`\" pulumi-lang-yaml=\"`smsEnabled`\" pulumi-lang-java=\"`smsEnabled`\" pulumi-lang-hcl=\"`sms_enabled`\"\u003e`smsEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`broadnet`\" pulumi-lang-dotnet=\"`Broadnet`\" pulumi-lang-go=\"`broadnet`\" pulumi-lang-python=\"`broadnet`\" pulumi-lang-yaml=\"`broadnet`\" pulumi-lang-java=\"`broadnet`\" pulumi-lang-hcl=\"`broadnet`\"\u003e`broadnet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickatell`\" pulumi-lang-dotnet=\"`Clickatell`\" pulumi-lang-go=\"`clickatell`\" pulumi-lang-python=\"`clickatell`\" pulumi-lang-yaml=\"`clickatell`\" pulumi-lang-java=\"`clickatell`\" pulumi-lang-hcl=\"`clickatell`\"\u003e`clickatell`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gupshup`\" pulumi-lang-dotnet=\"`Gupshup`\" pulumi-lang-go=\"`gupshup`\" pulumi-lang-python=\"`gupshup`\" pulumi-lang-yaml=\"`gupshup`\" pulumi-lang-java=\"`gupshup`\" pulumi-lang-hcl=\"`gupshup`\"\u003e`gupshup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manual`\" pulumi-lang-dotnet=\"`Manual`\" pulumi-lang-go=\"`manual`\" pulumi-lang-python=\"`manual`\" pulumi-lang-yaml=\"`manual`\" pulumi-lang-java=\"`manual`\" pulumi-lang-hcl=\"`manual`\"\u003e`manual`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`puzzel`\" pulumi-lang-dotnet=\"`Puzzel`\" pulumi-lang-go=\"`puzzel`\" pulumi-lang-python=\"`puzzel`\" pulumi-lang-yaml=\"`puzzel`\" pulumi-lang-java=\"`puzzel`\" pulumi-lang-hcl=\"`puzzel`\"\u003e`puzzel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e\n"
                },
                "smsglobalApiKey": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, Client API Key\n"
                },
                "smsglobalApiSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`smsglobal`\" pulumi-lang-dotnet=\"`Smsglobal`\" pulumi-lang-go=\"`smsglobal`\" pulumi-lang-python=\"`smsglobal`\" pulumi-lang-yaml=\"`smsglobal`\" pulumi-lang-java=\"`smsglobal`\" pulumi-lang-hcl=\"`smsglobal`\"\u003e`smsglobal`\u003c/span\u003e, Client secret\n"
                },
                "sponsorAutoApprove": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Whether to automatically approve guest and allow sponsor to revoke guest access, needs\u003cspan pulumi-lang-nodejs=\" predefinedSponsorsEnabled \" pulumi-lang-dotnet=\" PredefinedSponsorsEnabled \" pulumi-lang-go=\" predefinedSponsorsEnabled \" pulumi-lang-python=\" predefined_sponsors_enabled \" pulumi-lang-yaml=\" predefinedSponsorsEnabled \" pulumi-lang-java=\" predefinedSponsorsEnabled \" pulumi-lang-hcl=\" predefined_sponsors_enabled \"\u003e predefinedSponsorsEnabled \u003c/span\u003eenabled and\u003cspan pulumi-lang-nodejs=\" sponsorNotifyAll \" pulumi-lang-dotnet=\" SponsorNotifyAll \" pulumi-lang-go=\" sponsorNotifyAll \" pulumi-lang-python=\" sponsor_notify_all \" pulumi-lang-yaml=\" sponsorNotifyAll \" pulumi-lang-java=\" sponsorNotifyAll \" pulumi-lang-hcl=\" sponsor_notify_all \"\u003e sponsorNotifyAll \u003c/span\u003edisabled\n"
                },
                "sponsorEmailDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of domain allowed for sponsor email. Required if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e is empty.\n"
                },
                "sponsorEnabled": {
                    "type": "boolean",
                    "description": "Whether sponsor is enabled\n"
                },
                "sponsorExpire": {
                    "type": "integer",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Interval for which guest remains authorized using sponsor auth (in minutes), if not provided, uses expire`\n"
                },
                "sponsorLinkValidityDuration": {
                    "type": "string"
                },
                "sponsorNotifyAll": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. whether to notify all sponsors that are mentioned in \u003cspan pulumi-lang-nodejs=\"`sponsors`\" pulumi-lang-dotnet=\"`Sponsors`\" pulumi-lang-go=\"`sponsors`\" pulumi-lang-python=\"`sponsors`\" pulumi-lang-yaml=\"`sponsors`\" pulumi-lang-java=\"`sponsors`\" pulumi-lang-hcl=\"`sponsors`\"\u003e`sponsors`\u003c/span\u003e object. Both \u003cspan pulumi-lang-nodejs=\"`sponsorNotifyAll`\" pulumi-lang-dotnet=\"`SponsorNotifyAll`\" pulumi-lang-go=\"`sponsorNotifyAll`\" pulumi-lang-python=\"`sponsor_notify_all`\" pulumi-lang-yaml=\"`sponsorNotifyAll`\" pulumi-lang-java=\"`sponsorNotifyAll`\" pulumi-lang-hcl=\"`sponsor_notify_all`\"\u003e`sponsorNotifyAll`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`predefinedSponsorsEnabled`\" pulumi-lang-dotnet=\"`PredefinedSponsorsEnabled`\" pulumi-lang-go=\"`predefinedSponsorsEnabled`\" pulumi-lang-python=\"`predefined_sponsors_enabled`\" pulumi-lang-yaml=\"`predefinedSponsorsEnabled`\" pulumi-lang-java=\"`predefinedSponsorsEnabled`\" pulumi-lang-hcl=\"`predefined_sponsors_enabled`\"\u003e`predefinedSponsorsEnabled`\u003c/span\u003e should be true in order to notify sponsors. If true, email sent to 10 sponsors in no particular order.\n"
                },
                "sponsorStatusNotify": {
                    "type": "boolean",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. If enabled, guest will get email about sponsor's action (approve/deny)\n"
                },
                "sponsors": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "object of allowed sponsors email with name. Required if \u003cspan pulumi-lang-nodejs=\"`sponsorEnabled`\" pulumi-lang-dotnet=\"`SponsorEnabled`\" pulumi-lang-go=\"`sponsorEnabled`\" pulumi-lang-python=\"`sponsor_enabled`\" pulumi-lang-yaml=\"`sponsorEnabled`\" pulumi-lang-java=\"`sponsorEnabled`\" pulumi-lang-hcl=\"`sponsor_enabled`\"\u003e`sponsorEnabled`\u003c/span\u003e\n            is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sponsorEmailDomains`\" pulumi-lang-dotnet=\"`SponsorEmailDomains`\" pulumi-lang-go=\"`sponsorEmailDomains`\" pulumi-lang-python=\"`sponsor_email_domains`\" pulumi-lang-yaml=\"`sponsorEmailDomains`\" pulumi-lang-java=\"`sponsorEmailDomains`\" pulumi-lang-hcl=\"`sponsor_email_domains`\"\u003e`sponsorEmailDomains`\u003c/span\u003e is empty.\n\n            Property key is the sponsor email, Property value is the sponsor name\n"
                },
                "ssoDefaultRole": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched\n"
                },
                "ssoForcedRole": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e\n"
                },
                "ssoIdpCert": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. IDP Cert (used to verify the signed response)\n"
                },
                "ssoIdpSignAlgo": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, Signing algorithm for SAML Assertion. enum: \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\" pulumi-lang-hcl=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha256`\" pulumi-lang-dotnet=\"`Sha256`\" pulumi-lang-go=\"`sha256`\" pulumi-lang-python=\"`sha256`\" pulumi-lang-yaml=\"`sha256`\" pulumi-lang-java=\"`sha256`\" pulumi-lang-hcl=\"`sha256`\"\u003e`sha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha384`\" pulumi-lang-dotnet=\"`Sha384`\" pulumi-lang-go=\"`sha384`\" pulumi-lang-python=\"`sha384`\" pulumi-lang-yaml=\"`sha384`\" pulumi-lang-java=\"`sha384`\" pulumi-lang-hcl=\"`sha384`\"\u003e`sha384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha512`\" pulumi-lang-dotnet=\"`Sha512`\" pulumi-lang-go=\"`sha512`\" pulumi-lang-python=\"`sha512`\" pulumi-lang-yaml=\"`sha512`\" pulumi-lang-java=\"`sha512`\" pulumi-lang-hcl=\"`sha512`\"\u003e`sha512`\u003c/span\u003e\n"
                },
                "ssoIdpSsoUrl": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, IDP Single-Sign-On URL\n"
                },
                "ssoIssuer": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e, IDP issuer URL\n"
                },
                "ssoNameidFormat": {
                    "type": "string",
                    "description": "Optional if \u003cspan pulumi-lang-nodejs=\"`wlanPortalAuth`\" pulumi-lang-dotnet=\"`WlanPortalAuth`\" pulumi-lang-go=\"`wlanPortalAuth`\" pulumi-lang-python=\"`wlan_portal_auth`\" pulumi-lang-yaml=\"`wlanPortalAuth`\" pulumi-lang-java=\"`wlanPortalAuth`\" pulumi-lang-hcl=\"`wlan_portal_auth`\"\u003e`wlanPortalAuth`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e. enum: \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unspecified`\" pulumi-lang-dotnet=\"`Unspecified`\" pulumi-lang-go=\"`unspecified`\" pulumi-lang-python=\"`unspecified`\" pulumi-lang-yaml=\"`unspecified`\" pulumi-lang-java=\"`unspecified`\" pulumi-lang-hcl=\"`unspecified`\"\u003e`unspecified`\u003c/span\u003e\n"
                },
                "telstraClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, Client ID provided by Telstra\n"
                },
                "telstraClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`telstra`\" pulumi-lang-dotnet=\"`Telstra`\" pulumi-lang-go=\"`telstra`\" pulumi-lang-python=\"`telstra`\" pulumi-lang-yaml=\"`telstra`\" pulumi-lang-java=\"`telstra`\" pulumi-lang-hcl=\"`telstra`\"\u003e`telstra`\u003c/span\u003e, Client secret provided by Telstra\n"
                },
                "twilioAuthToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Auth token account with twilio account\n"
                },
                "twilioPhoneNumber": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Twilio phone number associated with the account. See example for accepted format.\n"
                },
                "twilioSid": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`smsProvider`\" pulumi-lang-dotnet=\"`SmsProvider`\" pulumi-lang-go=\"`smsProvider`\" pulumi-lang-python=\"`sms_provider`\" pulumi-lang-yaml=\"`smsProvider`\" pulumi-lang-java=\"`smsProvider`\" pulumi-lang-hcl=\"`sms_provider`\"\u003e`smsProvider`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`twilio`\" pulumi-lang-dotnet=\"`Twilio`\" pulumi-lang-go=\"`twilio`\" pulumi-lang-python=\"`twilio`\" pulumi-lang-yaml=\"`twilio`\" pulumi-lang-java=\"`twilio`\" pulumi-lang-hcl=\"`twilio`\"\u003e`twilio`\u003c/span\u003e, Account SID provided by Twilio\n"
                }
            },
            "type": "object",
            "required": [
                "allowWlanIdRoam",
                "amazonClientId",
                "amazonClientSecret",
                "amazonEmailDomains",
                "amazonEnabled",
                "amazonExpire",
                "auth",
                "azureClientId",
                "azureClientSecret",
                "azureEnabled",
                "azureExpire",
                "azureTenantId",
                "broadnetPassword",
                "broadnetSid",
                "broadnetUserId",
                "bypassWhenCloudDown",
                "clickatellApiKey",
                "crossSite",
                "emailEnabled",
                "enabled",
                "expire",
                "externalPortalUrl",
                "facebookClientId",
                "facebookClientSecret",
                "facebookEmailDomains",
                "facebookEnabled",
                "facebookExpire",
                "forward",
                "forwardUrl",
                "googleClientId",
                "googleClientSecret",
                "googleEmailDomains",
                "googleEnabled",
                "googleExpire",
                "gupshupPassword",
                "gupshupUserid",
                "microsoftClientId",
                "microsoftClientSecret",
                "microsoftEmailDomains",
                "microsoftEnabled",
                "microsoftExpire",
                "passphraseEnabled",
                "passphraseExpire",
                "password",
                "predefinedSponsorsEnabled",
                "predefinedSponsorsHideEmail",
                "privacy",
                "puzzelPassword",
                "puzzelServiceId",
                "puzzelUsername",
                "smsEnabled",
                "smsExpire",
                "smsMessageFormat",
                "smsProvider",
                "smsglobalApiKey",
                "smsglobalApiSecret",
                "sponsorAutoApprove",
                "sponsorEmailDomains",
                "sponsorEnabled",
                "sponsorExpire",
                "sponsorLinkValidityDuration",
                "sponsorNotifyAll",
                "sponsorStatusNotify",
                "sponsors",
                "ssoDefaultRole",
                "ssoForcedRole",
                "ssoIdpCert",
                "ssoIdpSignAlgo",
                "ssoIdpSsoUrl",
                "ssoIssuer",
                "ssoNameidFormat",
                "telstraClientId",
                "telstraClientSecret",
                "twilioAuthToken",
                "twilioPhoneNumber",
                "twilioSid"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanQos:getWlansSiteWlanQos": {
            "properties": {
                "class": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`background`\" pulumi-lang-dotnet=\"`Background`\" pulumi-lang-go=\"`background`\" pulumi-lang-python=\"`background`\" pulumi-lang-yaml=\"`background`\" pulumi-lang-java=\"`background`\" pulumi-lang-hcl=\"`background`\"\u003e`background`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bestEffort`\" pulumi-lang-dotnet=\"`BestEffort`\" pulumi-lang-go=\"`bestEffort`\" pulumi-lang-python=\"`best_effort`\" pulumi-lang-yaml=\"`bestEffort`\" pulumi-lang-java=\"`bestEffort`\" pulumi-lang-hcl=\"`best_effort`\"\u003e`bestEffort`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`video`\" pulumi-lang-dotnet=\"`Video`\" pulumi-lang-go=\"`video`\" pulumi-lang-python=\"`video`\" pulumi-lang-yaml=\"`video`\" pulumi-lang-java=\"`video`\" pulumi-lang-hcl=\"`video`\"\u003e`video`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`voice`\" pulumi-lang-dotnet=\"`Voice`\" pulumi-lang-go=\"`voice`\" pulumi-lang-python=\"`voice`\" pulumi-lang-yaml=\"`voice`\" pulumi-lang-java=\"`voice`\" pulumi-lang-hcl=\"`voice`\"\u003e`voice`\u003c/span\u003e\n"
                },
                "overwrite": {
                    "type": "boolean",
                    "description": "Whether to overwrite QoS\n"
                }
            },
            "type": "object",
            "required": [
                "class",
                "overwrite"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanRadsec:getWlansSiteWlanRadsec": {
            "properties": {
                "coaEnabled": {
                    "type": "boolean"
                },
                "enabled": {
                    "type": "boolean"
                },
                "idleTimeout": {
                    "type": "string"
                },
                "mxclusterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "To use Org mxedges when this WLAN does not use mxtunnel, specify their mxcluster_ids. Org mxedge(s) identified by mxcluster_ids\n"
                },
                "proxyHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Default is site.mxedge.radsec.proxy_hosts which must be a superset of all `wlans[*].radsec.proxy_hosts`. When `radsec.proxy_hosts` are not used, tunnel peers (org or site mxedges) are used irrespective of \u003cspan pulumi-lang-nodejs=\"`useSiteMxedge`\" pulumi-lang-dotnet=\"`UseSiteMxedge`\" pulumi-lang-go=\"`useSiteMxedge`\" pulumi-lang-python=\"`use_site_mxedge`\" pulumi-lang-yaml=\"`useSiteMxedge`\" pulumi-lang-java=\"`useSiteMxedge`\" pulumi-lang-hcl=\"`use_site_mxedge`\"\u003e`useSiteMxedge`\u003c/span\u003e\n"
                },
                "serverName": {
                    "type": "string",
                    "description": "Name of the server to verify (against the cacerts in Org Setting). Only if not Mist Edge.\n"
                },
                "servers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/getWlansSiteWlanRadsecServer:getWlansSiteWlanRadsecServer"
                    },
                    "description": "List of RadSec Servers. Only if not Mist Edge.\n"
                },
                "useMxedge": {
                    "type": "boolean",
                    "description": "use mxedge(s) as RadSec Proxy\n"
                },
                "useSiteMxedge": {
                    "type": "boolean",
                    "description": "To use Site mxedges when this WLAN does not use mxtunnel\n"
                }
            },
            "type": "object",
            "required": [
                "coaEnabled",
                "enabled",
                "idleTimeout",
                "mxclusterIds",
                "proxyHosts",
                "serverName",
                "servers",
                "useMxedge",
                "useSiteMxedge"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanRadsecServer:getWlansSiteWlanRadsecServer": {
            "properties": {
                "host": {
                    "type": "string"
                },
                "port": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "host",
                "port"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanRateset:getWlansSiteWlanRateset": {
            "properties": {
                "eht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. EHT MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit)\n"
                },
                "he": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. HE MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit\n"
                },
                "ht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 00ff 00f0 001f limits HT rates to MCS 0-7 for 1 stream, MCS 4-7 for 2 stream (i.e. MCS 12-15), MCS 1-5 for 3 stream (i.e. MCS 16-20)\n"
                },
                "legacies": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. List of supported rates (IE=1) and extended supported rates (IE=50) for custom template, append ‘b’ at the end to indicate a rate being basic/mandatory. If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e is configured and legacy does not define at least one basic rate, it will use `no-legacy` default values\n"
                },
                "minRssi": {
                    "type": "integer",
                    "description": "Minimum RSSI for client to connect, 0 means not enforcing\n"
                },
                "template": {
                    "type": "string",
                    "description": "Data Rates template to apply. enum: \n  * `no-legacy`: no 11b\n  * \u003cspan pulumi-lang-nodejs=\"`compatible`\" pulumi-lang-dotnet=\"`Compatible`\" pulumi-lang-go=\"`compatible`\" pulumi-lang-python=\"`compatible`\" pulumi-lang-yaml=\"`compatible`\" pulumi-lang-java=\"`compatible`\" pulumi-lang-hcl=\"`compatible`\"\u003e`compatible`\u003c/span\u003e: all, like before, default setting that Broadcom/Atheros used\n  * `legacy-only`: disable 802.11n and 802.11ac\n  * `high-density`: no 11b, no low rates\n  * \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e: user defined\n"
                },
                "vht": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\" pulumi-lang-hcl=\"`template`\"\u003e`template`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e. MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 03ff 01ff 00ff limits VHT rates to MCS 0-9 for 1 stream, MCS 0-8 for 2 streams, and MCS 0-7 for 3 streams.\n"
                }
            },
            "type": "object",
            "required": [
                "eht",
                "he",
                "ht",
                "legacies",
                "minRssi",
                "template",
                "vht"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanSchedule:getWlansSiteWlanSchedule": {
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "hours": {
                    "$ref": "#/types/junipermist:site/getWlansSiteWlanScheduleHours:getWlansSiteWlanScheduleHours",
                    "description": "Days/Hours of operation filter, the available days (mon, tue, wed, thu, fri, sat, sun)\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "hours"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "junipermist:site/getWlansSiteWlanScheduleHours:getWlansSiteWlanScheduleHours": {
            "properties": {
                "fri": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "mon": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "sat": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "sun": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "thu": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "tue": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                },
                "wed": {
                    "type": "string",
                    "description": "Hour range of the day (e.g. `09:00-17:00`). If the hour is not defined then it's treated as 00:00-23:59.\n"
                }
            },
            "type": "object",
            "required": [
                "fri",
                "mon",
                "sat",
                "sun",
                "thu",
                "tue",
                "wed"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        }
    },
    "provider": {
        "description": "The provider type for the mist package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
        "properties": {
            "apiDebug": {
                "type": "boolean",
                "description": "Enable API request/response debugging. When enabled, request and response bodies, headers, and other sensitive data may be logged. Can also be set via the `MIST_API_DEBUG` environment variable. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
            },
            "apiTimeout": {
                "type": "number",
                "description": "Timeout in seconds for API requests. Set to 0 for infinite timeout. Can also be set via the `MIST_API_TIMEOUT` environment variable. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\" pulumi-lang-hcl=\"`10`\"\u003e`10`\u003c/span\u003e seconds."
            },
            "apitoken": {
                "type": "string",
                "description": "Mist API Token for authentication. Can also be set via the `MIST_APITOKEN` environment variable. This is the recommended authentication method.",
                "secret": true
            },
            "host": {
                "type": "string",
                "description": "URL of the Mist Cloud (e.g., `api.mist.com`). Can also be set via the `MIST_HOST` environment variable."
            },
            "password": {
                "type": "string",
                "description": "Mist Account password for basic authentication. Can also be set via the `MIST_PASSWORD` environment variable. Requires \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\" pulumi-lang-hcl=\"`username`\"\u003e`username`\u003c/span\u003e to be set.",
                "secret": true
            },
            "proxy": {
                "type": "string",
                "description": "Proxy configuration for API requests. The value may be either a complete URL or `[username:password@]host[:port]` format. Supported schemes: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\" pulumi-lang-hcl=\"`https`\"\u003e`https`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`socks5`\" pulumi-lang-dotnet=\"`Socks5`\" pulumi-lang-go=\"`socks5`\" pulumi-lang-python=\"`socks5`\" pulumi-lang-yaml=\"`socks5`\" pulumi-lang-java=\"`socks5`\" pulumi-lang-hcl=\"`socks5`\"\u003e`socks5`\u003c/span\u003e. If no scheme is provided, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e is assumed. Can also be set via the `MIST_PROXY` environment variable."
            },
            "username": {
                "type": "string",
                "description": "Mist Account username for basic authentication. Can also be set via the `MIST_USERNAME` environment variable. Requires \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e to be set and 2FA to be disabled."
            }
        },
        "inputProperties": {
            "apiDebug": {
                "type": "boolean",
                "description": "Enable API request/response debugging. When enabled, request and response bodies, headers, and other sensitive data may be logged. Can also be set via the `MIST_API_DEBUG` environment variable. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
            },
            "apiTimeout": {
                "type": "number",
                "description": "Timeout in seconds for API requests. Set to 0 for infinite timeout. Can also be set via the `MIST_API_TIMEOUT` environment variable. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\" pulumi-lang-hcl=\"`10`\"\u003e`10`\u003c/span\u003e seconds."
            },
            "apitoken": {
                "type": "string",
                "description": "Mist API Token for authentication. Can also be set via the `MIST_APITOKEN` environment variable. This is the recommended authentication method.",
                "secret": true
            },
            "host": {
                "type": "string",
                "description": "URL of the Mist Cloud (e.g., `api.mist.com`). Can also be set via the `MIST_HOST` environment variable."
            },
            "password": {
                "type": "string",
                "description": "Mist Account password for basic authentication. Can also be set via the `MIST_PASSWORD` environment variable. Requires \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\" pulumi-lang-hcl=\"`username`\"\u003e`username`\u003c/span\u003e to be set.",
                "secret": true
            },
            "proxy": {
                "type": "string",
                "description": "Proxy configuration for API requests. The value may be either a complete URL or `[username:password@]host[:port]` format. Supported schemes: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\" pulumi-lang-hcl=\"`https`\"\u003e`https`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`socks5`\" pulumi-lang-dotnet=\"`Socks5`\" pulumi-lang-go=\"`socks5`\" pulumi-lang-python=\"`socks5`\" pulumi-lang-yaml=\"`socks5`\" pulumi-lang-java=\"`socks5`\" pulumi-lang-hcl=\"`socks5`\"\u003e`socks5`\u003c/span\u003e. If no scheme is provided, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\" pulumi-lang-hcl=\"`http`\"\u003e`http`\u003c/span\u003e is assumed. Can also be set via the `MIST_PROXY` environment variable."
            },
            "username": {
                "type": "string",
                "description": "Mist Account username for basic authentication. Can also be set via the `MIST_USERNAME` environment variable. Requires \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e to be set and 2FA to be disabled."
            }
        },
        "methods": {
            "terraformConfig": "pulumi:providers:junipermist/terraformConfig"
        }
    },
    "resources": {
        "junipermist:device/ap:Ap": {
            "description": "This resource manages the Wireless Access Point configuration.\n\nIt can be used to define specific configuration at the device level or to override AP Device Profile (\u003cspan pulumi-lang-nodejs=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-dotnet=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-go=\"`org.DeviceprofileAp`\" pulumi-lang-python=\"`org.DeviceprofileAp`\" pulumi-lang-yaml=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-java=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-hcl=\"`mist_org_deviceprofile_ap`\"\u003e`junipermist.org.DeviceprofileAp`\u003c/span\u003e).\n\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.device.Ap`\" pulumi-lang-dotnet=\"`junipermist.device.Ap`\" pulumi-lang-go=\"`device.Ap`\" pulumi-lang-python=\"`device.Ap`\" pulumi-lang-yaml=\"`junipermist.device.Ap`\" pulumi-lang-java=\"`junipermist.device.Ap`\" pulumi-lang-hcl=\"`mist_device_ap`\"\u003e`junipermist.device.Ap`\u003c/span\u003e with:\nAP Configuration can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" deviceId\n\" pulumi-lang-dotnet=\" DeviceId\n\" pulumi-lang-go=\" deviceId\n\" pulumi-lang-python=\" device_id\n\" pulumi-lang-yaml=\" deviceId\n\" pulumi-lang-java=\" deviceId\n\" pulumi-lang-hcl=\" device_id\n\"\u003e deviceId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:device/ap:Ap ap_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "aeroscout": {
                    "$ref": "#/types/junipermist:device/ApAeroscout:ApAeroscout",
                    "description": "Location integration settings for AeroScout on this access point"
                },
                "airista": {
                    "$ref": "#/types/junipermist:device/ApAirista:ApAirista",
                    "description": "Location integration settings for Airista on this access point"
                },
                "bleConfig": {
                    "$ref": "#/types/junipermist:device/ApBleConfig:ApBleConfig",
                    "description": "Bluetooth Low Energy beacon and asset settings for this access point"
                },
                "centrak": {
                    "$ref": "#/types/junipermist:device/ApCentrak:ApCentrak",
                    "description": "Location integration settings for Centrak on this access point"
                },
                "clientBridge": {
                    "$ref": "#/types/junipermist:device/ApClientBridge:ApClientBridge",
                    "description": "Wireless client bridge settings for this access point"
                },
                "deviceId": {
                    "type": "string"
                },
                "disableEth1": {
                    "type": "boolean",
                    "description": "Whether to disable eth1 port"
                },
                "disableEth2": {
                    "type": "boolean",
                    "description": "Whether to disable eth2 port"
                },
                "disableEth3": {
                    "type": "boolean",
                    "description": "Whether to disable eth3 port"
                },
                "disableModule": {
                    "type": "boolean",
                    "description": "Whether to disable module port"
                },
                "eslConfig": {
                    "$ref": "#/types/junipermist:device/ApEslConfig:ApEslConfig",
                    "description": "Electronic shelf label integration settings for this access point"
                },
                "flowControl": {
                    "type": "boolean",
                    "description": "For some AP models,\u003cspan pulumi-lang-nodejs=\" flowControl \" pulumi-lang-dotnet=\" FlowControl \" pulumi-lang-go=\" flowControl \" pulumi-lang-python=\" flow_control \" pulumi-lang-yaml=\" flowControl \" pulumi-lang-java=\" flowControl \" pulumi-lang-hcl=\" flow_control \"\u003e flowControl \u003c/span\u003ecan be enabled to address some switch compatibility issue"
                },
                "height": {
                    "type": "number",
                    "description": "Installation height of the AP, in meters"
                },
                "image1Url": {
                    "type": "string",
                    "description": "First custom image URL associated with the access point"
                },
                "image2Url": {
                    "type": "string",
                    "description": "Second custom image URL associated with the access point"
                },
                "image3Url": {
                    "type": "string",
                    "description": "Third custom image URL associated with the access point"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:device/ApIpConfig:ApIpConfig",
                    "description": "Management IP addressing settings for this access point"
                },
                "lacpConfig": {
                    "$ref": "#/types/junipermist:device/ApLacpConfig:ApLacpConfig",
                    "description": "Link aggregation settings for supported AP Ethernet uplinks"
                },
                "led": {
                    "$ref": "#/types/junipermist:device/ApLed:ApLed",
                    "description": "Indicator light behavior settings for this access point"
                },
                "locked": {
                    "type": "boolean",
                    "description": "Whether this map is considered locked down"
                },
                "mac": {
                    "type": "string",
                    "description": "Access point MAC address used to identify the device"
                },
                "mapId": {
                    "type": "string",
                    "description": "Map where the device belongs to"
                },
                "mesh": {
                    "$ref": "#/types/junipermist:device/ApMesh:ApMesh",
                    "description": "Wireless mesh role and band settings for this access point"
                },
                "model": {
                    "type": "string",
                    "description": "Hardware model reported for the access point"
                },
                "mqttConfig": {
                    "$ref": "#/types/junipermist:device/ApMqttConfig:ApMqttConfig",
                    "description": "MQTT broker publishing settings for this access point"
                },
                "name": {
                    "type": "string",
                    "description": "Configured hostname assigned to the access point"
                },
                "notes": {
                    "type": "string",
                    "description": "Any notes about this AP"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers used by this access point"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this access point"
                },
                "orientation": {
                    "type": "integer",
                    "description": "AP orientation in degrees from 0 to 359, where 0 is up and 90 is right"
                },
                "poePassthrough": {
                    "type": "boolean",
                    "description": "Whether to enable power out through module port (for APH) or eth1 (for APL/BT11)"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/ApPortConfig:ApPortConfig"
                    },
                    "description": "eth0 is not allowed here. Property key is the interface(s) name (e.g. \u003cspan pulumi-lang-nodejs=\"`eth1`\" pulumi-lang-dotnet=\"`Eth1`\" pulumi-lang-go=\"`eth1`\" pulumi-lang-python=\"`eth1`\" pulumi-lang-yaml=\"`eth1`\" pulumi-lang-java=\"`eth1`\" pulumi-lang-hcl=\"`eth1`\"\u003e`eth1`\u003c/span\u003e or `eth1,eth2`). If spcified, this takes predecence over\u003cspan pulumi-lang-nodejs=\" switchConfig \" pulumi-lang-dotnet=\" SwitchConfig \" pulumi-lang-go=\" switchConfig \" pulumi-lang-python=\" switch_config \" pulumi-lang-yaml=\" switchConfig \" pulumi-lang-java=\" switchConfig \" pulumi-lang-hcl=\" switch_config \"\u003e switchConfig \u003c/span\u003e(switch_config requires user to configure all vlans manually, which is error-prone. thus deprecated)"
                },
                "pwrConfig": {
                    "$ref": "#/types/junipermist:device/ApPwrConfig:ApPwrConfig",
                    "description": "Power negotiation and peripheral power settings for this access point"
                },
                "radioConfig": {
                    "$ref": "#/types/junipermist:device/ApRadioConfig:ApRadioConfig",
                    "description": "Radio configuration overrides for this access point"
                },
                "serial": {
                    "type": "string",
                    "description": "Manufacturer serial number for the access point"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this access point is assigned"
                },
                "type": {
                    "type": "string",
                    "description": "Device type discriminator for access point records"
                },
                "uplinkPortConfig": {
                    "$ref": "#/types/junipermist:device/ApUplinkPortConfig:ApUplinkPortConfig",
                    "description": "Authentication and failover behavior for AP uplink ports"
                },
                "usbConfig": {
                    "$ref": "#/types/junipermist:device/ApUsbConfig:ApUsbConfig",
                    "description": "Legacy USB integration settings for this access point"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Variable values that override site variables for this access point"
                },
                "x": {
                    "type": "number",
                    "description": "Horizontal map position of the AP, in pixels"
                },
                "y": {
                    "type": "number",
                    "description": "Vertical map position of the AP, in pixels"
                },
                "zigbeeConfig": {
                    "$ref": "#/types/junipermist:device/ApZigbeeConfig:ApZigbeeConfig",
                    "description": "Zigbee radio and network settings for this access point"
                }
            },
            "required": [
                "deviceId",
                "disableEth1",
                "disableEth2",
                "disableEth3",
                "disableModule",
                "flowControl",
                "image1Url",
                "image2Url",
                "image3Url",
                "mac",
                "model",
                "name",
                "orgId",
                "poePassthrough",
                "serial",
                "siteId",
                "type"
            ],
            "inputProperties": {
                "aeroscout": {
                    "$ref": "#/types/junipermist:device/ApAeroscout:ApAeroscout",
                    "description": "Location integration settings for AeroScout on this access point"
                },
                "airista": {
                    "$ref": "#/types/junipermist:device/ApAirista:ApAirista",
                    "description": "Location integration settings for Airista on this access point"
                },
                "bleConfig": {
                    "$ref": "#/types/junipermist:device/ApBleConfig:ApBleConfig",
                    "description": "Bluetooth Low Energy beacon and asset settings for this access point"
                },
                "centrak": {
                    "$ref": "#/types/junipermist:device/ApCentrak:ApCentrak",
                    "description": "Location integration settings for Centrak on this access point"
                },
                "clientBridge": {
                    "$ref": "#/types/junipermist:device/ApClientBridge:ApClientBridge",
                    "description": "Wireless client bridge settings for this access point"
                },
                "deviceId": {
                    "type": "string"
                },
                "disableEth1": {
                    "type": "boolean",
                    "description": "Whether to disable eth1 port"
                },
                "disableEth2": {
                    "type": "boolean",
                    "description": "Whether to disable eth2 port"
                },
                "disableEth3": {
                    "type": "boolean",
                    "description": "Whether to disable eth3 port"
                },
                "disableModule": {
                    "type": "boolean",
                    "description": "Whether to disable module port"
                },
                "eslConfig": {
                    "$ref": "#/types/junipermist:device/ApEslConfig:ApEslConfig",
                    "description": "Electronic shelf label integration settings for this access point"
                },
                "flowControl": {
                    "type": "boolean",
                    "description": "For some AP models,\u003cspan pulumi-lang-nodejs=\" flowControl \" pulumi-lang-dotnet=\" FlowControl \" pulumi-lang-go=\" flowControl \" pulumi-lang-python=\" flow_control \" pulumi-lang-yaml=\" flowControl \" pulumi-lang-java=\" flowControl \" pulumi-lang-hcl=\" flow_control \"\u003e flowControl \u003c/span\u003ecan be enabled to address some switch compatibility issue"
                },
                "height": {
                    "type": "number",
                    "description": "Installation height of the AP, in meters"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:device/ApIpConfig:ApIpConfig",
                    "description": "Management IP addressing settings for this access point"
                },
                "lacpConfig": {
                    "$ref": "#/types/junipermist:device/ApLacpConfig:ApLacpConfig",
                    "description": "Link aggregation settings for supported AP Ethernet uplinks"
                },
                "led": {
                    "$ref": "#/types/junipermist:device/ApLed:ApLed",
                    "description": "Indicator light behavior settings for this access point"
                },
                "locked": {
                    "type": "boolean",
                    "description": "Whether this map is considered locked down"
                },
                "mapId": {
                    "type": "string",
                    "description": "Map where the device belongs to"
                },
                "mesh": {
                    "$ref": "#/types/junipermist:device/ApMesh:ApMesh",
                    "description": "Wireless mesh role and band settings for this access point"
                },
                "mqttConfig": {
                    "$ref": "#/types/junipermist:device/ApMqttConfig:ApMqttConfig",
                    "description": "MQTT broker publishing settings for this access point"
                },
                "name": {
                    "type": "string",
                    "description": "Configured hostname assigned to the access point"
                },
                "notes": {
                    "type": "string",
                    "description": "Any notes about this AP"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers used by this access point"
                },
                "orientation": {
                    "type": "integer",
                    "description": "AP orientation in degrees from 0 to 359, where 0 is up and 90 is right"
                },
                "poePassthrough": {
                    "type": "boolean",
                    "description": "Whether to enable power out through module port (for APH) or eth1 (for APL/BT11)"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/ApPortConfig:ApPortConfig"
                    },
                    "description": "eth0 is not allowed here. Property key is the interface(s) name (e.g. \u003cspan pulumi-lang-nodejs=\"`eth1`\" pulumi-lang-dotnet=\"`Eth1`\" pulumi-lang-go=\"`eth1`\" pulumi-lang-python=\"`eth1`\" pulumi-lang-yaml=\"`eth1`\" pulumi-lang-java=\"`eth1`\" pulumi-lang-hcl=\"`eth1`\"\u003e`eth1`\u003c/span\u003e or `eth1,eth2`). If spcified, this takes predecence over\u003cspan pulumi-lang-nodejs=\" switchConfig \" pulumi-lang-dotnet=\" SwitchConfig \" pulumi-lang-go=\" switchConfig \" pulumi-lang-python=\" switch_config \" pulumi-lang-yaml=\" switchConfig \" pulumi-lang-java=\" switchConfig \" pulumi-lang-hcl=\" switch_config \"\u003e switchConfig \u003c/span\u003e(switch_config requires user to configure all vlans manually, which is error-prone. thus deprecated)"
                },
                "pwrConfig": {
                    "$ref": "#/types/junipermist:device/ApPwrConfig:ApPwrConfig",
                    "description": "Power negotiation and peripheral power settings for this access point"
                },
                "radioConfig": {
                    "$ref": "#/types/junipermist:device/ApRadioConfig:ApRadioConfig",
                    "description": "Radio configuration overrides for this access point"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this access point is assigned"
                },
                "uplinkPortConfig": {
                    "$ref": "#/types/junipermist:device/ApUplinkPortConfig:ApUplinkPortConfig",
                    "description": "Authentication and failover behavior for AP uplink ports"
                },
                "usbConfig": {
                    "$ref": "#/types/junipermist:device/ApUsbConfig:ApUsbConfig",
                    "description": "Legacy USB integration settings for this access point"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Variable values that override site variables for this access point"
                },
                "x": {
                    "type": "number",
                    "description": "Horizontal map position of the AP, in pixels"
                },
                "y": {
                    "type": "number",
                    "description": "Vertical map position of the AP, in pixels"
                },
                "zigbeeConfig": {
                    "$ref": "#/types/junipermist:device/ApZigbeeConfig:ApZigbeeConfig",
                    "description": "Zigbee radio and network settings for this access point"
                }
            },
            "requiredInputs": [
                "deviceId",
                "siteId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Ap resources.\n",
                "properties": {
                    "aeroscout": {
                        "$ref": "#/types/junipermist:device/ApAeroscout:ApAeroscout",
                        "description": "Location integration settings for AeroScout on this access point"
                    },
                    "airista": {
                        "$ref": "#/types/junipermist:device/ApAirista:ApAirista",
                        "description": "Location integration settings for Airista on this access point"
                    },
                    "bleConfig": {
                        "$ref": "#/types/junipermist:device/ApBleConfig:ApBleConfig",
                        "description": "Bluetooth Low Energy beacon and asset settings for this access point"
                    },
                    "centrak": {
                        "$ref": "#/types/junipermist:device/ApCentrak:ApCentrak",
                        "description": "Location integration settings for Centrak on this access point"
                    },
                    "clientBridge": {
                        "$ref": "#/types/junipermist:device/ApClientBridge:ApClientBridge",
                        "description": "Wireless client bridge settings for this access point"
                    },
                    "deviceId": {
                        "type": "string"
                    },
                    "disableEth1": {
                        "type": "boolean",
                        "description": "Whether to disable eth1 port"
                    },
                    "disableEth2": {
                        "type": "boolean",
                        "description": "Whether to disable eth2 port"
                    },
                    "disableEth3": {
                        "type": "boolean",
                        "description": "Whether to disable eth3 port"
                    },
                    "disableModule": {
                        "type": "boolean",
                        "description": "Whether to disable module port"
                    },
                    "eslConfig": {
                        "$ref": "#/types/junipermist:device/ApEslConfig:ApEslConfig",
                        "description": "Electronic shelf label integration settings for this access point"
                    },
                    "flowControl": {
                        "type": "boolean",
                        "description": "For some AP models,\u003cspan pulumi-lang-nodejs=\" flowControl \" pulumi-lang-dotnet=\" FlowControl \" pulumi-lang-go=\" flowControl \" pulumi-lang-python=\" flow_control \" pulumi-lang-yaml=\" flowControl \" pulumi-lang-java=\" flowControl \" pulumi-lang-hcl=\" flow_control \"\u003e flowControl \u003c/span\u003ecan be enabled to address some switch compatibility issue"
                    },
                    "height": {
                        "type": "number",
                        "description": "Installation height of the AP, in meters"
                    },
                    "image1Url": {
                        "type": "string",
                        "description": "First custom image URL associated with the access point"
                    },
                    "image2Url": {
                        "type": "string",
                        "description": "Second custom image URL associated with the access point"
                    },
                    "image3Url": {
                        "type": "string",
                        "description": "Third custom image URL associated with the access point"
                    },
                    "ipConfig": {
                        "$ref": "#/types/junipermist:device/ApIpConfig:ApIpConfig",
                        "description": "Management IP addressing settings for this access point"
                    },
                    "lacpConfig": {
                        "$ref": "#/types/junipermist:device/ApLacpConfig:ApLacpConfig",
                        "description": "Link aggregation settings for supported AP Ethernet uplinks"
                    },
                    "led": {
                        "$ref": "#/types/junipermist:device/ApLed:ApLed",
                        "description": "Indicator light behavior settings for this access point"
                    },
                    "locked": {
                        "type": "boolean",
                        "description": "Whether this map is considered locked down"
                    },
                    "mac": {
                        "type": "string",
                        "description": "Access point MAC address used to identify the device"
                    },
                    "mapId": {
                        "type": "string",
                        "description": "Map where the device belongs to"
                    },
                    "mesh": {
                        "$ref": "#/types/junipermist:device/ApMesh:ApMesh",
                        "description": "Wireless mesh role and band settings for this access point"
                    },
                    "model": {
                        "type": "string",
                        "description": "Hardware model reported for the access point"
                    },
                    "mqttConfig": {
                        "$ref": "#/types/junipermist:device/ApMqttConfig:ApMqttConfig",
                        "description": "MQTT broker publishing settings for this access point"
                    },
                    "name": {
                        "type": "string",
                        "description": "Configured hostname assigned to the access point"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Any notes about this AP"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "NTP servers used by this access point"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this access point"
                    },
                    "orientation": {
                        "type": "integer",
                        "description": "AP orientation in degrees from 0 to 359, where 0 is up and 90 is right"
                    },
                    "poePassthrough": {
                        "type": "boolean",
                        "description": "Whether to enable power out through module port (for APH) or eth1 (for APL/BT11)"
                    },
                    "portConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/ApPortConfig:ApPortConfig"
                        },
                        "description": "eth0 is not allowed here. Property key is the interface(s) name (e.g. \u003cspan pulumi-lang-nodejs=\"`eth1`\" pulumi-lang-dotnet=\"`Eth1`\" pulumi-lang-go=\"`eth1`\" pulumi-lang-python=\"`eth1`\" pulumi-lang-yaml=\"`eth1`\" pulumi-lang-java=\"`eth1`\" pulumi-lang-hcl=\"`eth1`\"\u003e`eth1`\u003c/span\u003e or `eth1,eth2`). If spcified, this takes predecence over\u003cspan pulumi-lang-nodejs=\" switchConfig \" pulumi-lang-dotnet=\" SwitchConfig \" pulumi-lang-go=\" switchConfig \" pulumi-lang-python=\" switch_config \" pulumi-lang-yaml=\" switchConfig \" pulumi-lang-java=\" switchConfig \" pulumi-lang-hcl=\" switch_config \"\u003e switchConfig \u003c/span\u003e(switch_config requires user to configure all vlans manually, which is error-prone. thus deprecated)"
                    },
                    "pwrConfig": {
                        "$ref": "#/types/junipermist:device/ApPwrConfig:ApPwrConfig",
                        "description": "Power negotiation and peripheral power settings for this access point"
                    },
                    "radioConfig": {
                        "$ref": "#/types/junipermist:device/ApRadioConfig:ApRadioConfig",
                        "description": "Radio configuration overrides for this access point"
                    },
                    "serial": {
                        "type": "string",
                        "description": "Manufacturer serial number for the access point"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Site where this access point is assigned"
                    },
                    "type": {
                        "type": "string",
                        "description": "Device type discriminator for access point records"
                    },
                    "uplinkPortConfig": {
                        "$ref": "#/types/junipermist:device/ApUplinkPortConfig:ApUplinkPortConfig",
                        "description": "Authentication and failover behavior for AP uplink ports"
                    },
                    "usbConfig": {
                        "$ref": "#/types/junipermist:device/ApUsbConfig:ApUsbConfig",
                        "description": "Legacy USB integration settings for this access point"
                    },
                    "vars": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Variable values that override site variables for this access point"
                    },
                    "x": {
                        "type": "number",
                        "description": "Horizontal map position of the AP, in pixels"
                    },
                    "y": {
                        "type": "number",
                        "description": "Vertical map position of the AP, in pixels"
                    },
                    "zigbeeConfig": {
                        "$ref": "#/types/junipermist:device/ApZigbeeConfig:ApZigbeeConfig",
                        "description": "Zigbee radio and network settings for this access point"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:device/base:base": {
            "description": "This resource manages the Site basic information.\n\nThis resource can be used to assign templates to a site, or to change basic information (e.g. Site Address)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst juniperFrance = new junipermist.site.Base(\"juniper_france\", {\n    orgId: terraformTest.id,\n    name: \"JNP-FR-PAR\",\n    countryCode: \"FR\",\n    timezone: \"Europe/Paris\",\n    address: \"41 Rue de Villiers, 92100 Neuilly sur Seine, France\",\n    notes: \"Created with Terraform, Updated with Terraform\",\n    latlng: {\n        lat: 48.899268,\n        lng: 2.214447,\n    },\n    sitegroupIds: [\n        testGroup.id,\n        testGroup2.id,\n    ],\n    networktemplateId: networktemplateOne.id,\n    rftemplateId: rftemplateOne.id,\n    gatewaytemplateId: gatewaytemplateOne.id,\n    alarmtemplateId: alarmtemplateOne.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\njuniper_france = junipermist.site.Base(\"juniper_france\",\n    org_id=terraform_test[\"id\"],\n    name=\"JNP-FR-PAR\",\n    country_code=\"FR\",\n    timezone=\"Europe/Paris\",\n    address=\"41 Rue de Villiers, 92100 Neuilly sur Seine, France\",\n    notes=\"Created with Terraform, Updated with Terraform\",\n    latlng={\n        \"lat\": 48.899268,\n        \"lng\": 2.214447,\n    },\n    sitegroup_ids=[\n        test_group[\"id\"],\n        test_group2[\"id\"],\n    ],\n    networktemplate_id=networktemplate_one[\"id\"],\n    rftemplate_id=rftemplate_one[\"id\"],\n    gatewaytemplate_id=gatewaytemplate_one[\"id\"],\n    alarmtemplate_id=alarmtemplate_one[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var juniperFrance = new JuniperMist.Site.Base(\"juniper_france\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"JNP-FR-PAR\",\n        CountryCode = \"FR\",\n        Timezone = \"Europe/Paris\",\n        Address = \"41 Rue de Villiers, 92100 Neuilly sur Seine, France\",\n        Notes = \"Created with Terraform, Updated with Terraform\",\n        Latlng = new JuniperMist.Site.Inputs.BaseLatlngArgs\n        {\n            Lat = 48.899268,\n            Lng = 2.214447,\n        },\n        SitegroupIds = new[]\n        {\n            testGroup.Id,\n            testGroup2.Id,\n        },\n        NetworktemplateId = networktemplateOne.Id,\n        RftemplateId = rftemplateOne.Id,\n        GatewaytemplateId = gatewaytemplateOne.Id,\n        AlarmtemplateId = alarmtemplateOne.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewBase(ctx, \"juniper_france\", \u0026site.BaseArgs{\n\t\t\tOrgId:       pulumi.Any(terraformTest.Id),\n\t\t\tName:        pulumi.String(\"JNP-FR-PAR\"),\n\t\t\tCountryCode: pulumi.String(\"FR\"),\n\t\t\tTimezone:    pulumi.String(\"Europe/Paris\"),\n\t\t\tAddress:     pulumi.String(\"41 Rue de Villiers, 92100 Neuilly sur Seine, France\"),\n\t\t\tNotes:       pulumi.String(\"Created with Terraform, Updated with Terraform\"),\n\t\t\tLatlng: \u0026site.BaseLatlngArgs{\n\t\t\t\tLat: pulumi.Float64(48.899268),\n\t\t\t\tLng: pulumi.Float64(2.214447),\n\t\t\t},\n\t\t\tSitegroupIds: pulumi.StringArray{\n\t\t\t\ttestGroup.Id,\n\t\t\t\ttestGroup2.Id,\n\t\t\t},\n\t\t\tNetworktemplateId: pulumi.Any(networktemplateOne.Id),\n\t\t\tRftemplateId:      pulumi.Any(rftemplateOne.Id),\n\t\t\tGatewaytemplateId: pulumi.Any(gatewaytemplateOne.Id),\n\t\t\tAlarmtemplateId:   pulumi.Any(alarmtemplateOne.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_base\" \"juniper_france\" {\n  org_id       = terraformTest.id\n  name         = \"JNP-FR-PAR\"\n  country_code = \"FR\"\n  timezone     = \"Europe/Paris\"\n  address      = \"41 Rue de Villiers, 92100 Neuilly sur Seine, France\"\n  notes        = \"Created with Terraform, Updated with Terraform\"\n  latlng = {\n    lat = 48.899268\n    lng = 2.214447\n  }\n  sitegroup_ids      = [testGroup.id, testGroup2.id]\n  networktemplate_id = networktemplateOne.id\n  rftemplate_id      = rftemplateOne.id\n  gatewaytemplate_id = gatewaytemplateOne.id\n  alarmtemplate_id   = alarmtemplateOne.id\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.base;\nimport com.pulumi.junipermist.site.baseArgs;\nimport com.pulumi.junipermist.site.inputs.BaseLatlngArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var juniperFrance = new Base(\"juniperFrance\", BaseArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"JNP-FR-PAR\")\n            .countryCode(\"FR\")\n            .timezone(\"Europe/Paris\")\n            .address(\"41 Rue de Villiers, 92100 Neuilly sur Seine, France\")\n            .notes(\"Created with Terraform, Updated with Terraform\")\n            .latlng(BaseLatlngArgs.builder()\n                .lat(48.899268)\n                .lng(2.214447)\n                .build())\n            .sitegroupIds(            \n                testGroup.id(),\n                testGroup2.id())\n            .networktemplateId(networktemplateOne.id())\n            .rftemplateId(rftemplateOne.id())\n            .gatewaytemplateId(gatewaytemplateOne.id())\n            .alarmtemplateId(alarmtemplateOne.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  juniperFrance:\n    type: junipermist:site:base\n    name: juniper_france\n    properties:\n      orgId: ${terraformTest.id}\n      name: JNP-FR-PAR\n      countryCode: FR\n      timezone: Europe/Paris\n      address: 41 Rue de Villiers, 92100 Neuilly sur Seine, France\n      notes: Created with Terraform, Updated with Terraform\n      latlng:\n        lat: 48.899268\n        lng: 2.214447\n      sitegroupIds:\n        - ${testGroup.id}\n        - ${testGroup2.id}\n      networktemplateId: ${networktemplateOne.id}\n      rftemplateId: ${rftemplateOne.id}\n      gatewaytemplateId: ${gatewaytemplateOne.id}\n      alarmtemplateId: ${alarmtemplateOne.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.base`\" pulumi-lang-dotnet=\"`junipermist.site.base`\" pulumi-lang-go=\"`site.base`\" pulumi-lang-python=\"`site.base`\" pulumi-lang-yaml=\"`junipermist.site.base`\" pulumi-lang-java=\"`junipermist.site.base`\" pulumi-lang-hcl=\"`mist_site`\"\u003e`junipermist.site.base`\u003c/span\u003e with:\nSite can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId\n\" pulumi-lang-dotnet=\" SiteId\n\" pulumi-lang-go=\" siteId\n\" pulumi-lang-python=\" site_id\n\" pulumi-lang-yaml=\" siteId\n\" pulumi-lang-java=\" siteId\n\" pulumi-lang-hcl=\" site_id\n\"\u003e siteId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:device/base:base site_one d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "address": {
                    "type": "string",
                    "description": "full address of the site\n"
                },
                "alarmtemplateId": {
                    "type": "string",
                    "description": "Alarm Template ID, this takes precedence over the Org-level alarmtemplate_id\n"
                },
                "aptemplateId": {
                    "type": "string",
                    "description": "AP Template ID, used by APs\n"
                },
                "countryCode": {
                    "type": "string",
                    "description": "Country code for the site (for AP config generation), in two-character\n"
                },
                "gatewaytemplateId": {
                    "type": "string",
                    "description": "Gateway Template ID, used by gateways\n"
                },
                "latlng": {
                    "$ref": "#/types/junipermist:device/baseLatlng:baseLatlng",
                    "description": "Latitude and longitude for the site location\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the site\n"
                },
                "networktemplateId": {
                    "type": "string",
                    "description": "Network Template ID, this takes precedence over Site Settings\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Optional, any notes about the site\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier associated with the site\n"
                },
                "rftemplateId": {
                    "type": "string",
                    "description": "RF Template ID, this takes precedence over Site Settings\n"
                },
                "routertemplateId": {
                    "type": "string",
                    "description": "Router Template ID, used by gateways\n"
                },
                "secpolicyId": {
                    "type": "string",
                    "description": "Security policy identifier applied to this site\n"
                },
                "sitegroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Sitegroups this site belongs to\n"
                },
                "sitetemplateId": {
                    "type": "string",
                    "description": "Site template identifier applied to this site\n"
                },
                "timezone": {
                    "type": "string",
                    "description": "IANA time zone name for the site\n"
                },
                "tzoffset": {
                    "type": "integer",
                    "description": "Time zone offset value derived from the site's timezone\n"
                }
            },
            "required": [
                "address",
                "name",
                "notes",
                "orgId",
                "sitegroupIds",
                "timezone",
                "tzoffset"
            ],
            "inputProperties": {
                "address": {
                    "type": "string",
                    "description": "full address of the site\n"
                },
                "alarmtemplateId": {
                    "type": "string",
                    "description": "Alarm Template ID, this takes precedence over the Org-level alarmtemplate_id\n"
                },
                "aptemplateId": {
                    "type": "string",
                    "description": "AP Template ID, used by APs\n"
                },
                "countryCode": {
                    "type": "string",
                    "description": "Country code for the site (for AP config generation), in two-character\n"
                },
                "gatewaytemplateId": {
                    "type": "string",
                    "description": "Gateway Template ID, used by gateways\n"
                },
                "latlng": {
                    "$ref": "#/types/junipermist:device/baseLatlng:baseLatlng",
                    "description": "Latitude and longitude for the site location\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the site\n"
                },
                "networktemplateId": {
                    "type": "string",
                    "description": "Network Template ID, this takes precedence over Site Settings\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Optional, any notes about the site\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier associated with the site\n"
                },
                "rftemplateId": {
                    "type": "string",
                    "description": "RF Template ID, this takes precedence over Site Settings\n"
                },
                "routertemplateId": {
                    "type": "string",
                    "description": "Router Template ID, used by gateways\n"
                },
                "secpolicyId": {
                    "type": "string",
                    "description": "Security policy identifier applied to this site\n"
                },
                "sitegroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Sitegroups this site belongs to\n"
                },
                "sitetemplateId": {
                    "type": "string",
                    "description": "Site template identifier applied to this site\n"
                },
                "timezone": {
                    "type": "string",
                    "description": "IANA time zone name for the site\n"
                }
            },
            "requiredInputs": [
                "address",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering base resources.\n",
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "full address of the site\n"
                    },
                    "alarmtemplateId": {
                        "type": "string",
                        "description": "Alarm Template ID, this takes precedence over the Org-level alarmtemplate_id\n"
                    },
                    "aptemplateId": {
                        "type": "string",
                        "description": "AP Template ID, used by APs\n"
                    },
                    "countryCode": {
                        "type": "string",
                        "description": "Country code for the site (for AP config generation), in two-character\n"
                    },
                    "gatewaytemplateId": {
                        "type": "string",
                        "description": "Gateway Template ID, used by gateways\n"
                    },
                    "latlng": {
                        "$ref": "#/types/junipermist:device/baseLatlng:baseLatlng",
                        "description": "Latitude and longitude for the site location\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the site\n"
                    },
                    "networktemplateId": {
                        "type": "string",
                        "description": "Network Template ID, this takes precedence over Site Settings\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Optional, any notes about the site\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization identifier associated with the site\n"
                    },
                    "rftemplateId": {
                        "type": "string",
                        "description": "RF Template ID, this takes precedence over Site Settings\n"
                    },
                    "routertemplateId": {
                        "type": "string",
                        "description": "Router Template ID, used by gateways\n"
                    },
                    "secpolicyId": {
                        "type": "string",
                        "description": "Security policy identifier applied to this site\n"
                    },
                    "sitegroupIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Sitegroups this site belongs to\n"
                    },
                    "sitetemplateId": {
                        "type": "string",
                        "description": "Site template identifier applied to this site\n"
                    },
                    "timezone": {
                        "type": "string",
                        "description": "IANA time zone name for the site\n"
                    },
                    "tzoffset": {
                        "type": "integer",
                        "description": "Time zone offset value derived from the site's timezone\n"
                    }
                },
                "type": "object"
            },
            "deprecationMessage": "junipermist.device/base.base has been deprecated in favor of junipermist.site/base.base"
        },
        "junipermist:device/gateway:Gateway": {
            "description": "This resource manages the Gateway configuration.\n\nIt can be used to define specific configuration at the device level or to override Org Gateway template settings.\n\n\u003e **WARNING** For **adopted** devices, make sure to set \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to allow Mist to manage the gateway\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst gatewayOne = new junipermist.device.Gateway(\"gateway_one\", {\n    name: \"gateway_one\",\n    deviceId: clusterOne.deviceId,\n    siteId: clusterOne.siteId,\n    oobIpConfig: {\n        type: \"dhcp\",\n    },\n    dnsServers: [\"8.8.8.8\"],\n    additionalConfigCmds: [\n        \"annotate system \\\" -- custom-main -- Template level --\\\"\",\n        \"delete apply-groups custom-main\",\n        \"delete groups custom-main\",\n        \"set groups custom-main\",\n        \"set groups custom-main system services ssh root-login allow\",\n        \"set apply-groups custom-main\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\ngateway_one = junipermist.device.Gateway(\"gateway_one\",\n    name=\"gateway_one\",\n    device_id=cluster_one[\"deviceId\"],\n    site_id=cluster_one[\"siteId\"],\n    oob_ip_config={\n        \"type\": \"dhcp\",\n    },\n    dns_servers=[\"8.8.8.8\"],\n    additional_config_cmds=[\n        \"annotate system \\\" -- custom-main -- Template level --\\\"\",\n        \"delete apply-groups custom-main\",\n        \"delete groups custom-main\",\n        \"set groups custom-main\",\n        \"set groups custom-main system services ssh root-login allow\",\n        \"set apply-groups custom-main\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gatewayOne = new JuniperMist.Device.Gateway(\"gateway_one\", new()\n    {\n        Name = \"gateway_one\",\n        DeviceId = clusterOne.DeviceId,\n        SiteId = clusterOne.SiteId,\n        OobIpConfig = new JuniperMist.Device.Inputs.GatewayOobIpConfigArgs\n        {\n            Type = \"dhcp\",\n        },\n        DnsServers = new[]\n        {\n            \"8.8.8.8\",\n        },\n        AdditionalConfigCmds = new[]\n        {\n            \"annotate system \\\" -- custom-main -- Template level --\\\"\",\n            \"delete apply-groups custom-main\",\n            \"delete groups custom-main\",\n            \"set groups custom-main\",\n            \"set groups custom-main system services ssh root-login allow\",\n            \"set apply-groups custom-main\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/device\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := device.NewGateway(ctx, \"gateway_one\", \u0026device.GatewayArgs{\n\t\t\tName:     pulumi.String(\"gateway_one\"),\n\t\t\tDeviceId: pulumi.Any(clusterOne.DeviceId),\n\t\t\tSiteId:   pulumi.Any(clusterOne.SiteId),\n\t\t\tOobIpConfig: \u0026device.GatewayOobIpConfigArgs{\n\t\t\t\tType: pulumi.String(\"dhcp\"),\n\t\t\t},\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t},\n\t\t\tAdditionalConfigCmds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"annotate system \\\" -- custom-main -- Template level --\\\"\"),\n\t\t\t\tpulumi.String(\"delete apply-groups custom-main\"),\n\t\t\t\tpulumi.String(\"delete groups custom-main\"),\n\t\t\t\tpulumi.String(\"set groups custom-main\"),\n\t\t\t\tpulumi.String(\"set groups custom-main system services ssh root-login allow\"),\n\t\t\t\tpulumi.String(\"set apply-groups custom-main\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_device_gateway\" \"gateway_one\" {\n  name      = \"gateway_one\"\n  device_id = clusterOne.deviceId\n  site_id   = clusterOne.siteId\n  oob_ip_config = {\n    type = \"dhcp\"\n  }\n  dns_servers            = [\"8.8.8.8\"]\n  additional_config_cmds = [\"annotate system \\\" -- custom-main -- Template level --\\\"\", \"delete apply-groups custom-main\", \"delete groups custom-main\", \"set groups custom-main\", \"set groups custom-main system services ssh root-login allow\", \"set apply-groups custom-main\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.device.Gateway;\nimport com.pulumi.junipermist.device.GatewayArgs;\nimport com.pulumi.junipermist.device.inputs.GatewayOobIpConfigArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var gatewayOne = new Gateway(\"gatewayOne\", GatewayArgs.builder()\n            .name(\"gateway_one\")\n            .deviceId(clusterOne.deviceId())\n            .siteId(clusterOne.siteId())\n            .oobIpConfig(GatewayOobIpConfigArgs.builder()\n                .type(\"dhcp\")\n                .build())\n            .dnsServers(\"8.8.8.8\")\n            .additionalConfigCmds(            \n                \"annotate system \\\" -- custom-main -- Template level --\\\"\",\n                \"delete apply-groups custom-main\",\n                \"delete groups custom-main\",\n                \"set groups custom-main\",\n                \"set groups custom-main system services ssh root-login allow\",\n                \"set apply-groups custom-main\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  gatewayOne:\n    type: junipermist:device:Gateway\n    name: gateway_one\n    properties:\n      name: gateway_one\n      deviceId: ${clusterOne.deviceId}\n      siteId: ${clusterOne.siteId}\n      oobIpConfig:\n        type: dhcp\n      dnsServers:\n        - 8.8.8.8\n      additionalConfigCmds:\n        - annotate system \" -- custom-main -- Template level --\"\n        - delete apply-groups custom-main\n        - delete groups custom-main\n        - set groups custom-main\n        - set groups custom-main system services ssh root-login allow\n        - set apply-groups custom-main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.device.Gateway`\" pulumi-lang-dotnet=\"`junipermist.device.Gateway`\" pulumi-lang-go=\"`device.Gateway`\" pulumi-lang-python=\"`device.Gateway`\" pulumi-lang-yaml=\"`junipermist.device.Gateway`\" pulumi-lang-java=\"`junipermist.device.Gateway`\" pulumi-lang-hcl=\"`mist_device_gateway`\"\u003e`junipermist.device.Gateway`\u003c/span\u003e with:\nGateway Configuration can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" deviceId\n\" pulumi-lang-dotnet=\" DeviceId\n\" pulumi-lang-go=\" deviceId\n\" pulumi-lang-python=\" device_id\n\" pulumi-lang-yaml=\" deviceId\n\" pulumi-lang-java=\" deviceId\n\" pulumi-lang-hcl=\" device_id\n\"\u003e deviceId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:device/gateway:Gateway gateway_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands to apply to this gateway"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayBgpConfig:GatewayBgpConfig"
                    },
                    "description": "BGP routing configuration for this gateway. Property key is the BGP session name"
                },
                "deviceId": {
                    "type": "string"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:device/GatewayDhcpdConfig:GatewayDhcpdConfig",
                    "description": "DHCP server configuration served by this gateway"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers configured for this gateway"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes configured for this gateway"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayExtraRoutes:GatewayExtraRoutes"
                    },
                    "description": "Additional IPv4 routes configured on this gateway"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayExtraRoutes6:GatewayExtraRoutes6"
                    },
                    "description": "Additional IPv6 routes configured on this gateway"
                },
                "gatewayMgmt": {
                    "$ref": "#/types/junipermist:device/GatewayGatewayMgmt:GatewayGatewayMgmt",
                    "description": "Management-plane settings for this gateway"
                },
                "idpProfiles": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayIdpProfiles:GatewayIdpProfiles"
                    },
                    "description": "Intrusion detection and prevention profiles configured for this gateway"
                },
                "image1Url": {
                    "type": "string",
                    "description": "First custom image URL associated with the gateway"
                },
                "image2Url": {
                    "type": "string",
                    "description": "Second custom image URL associated with the gateway"
                },
                "image3Url": {
                    "type": "string",
                    "description": "Third custom image URL associated with the gateway"
                },
                "ipConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayIpConfigs:GatewayIpConfigs"
                    },
                    "description": "Gateway interface IP configurations by network name"
                },
                "mac": {
                    "type": "string",
                    "description": "Gateway MAC address used to identify the device"
                },
                "managed": {
                    "type": "boolean",
                    "description": "Whether the device is managed by Mist. Deprecated in favour of mist_configured.",
                    "deprecationMessage": "This attribute is being deprecated, please use \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e instead"
                },
                "mapId": {
                    "type": "string",
                    "description": "Map where the device belongs to"
                },
                "mistConfigured": {
                    "type": "boolean",
                    "description": "whether the device can be configured by Mist or not. This deprecates \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\" pulumi-lang-hcl=\"`managed`\"\u003e`managed`\u003c/span\u003e for adopted devices."
                },
                "model": {
                    "type": "string",
                    "description": "Gateway model reported for the device"
                },
                "mspId": {
                    "type": "string",
                    "description": "MSP that manages this gateway, when applicable"
                },
                "name": {
                    "type": "string",
                    "description": "Friendly display name assigned to the gateway"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayNetwork:GatewayNetwork"
                    },
                    "description": "Layer 3 networks configured for use by this gateway"
                },
                "notes": {
                    "type": "string",
                    "description": "Free-form administrative notes for this gateway"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers used by this gateway"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:device/GatewayOobIpConfig:GatewayOobIpConfig",
                    "description": "Out-of-band management IP configuration for this gateway"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this gateway"
                },
                "pathPreferences": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayPathPreferences:GatewayPathPreferences"
                    },
                    "description": "Property key is the path name"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayPortConfig:GatewayPortConfig"
                    },
                    "description": "Property key is the port name or range (e.g. \"ge-0/0/0-10\")"
                },
                "portMirroring": {
                    "$ref": "#/types/junipermist:device/GatewayPortMirroring:GatewayPortMirroring",
                    "description": "Port mirroring configuration for this gateway"
                },
                "routerId": {
                    "type": "string",
                    "description": "Auto assigned if not set"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayRoutingPolicies:GatewayRoutingPolicies"
                    },
                    "description": "Routing policies applied by this gateway"
                },
                "serial": {
                    "type": "string",
                    "description": "Manufacturer serial number for the gateway"
                },
                "servicePolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayServicePolicy:GatewayServicePolicy"
                    },
                    "description": "Traffic service policies enforced by this gateway"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this gateway is assigned"
                },
                "ssrAdditionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional CLI commands to append to the generated SSR config. **Note**: no check is done"
                },
                "tunnelConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayTunnelConfigs:GatewayTunnelConfigs"
                    },
                    "description": "Property key is the tunnel name"
                },
                "tunnelProviderOptions": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelProviderOptions:GatewayTunnelProviderOptions",
                    "description": "Provider-specific options for tunnels terminated by this gateway"
                },
                "type": {
                    "type": "string",
                    "description": "Device type discriminator for gateway records"
                },
                "urlFilteringDenyMsg": {
                    "type": "string",
                    "description": "When a service policy denies a app_category, what message to show in user's browser"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Variable values that override site variables for this gateway"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:device/GatewayVrfConfig:GatewayVrfConfig",
                    "description": "VRF configuration applied to this gateway"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayVrfInstances:GatewayVrfInstances"
                    },
                    "description": "VRF instances configured on this gateway"
                },
                "x": {
                    "type": "number",
                    "description": "Horizontal map position of the gateway, in pixels"
                },
                "y": {
                    "type": "number",
                    "description": "Vertical map position of the gateway, in pixels"
                }
            },
            "required": [
                "deviceId",
                "image1Url",
                "image2Url",
                "image3Url",
                "mac",
                "managed",
                "mistConfigured",
                "model",
                "name",
                "oobIpConfig",
                "orgId",
                "serial",
                "siteId",
                "type"
            ],
            "inputProperties": {
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands to apply to this gateway"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayBgpConfig:GatewayBgpConfig"
                    },
                    "description": "BGP routing configuration for this gateway. Property key is the BGP session name"
                },
                "deviceId": {
                    "type": "string"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:device/GatewayDhcpdConfig:GatewayDhcpdConfig",
                    "description": "DHCP server configuration served by this gateway"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers configured for this gateway"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes configured for this gateway"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayExtraRoutes:GatewayExtraRoutes"
                    },
                    "description": "Additional IPv4 routes configured on this gateway"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayExtraRoutes6:GatewayExtraRoutes6"
                    },
                    "description": "Additional IPv6 routes configured on this gateway"
                },
                "gatewayMgmt": {
                    "$ref": "#/types/junipermist:device/GatewayGatewayMgmt:GatewayGatewayMgmt",
                    "description": "Management-plane settings for this gateway"
                },
                "idpProfiles": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayIdpProfiles:GatewayIdpProfiles"
                    },
                    "description": "Intrusion detection and prevention profiles configured for this gateway"
                },
                "ipConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayIpConfigs:GatewayIpConfigs"
                    },
                    "description": "Gateway interface IP configurations by network name"
                },
                "managed": {
                    "type": "boolean",
                    "description": "Whether the device is managed by Mist. Deprecated in favour of mist_configured.",
                    "deprecationMessage": "This attribute is being deprecated, please use \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e instead"
                },
                "mapId": {
                    "type": "string",
                    "description": "Map where the device belongs to"
                },
                "mistConfigured": {
                    "type": "boolean",
                    "description": "whether the device can be configured by Mist or not. This deprecates \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\" pulumi-lang-hcl=\"`managed`\"\u003e`managed`\u003c/span\u003e for adopted devices."
                },
                "mspId": {
                    "type": "string",
                    "description": "MSP that manages this gateway, when applicable"
                },
                "name": {
                    "type": "string",
                    "description": "Friendly display name assigned to the gateway"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayNetwork:GatewayNetwork"
                    },
                    "description": "Layer 3 networks configured for use by this gateway"
                },
                "notes": {
                    "type": "string",
                    "description": "Free-form administrative notes for this gateway"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers used by this gateway"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:device/GatewayOobIpConfig:GatewayOobIpConfig",
                    "description": "Out-of-band management IP configuration for this gateway"
                },
                "pathPreferences": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayPathPreferences:GatewayPathPreferences"
                    },
                    "description": "Property key is the path name"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayPortConfig:GatewayPortConfig"
                    },
                    "description": "Property key is the port name or range (e.g. \"ge-0/0/0-10\")"
                },
                "portMirroring": {
                    "$ref": "#/types/junipermist:device/GatewayPortMirroring:GatewayPortMirroring",
                    "description": "Port mirroring configuration for this gateway"
                },
                "routerId": {
                    "type": "string",
                    "description": "Auto assigned if not set"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayRoutingPolicies:GatewayRoutingPolicies"
                    },
                    "description": "Routing policies applied by this gateway"
                },
                "servicePolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayServicePolicy:GatewayServicePolicy"
                    },
                    "description": "Traffic service policies enforced by this gateway"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this gateway is assigned"
                },
                "ssrAdditionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional CLI commands to append to the generated SSR config. **Note**: no check is done"
                },
                "tunnelConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayTunnelConfigs:GatewayTunnelConfigs"
                    },
                    "description": "Property key is the tunnel name"
                },
                "tunnelProviderOptions": {
                    "$ref": "#/types/junipermist:device/GatewayTunnelProviderOptions:GatewayTunnelProviderOptions",
                    "description": "Provider-specific options for tunnels terminated by this gateway"
                },
                "urlFilteringDenyMsg": {
                    "type": "string",
                    "description": "When a service policy denies a app_category, what message to show in user's browser"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Variable values that override site variables for this gateway"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:device/GatewayVrfConfig:GatewayVrfConfig",
                    "description": "VRF configuration applied to this gateway"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/GatewayVrfInstances:GatewayVrfInstances"
                    },
                    "description": "VRF instances configured on this gateway"
                },
                "x": {
                    "type": "number",
                    "description": "Horizontal map position of the gateway, in pixels"
                },
                "y": {
                    "type": "number",
                    "description": "Vertical map position of the gateway, in pixels"
                }
            },
            "requiredInputs": [
                "deviceId",
                "siteId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Gateway resources.\n",
                "properties": {
                    "additionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Additional CLI configuration commands to apply to this gateway"
                    },
                    "bgpConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayBgpConfig:GatewayBgpConfig"
                        },
                        "description": "BGP routing configuration for this gateway. Property key is the BGP session name"
                    },
                    "deviceId": {
                        "type": "string"
                    },
                    "dhcpdConfig": {
                        "$ref": "#/types/junipermist:device/GatewayDhcpdConfig:GatewayDhcpdConfig",
                        "description": "DHCP server configuration served by this gateway"
                    },
                    "dnsServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS servers configured for this gateway"
                    },
                    "dnsSuffixes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS search suffixes configured for this gateway"
                    },
                    "extraRoutes": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayExtraRoutes:GatewayExtraRoutes"
                        },
                        "description": "Additional IPv4 routes configured on this gateway"
                    },
                    "extraRoutes6": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayExtraRoutes6:GatewayExtraRoutes6"
                        },
                        "description": "Additional IPv6 routes configured on this gateway"
                    },
                    "gatewayMgmt": {
                        "$ref": "#/types/junipermist:device/GatewayGatewayMgmt:GatewayGatewayMgmt",
                        "description": "Management-plane settings for this gateway"
                    },
                    "idpProfiles": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayIdpProfiles:GatewayIdpProfiles"
                        },
                        "description": "Intrusion detection and prevention profiles configured for this gateway"
                    },
                    "image1Url": {
                        "type": "string",
                        "description": "First custom image URL associated with the gateway"
                    },
                    "image2Url": {
                        "type": "string",
                        "description": "Second custom image URL associated with the gateway"
                    },
                    "image3Url": {
                        "type": "string",
                        "description": "Third custom image URL associated with the gateway"
                    },
                    "ipConfigs": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayIpConfigs:GatewayIpConfigs"
                        },
                        "description": "Gateway interface IP configurations by network name"
                    },
                    "mac": {
                        "type": "string",
                        "description": "Gateway MAC address used to identify the device"
                    },
                    "managed": {
                        "type": "boolean",
                        "description": "Whether the device is managed by Mist. Deprecated in favour of mist_configured.",
                        "deprecationMessage": "This attribute is being deprecated, please use \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e instead"
                    },
                    "mapId": {
                        "type": "string",
                        "description": "Map where the device belongs to"
                    },
                    "mistConfigured": {
                        "type": "boolean",
                        "description": "whether the device can be configured by Mist or not. This deprecates \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\" pulumi-lang-hcl=\"`managed`\"\u003e`managed`\u003c/span\u003e for adopted devices."
                    },
                    "model": {
                        "type": "string",
                        "description": "Gateway model reported for the device"
                    },
                    "mspId": {
                        "type": "string",
                        "description": "MSP that manages this gateway, when applicable"
                    },
                    "name": {
                        "type": "string",
                        "description": "Friendly display name assigned to the gateway"
                    },
                    "networks": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:device/GatewayNetwork:GatewayNetwork"
                        },
                        "description": "Layer 3 networks configured for use by this gateway"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Free-form administrative notes for this gateway"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "NTP servers used by this gateway"
                    },
                    "oobIpConfig": {
                        "$ref": "#/types/junipermist:device/GatewayOobIpConfig:GatewayOobIpConfig",
                        "description": "Out-of-band management IP configuration for this gateway"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this gateway"
                    },
                    "pathPreferences": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayPathPreferences:GatewayPathPreferences"
                        },
                        "description": "Property key is the path name"
                    },
                    "portConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayPortConfig:GatewayPortConfig"
                        },
                        "description": "Property key is the port name or range (e.g. \"ge-0/0/0-10\")"
                    },
                    "portMirroring": {
                        "$ref": "#/types/junipermist:device/GatewayPortMirroring:GatewayPortMirroring",
                        "description": "Port mirroring configuration for this gateway"
                    },
                    "routerId": {
                        "type": "string",
                        "description": "Auto assigned if not set"
                    },
                    "routingPolicies": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayRoutingPolicies:GatewayRoutingPolicies"
                        },
                        "description": "Routing policies applied by this gateway"
                    },
                    "serial": {
                        "type": "string",
                        "description": "Manufacturer serial number for the gateway"
                    },
                    "servicePolicies": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:device/GatewayServicePolicy:GatewayServicePolicy"
                        },
                        "description": "Traffic service policies enforced by this gateway"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Site where this gateway is assigned"
                    },
                    "ssrAdditionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "additional CLI commands to append to the generated SSR config. **Note**: no check is done"
                    },
                    "tunnelConfigs": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayTunnelConfigs:GatewayTunnelConfigs"
                        },
                        "description": "Property key is the tunnel name"
                    },
                    "tunnelProviderOptions": {
                        "$ref": "#/types/junipermist:device/GatewayTunnelProviderOptions:GatewayTunnelProviderOptions",
                        "description": "Provider-specific options for tunnels terminated by this gateway"
                    },
                    "type": {
                        "type": "string",
                        "description": "Device type discriminator for gateway records"
                    },
                    "urlFilteringDenyMsg": {
                        "type": "string",
                        "description": "When a service policy denies a app_category, what message to show in user's browser"
                    },
                    "vars": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Variable values that override site variables for this gateway"
                    },
                    "vrfConfig": {
                        "$ref": "#/types/junipermist:device/GatewayVrfConfig:GatewayVrfConfig",
                        "description": "VRF configuration applied to this gateway"
                    },
                    "vrfInstances": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/GatewayVrfInstances:GatewayVrfInstances"
                        },
                        "description": "VRF instances configured on this gateway"
                    },
                    "x": {
                        "type": "number",
                        "description": "Horizontal map position of the gateway, in pixels"
                    },
                    "y": {
                        "type": "number",
                        "description": "Vertical map position of the gateway, in pixels"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:device/gatewayCluster:GatewayCluster": {
            "description": "This resource can be used to form or delete a Gateway Clusters.\n\nA Gateway Cluster can be formed with two Gateways assigned to the same site. Once the Cluster is formed, it can be configured just like a Gateway with the \u003cspan pulumi-lang-nodejs=\"`junipermist.device.Gateway`\" pulumi-lang-dotnet=\"`junipermist.device.Gateway`\" pulumi-lang-go=\"`device.Gateway`\" pulumi-lang-python=\"`device.Gateway`\" pulumi-lang-yaml=\"`junipermist.device.Gateway`\" pulumi-lang-java=\"`junipermist.device.Gateway`\" pulumi-lang-hcl=\"`mist_device_gateway`\"\u003e`junipermist.device.Gateway`\u003c/span\u003e resource:\n1. Claim the gateways and assign them to the same site with the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Inventory`\" pulumi-lang-dotnet=\"`junipermist.org.Inventory`\" pulumi-lang-go=\"`org.Inventory`\" pulumi-lang-python=\"`org.Inventory`\" pulumi-lang-yaml=\"`junipermist.org.Inventory`\" pulumi-lang-java=\"`junipermist.org.Inventory`\" pulumi-lang-hcl=\"`mist_org_inventory`\"\u003e`junipermist.org.Inventory`\u003c/span\u003e resource\n2. Form the Cluster with the \u003cspan pulumi-lang-nodejs=\"`junipermist.device.GatewayCluster`\" pulumi-lang-dotnet=\"`junipermist.device.GatewayCluster`\" pulumi-lang-go=\"`device.GatewayCluster`\" pulumi-lang-python=\"`device.GatewayCluster`\" pulumi-lang-yaml=\"`junipermist.device.GatewayCluster`\" pulumi-lang-java=\"`junipermist.device.GatewayCluster`\" pulumi-lang-hcl=\"`mist_device_gateway_cluster`\"\u003e`junipermist.device.GatewayCluster`\u003c/span\u003e resource by providing the \u003cspan pulumi-lang-nodejs=\"`siteId`\" pulumi-lang-dotnet=\"`SiteId`\" pulumi-lang-go=\"`siteId`\" pulumi-lang-python=\"`site_id`\" pulumi-lang-yaml=\"`siteId`\" pulumi-lang-java=\"`siteId`\" pulumi-lang-hcl=\"`site_id`\"\u003e`siteId`\u003c/span\u003e and the MAC Addresses of two nodes (the first in the list will be the node0)\n3. Configure the Cluster with the \u003cspan pulumi-lang-nodejs=\"`junipermist.device.Gateway`\" pulumi-lang-dotnet=\"`junipermist.device.Gateway`\" pulumi-lang-go=\"`device.Gateway`\" pulumi-lang-python=\"`device.Gateway`\" pulumi-lang-yaml=\"`junipermist.device.Gateway`\" pulumi-lang-java=\"`junipermist.device.Gateway`\" pulumi-lang-hcl=\"`mist_device_gateway`\"\u003e`junipermist.device.Gateway`\u003c/span\u003e resource\n\nPlease check the [SRX Juniper Documentation](https://www.juniper.net/documentation/us/en/software/mist/mist-wan/topics/topic-map/srx-high-availability-configuration.html)or the [SSR Juniper Documentation](https://www.juniper.net/documentation/us/en/software/mist/mist-wan/topics/topic-map/ssr-high-availability-configuration.html) first to validate the cabling between the Gateways\n\n\u003e Both gateways must belong to the same site when creating the Gateway Cluster\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst clusterOne = new junipermist.device.GatewayCluster(\"cluster_one\", {\n    siteId: terraformSite2.id,\n    nodes: [\n        {\n            mac: \"4c961000000\",\n        },\n        {\n            mac: \"4c961000001\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\ncluster_one = junipermist.device.GatewayCluster(\"cluster_one\",\n    site_id=terraform_site2[\"id\"],\n    nodes=[\n        {\n            \"mac\": \"4c961000000\",\n        },\n        {\n            \"mac\": \"4c961000001\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clusterOne = new JuniperMist.Device.GatewayCluster(\"cluster_one\", new()\n    {\n        SiteId = terraformSite2.Id,\n        Nodes = new[]\n        {\n            new JuniperMist.Device.Inputs.GatewayClusterNodeArgs\n            {\n                Mac = \"4c961000000\",\n            },\n            new JuniperMist.Device.Inputs.GatewayClusterNodeArgs\n            {\n                Mac = \"4c961000001\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/device\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := device.NewGatewayCluster(ctx, \"cluster_one\", \u0026device.GatewayClusterArgs{\n\t\t\tSiteId: pulumi.Any(terraformSite2.Id),\n\t\t\tNodes: device.GatewayClusterNodeArray{\n\t\t\t\t\u0026device.GatewayClusterNodeArgs{\n\t\t\t\t\tMac: pulumi.String(\"4c961000000\"),\n\t\t\t\t},\n\t\t\t\t\u0026device.GatewayClusterNodeArgs{\n\t\t\t\t\tMac: pulumi.String(\"4c961000001\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_device_gatewaycluster\" \"cluster_one\" {\n  site_id = terraformSite2.id\n  nodes {\n    mac = \"4c961000000\"\n  }\n  nodes {\n    mac = \"4c961000001\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.device.GatewayCluster;\nimport com.pulumi.junipermist.device.GatewayClusterArgs;\nimport com.pulumi.junipermist.device.inputs.GatewayClusterNodeArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var clusterOne = new GatewayCluster(\"clusterOne\", GatewayClusterArgs.builder()\n            .siteId(terraformSite2.id())\n            .nodes(            \n                GatewayClusterNodeArgs.builder()\n                    .mac(\"4c961000000\")\n                    .build(),\n                GatewayClusterNodeArgs.builder()\n                    .mac(\"4c961000001\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  clusterOne:\n    type: junipermist:device:GatewayCluster\n    name: cluster_one\n    properties:\n      siteId: ${terraformSite2.id}\n      nodes:\n        - mac: 4c961000000\n        - mac: 4c961000001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.device.GatewayCluster`\" pulumi-lang-dotnet=\"`junipermist.device.GatewayCluster`\" pulumi-lang-go=\"`device.GatewayCluster`\" pulumi-lang-python=\"`device.GatewayCluster`\" pulumi-lang-yaml=\"`junipermist.device.GatewayCluster`\" pulumi-lang-java=\"`junipermist.device.GatewayCluster`\" pulumi-lang-hcl=\"`mist_device_gateway_cluster`\"\u003e`junipermist.device.GatewayCluster`\u003c/span\u003e with:\nGateway cluster can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" clusterId\n\" pulumi-lang-dotnet=\" ClusterId\n\" pulumi-lang-go=\" clusterId\n\" pulumi-lang-python=\" cluster_id\n\" pulumi-lang-yaml=\" clusterId\n\" pulumi-lang-java=\" clusterId\n\" pulumi-lang-hcl=\" cluster_id\n\"\u003e clusterId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:device/gatewayCluster:GatewayCluster cluster_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayClusterNode:GatewayClusterNode"
                    },
                    "description": "Gateway nodes that form the HA cluster\n"
                },
                "siteId": {
                    "type": "string"
                }
            },
            "required": [
                "nodes",
                "siteId"
            ],
            "inputProperties": {
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/GatewayClusterNode:GatewayClusterNode"
                    },
                    "description": "Gateway nodes that form the HA cluster\n"
                },
                "siteId": {
                    "type": "string"
                }
            },
            "requiredInputs": [
                "nodes",
                "siteId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering GatewayCluster resources.\n",
                "properties": {
                    "nodes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:device/GatewayClusterNode:GatewayClusterNode"
                        },
                        "description": "Gateway nodes that form the HA cluster\n"
                    },
                    "siteId": {
                        "type": "string"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:device/image:Image": {
            "description": "This resource is used to upload a Device picture.\n\nThis resource can be used to add a picture to a Wireless Access point, a Switch or a Gateway. A Maximum of 3 pictures can be uploaded.\n\n\u003e There is no validation on the Image currently uploaded to the Mist Cloud. Defining the same image twice (e.g. `image = 1`) for the same device will override the first image any warning or error.\n\n\n",
            "properties": {
                "deviceId": {
                    "type": "string"
                },
                "file": {
                    "type": "string",
                    "description": "path to the device image file to upload. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                },
                "imageNumber": {
                    "type": "integer",
                    "description": "number of the image, between 1 and 3\n"
                },
                "siteId": {
                    "type": "string"
                }
            },
            "required": [
                "deviceId",
                "file",
                "imageNumber",
                "siteId"
            ],
            "inputProperties": {
                "deviceId": {
                    "type": "string"
                },
                "file": {
                    "type": "string",
                    "description": "path to the device image file to upload. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                },
                "imageNumber": {
                    "type": "integer",
                    "description": "number of the image, between 1 and 3\n"
                },
                "siteId": {
                    "type": "string"
                }
            },
            "requiredInputs": [
                "deviceId",
                "file",
                "imageNumber",
                "siteId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Image resources.\n",
                "properties": {
                    "deviceId": {
                        "type": "string"
                    },
                    "file": {
                        "type": "string",
                        "description": "path to the device image file to upload. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                    },
                    "imageNumber": {
                        "type": "integer",
                        "description": "number of the image, between 1 and 3\n"
                    },
                    "siteId": {
                        "type": "string"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:device/switch:Switch": {
            "description": "This resource manages the Switch configuration.\n\nIt can be used to define specific configuration at the device level or to override Org/Site Network template settings.\n\n\u003e **WARNING** For **adopted** devices, make sure to set \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\" pulumi-lang-hcl=\"`managed`\"\u003e`managed`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to allow Mist to manage the switch\n\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.device.Switch`\" pulumi-lang-dotnet=\"`junipermist.device.Switch`\" pulumi-lang-go=\"`device.Switch`\" pulumi-lang-python=\"`device.Switch`\" pulumi-lang-yaml=\"`junipermist.device.Switch`\" pulumi-lang-java=\"`junipermist.device.Switch`\" pulumi-lang-hcl=\"`mist_device_switch`\"\u003e`junipermist.device.Switch`\u003c/span\u003e with:\nSwitch Configuration can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" deviceId\n\" pulumi-lang-dotnet=\" DeviceId\n\" pulumi-lang-go=\" deviceId\n\" pulumi-lang-python=\" device_id\n\" pulumi-lang-yaml=\" deviceId\n\" pulumi-lang-java=\" deviceId\n\" pulumi-lang-hcl=\" device_id\n\"\u003e deviceId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:device/switch:Switch switch_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "aclPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchAclPolicy:SwitchAclPolicy"
                    },
                    "description": "ACL policies applied to traffic handled by this switch"
                },
                "aclTags": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchAclTags:SwitchAclTags"
                    },
                    "description": "ACL tags used by switch access policies"
                },
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands to apply to this switch"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchBgpConfig:SwitchBgpConfig"
                    },
                    "description": "BGP routing configuration for this switch. Property key is the BGP session name"
                },
                "defaultPortUsage": {
                    "type": "string",
                    "description": "Port usage to assign to switch ports without any port usage assigned. Default: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e to preserve default behavior"
                },
                "deviceId": {
                    "type": "string"
                },
                "dhcpSnooping": {
                    "$ref": "#/types/junipermist:device/SwitchDhcpSnooping:SwitchDhcpSnooping",
                    "description": "DHCP snooping configuration for this switch"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:device/SwitchDhcpdConfig:SwitchDhcpdConfig",
                    "description": "DHCP server configuration served by this switch"
                },
                "disableAutoConfig": {
                    "type": "boolean",
                    "description": "This disables the default behavior of a cloud-ready switch/gateway being managed/configured by Mist. Setting this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means you want to disable the default behavior and do not want the device to be Mist-managed.",
                    "deprecationMessage": "This attribute is being deprecated, please use \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e instead"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers configured for this switch"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes configured for this switch"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchExtraRoutes:SwitchExtraRoutes"
                    },
                    "description": "Additional IPv4 routes configured on this switch"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchExtraRoutes6:SwitchExtraRoutes6"
                    },
                    "description": "Additional IPv6 routes configured on this switch"
                },
                "image1Url": {
                    "type": "string",
                    "description": "First custom image URL associated with the switch"
                },
                "image2Url": {
                    "type": "string",
                    "description": "Second custom image URL associated with the switch"
                },
                "image3Url": {
                    "type": "string",
                    "description": "Third custom image URL associated with the switch"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:device/SwitchIpConfig:SwitchIpConfig",
                    "description": "Management IP addressing settings for this switch"
                },
                "localPortConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchLocalPortConfig:SwitchLocalPortConfig"
                    },
                    "description": "Local port configuration settings for this switch"
                },
                "mac": {
                    "type": "string",
                    "description": "Switch MAC address used to identify the device"
                },
                "managed": {
                    "type": "boolean",
                    "description": "An adopted switch/gateway will not be managed/configured by Mist by default. Setting this parameter to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e enables the adopted switch/gateway to be managed/configured by Mist. Deprecated in favour of mist_configured, which is more intuitive and can be used for both adopted and claimed devices.",
                    "deprecationMessage": "This attribute is being deprecated, please use \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e instead"
                },
                "mapId": {
                    "type": "string",
                    "description": "Map where the device belongs to"
                },
                "mistConfigured": {
                    "type": "boolean",
                    "description": "whether the device can be configured by Mist or not. This deprecates \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\" pulumi-lang-hcl=\"`managed`\"\u003e`managed`\u003c/span\u003e (for adopted device) and \u003cspan pulumi-lang-nodejs=\"`disableAutoConfig`\" pulumi-lang-dotnet=\"`DisableAutoConfig`\" pulumi-lang-go=\"`disableAutoConfig`\" pulumi-lang-python=\"`disable_auto_config`\" pulumi-lang-yaml=\"`disableAutoConfig`\" pulumi-lang-java=\"`disableAutoConfig`\" pulumi-lang-hcl=\"`disable_auto_config`\"\u003e`disableAutoConfig`\u003c/span\u003e for claimed device)"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:device/SwitchMistNac:SwitchMistNac",
                    "description": "Mist NAC settings applied to this switch"
                },
                "model": {
                    "type": "string",
                    "description": "Switch model reported for the device"
                },
                "name": {
                    "type": "string",
                    "description": "Friendly display name assigned to the switch"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchNetworks:SwitchNetworks"
                    },
                    "description": "Layer 3 networks configured for use by this switch"
                },
                "notes": {
                    "type": "string",
                    "description": "Free-form administrative notes for this switch"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers used by this switch"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:device/SwitchOobIpConfig:SwitchOobIpConfig",
                    "description": "Out-of-band management IP configuration for this switch"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this switch"
                },
                "ospfAreas": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchOspfAreas:SwitchOspfAreas"
                    },
                    "description": "OSPF area configuration for this switch"
                },
                "ospfConfig": {
                    "$ref": "#/types/junipermist:device/SwitchOspfConfig:SwitchOspfConfig",
                    "description": "OSPF routing configuration for this switch"
                },
                "otherIpConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchOtherIpConfigs:SwitchOtherIpConfigs"
                    },
                    "description": "Property key is the network name. Defines the additional IP Addresses configured on the device."
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchPortConfig:SwitchPortConfig"
                    },
                    "description": "Per-port wired configuration for this switch"
                },
                "portConfigOverwrite": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchPortConfigOverwrite:SwitchPortConfigOverwrite"
                    },
                    "description": "Per-port overrides for switch port usage attributes"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchPortMirroring:SwitchPortMirroring"
                    },
                    "description": "Port mirroring configuration for this switch"
                },
                "portUsages": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchPortUsages:SwitchPortUsages"
                    },
                    "description": "Reusable switch port usage profiles available on this switch"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:device/SwitchRadiusConfig:SwitchRadiusConfig",
                    "description": "RADIUS authentication and accounting settings for this switch"
                },
                "remoteSyslog": {
                    "$ref": "#/types/junipermist:device/SwitchRemoteSyslog:SwitchRemoteSyslog",
                    "description": "Remote syslog settings for this switch"
                },
                "role": {
                    "type": "string",
                    "description": "Deployment role label for this switch"
                },
                "routerId": {
                    "type": "string",
                    "description": "Used for OSPF / BGP / EVPN"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchRoutingPolicies:SwitchRoutingPolicies"
                    },
                    "description": "Routing policies applied by this switch"
                },
                "serial": {
                    "type": "string",
                    "description": "Manufacturer serial number for the switch"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this switch is assigned"
                },
                "snmpConfig": {
                    "$ref": "#/types/junipermist:device/SwitchSnmpConfig:SwitchSnmpConfig",
                    "description": "SNMP configuration for this switch"
                },
                "stpConfig": {
                    "$ref": "#/types/junipermist:device/SwitchStpConfig:SwitchStpConfig",
                    "description": "Spanning Tree Protocol configuration for this switch"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:device/SwitchSwitchMgmt:SwitchSwitchMgmt",
                    "description": "Management-plane settings for this switch"
                },
                "type": {
                    "type": "string",
                    "description": "Device type discriminator for switch records"
                },
                "useRouterIdAsSourceIp": {
                    "type": "boolean",
                    "description": "Whether to use it for snmp / syslog / tacplus / radius"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Variable values that override site variables for this switch"
                },
                "virtualChassis": {
                    "$ref": "#/types/junipermist:device/SwitchVirtualChassis:SwitchVirtualChassis",
                    "description": "Virtual Chassis membership and provisioning settings for this switch"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:device/SwitchVrfConfig:SwitchVrfConfig",
                    "description": "VRF configuration applied to this switch"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchVrfInstances:SwitchVrfInstances"
                    },
                    "description": "VRF instances configured on this switch"
                },
                "vrrpConfig": {
                    "$ref": "#/types/junipermist:device/SwitchVrrpConfig:SwitchVrrpConfig",
                    "description": "VRRP configuration applied to this switch"
                },
                "x": {
                    "type": "number",
                    "description": "Horizontal map position of the switch, in pixels"
                },
                "y": {
                    "type": "number",
                    "description": "Vertical map position of the switch, in pixels"
                }
            },
            "required": [
                "defaultPortUsage",
                "deviceId",
                "disableAutoConfig",
                "dnsServers",
                "dnsSuffixes",
                "image1Url",
                "image2Url",
                "image3Url",
                "mac",
                "managed",
                "mistConfigured",
                "model",
                "name",
                "ntpServers",
                "orgId",
                "routerId",
                "serial",
                "siteId",
                "type",
                "useRouterIdAsSourceIp"
            ],
            "inputProperties": {
                "aclPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:device/SwitchAclPolicy:SwitchAclPolicy"
                    },
                    "description": "ACL policies applied to traffic handled by this switch"
                },
                "aclTags": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchAclTags:SwitchAclTags"
                    },
                    "description": "ACL tags used by switch access policies"
                },
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands to apply to this switch"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchBgpConfig:SwitchBgpConfig"
                    },
                    "description": "BGP routing configuration for this switch. Property key is the BGP session name"
                },
                "defaultPortUsage": {
                    "type": "string",
                    "description": "Port usage to assign to switch ports without any port usage assigned. Default: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e to preserve default behavior"
                },
                "deviceId": {
                    "type": "string"
                },
                "dhcpSnooping": {
                    "$ref": "#/types/junipermist:device/SwitchDhcpSnooping:SwitchDhcpSnooping",
                    "description": "DHCP snooping configuration for this switch"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:device/SwitchDhcpdConfig:SwitchDhcpdConfig",
                    "description": "DHCP server configuration served by this switch"
                },
                "disableAutoConfig": {
                    "type": "boolean",
                    "description": "This disables the default behavior of a cloud-ready switch/gateway being managed/configured by Mist. Setting this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means you want to disable the default behavior and do not want the device to be Mist-managed.",
                    "deprecationMessage": "This attribute is being deprecated, please use \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e instead"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers configured for this switch"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes configured for this switch"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchExtraRoutes:SwitchExtraRoutes"
                    },
                    "description": "Additional IPv4 routes configured on this switch"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchExtraRoutes6:SwitchExtraRoutes6"
                    },
                    "description": "Additional IPv6 routes configured on this switch"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:device/SwitchIpConfig:SwitchIpConfig",
                    "description": "Management IP addressing settings for this switch"
                },
                "localPortConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchLocalPortConfig:SwitchLocalPortConfig"
                    },
                    "description": "Local port configuration settings for this switch"
                },
                "managed": {
                    "type": "boolean",
                    "description": "An adopted switch/gateway will not be managed/configured by Mist by default. Setting this parameter to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e enables the adopted switch/gateway to be managed/configured by Mist. Deprecated in favour of mist_configured, which is more intuitive and can be used for both adopted and claimed devices.",
                    "deprecationMessage": "This attribute is being deprecated, please use \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e instead"
                },
                "mapId": {
                    "type": "string",
                    "description": "Map where the device belongs to"
                },
                "mistConfigured": {
                    "type": "boolean",
                    "description": "whether the device can be configured by Mist or not. This deprecates \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\" pulumi-lang-hcl=\"`managed`\"\u003e`managed`\u003c/span\u003e (for adopted device) and \u003cspan pulumi-lang-nodejs=\"`disableAutoConfig`\" pulumi-lang-dotnet=\"`DisableAutoConfig`\" pulumi-lang-go=\"`disableAutoConfig`\" pulumi-lang-python=\"`disable_auto_config`\" pulumi-lang-yaml=\"`disableAutoConfig`\" pulumi-lang-java=\"`disableAutoConfig`\" pulumi-lang-hcl=\"`disable_auto_config`\"\u003e`disableAutoConfig`\u003c/span\u003e for claimed device)"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:device/SwitchMistNac:SwitchMistNac",
                    "description": "Mist NAC settings applied to this switch"
                },
                "name": {
                    "type": "string",
                    "description": "Friendly display name assigned to the switch"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchNetworks:SwitchNetworks"
                    },
                    "description": "Layer 3 networks configured for use by this switch"
                },
                "notes": {
                    "type": "string",
                    "description": "Free-form administrative notes for this switch"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers used by this switch"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:device/SwitchOobIpConfig:SwitchOobIpConfig",
                    "description": "Out-of-band management IP configuration for this switch"
                },
                "ospfAreas": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchOspfAreas:SwitchOspfAreas"
                    },
                    "description": "OSPF area configuration for this switch"
                },
                "ospfConfig": {
                    "$ref": "#/types/junipermist:device/SwitchOspfConfig:SwitchOspfConfig",
                    "description": "OSPF routing configuration for this switch"
                },
                "otherIpConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchOtherIpConfigs:SwitchOtherIpConfigs"
                    },
                    "description": "Property key is the network name. Defines the additional IP Addresses configured on the device."
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchPortConfig:SwitchPortConfig"
                    },
                    "description": "Per-port wired configuration for this switch"
                },
                "portConfigOverwrite": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchPortConfigOverwrite:SwitchPortConfigOverwrite"
                    },
                    "description": "Per-port overrides for switch port usage attributes"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchPortMirroring:SwitchPortMirroring"
                    },
                    "description": "Port mirroring configuration for this switch"
                },
                "portUsages": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchPortUsages:SwitchPortUsages"
                    },
                    "description": "Reusable switch port usage profiles available on this switch"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:device/SwitchRadiusConfig:SwitchRadiusConfig",
                    "description": "RADIUS authentication and accounting settings for this switch"
                },
                "remoteSyslog": {
                    "$ref": "#/types/junipermist:device/SwitchRemoteSyslog:SwitchRemoteSyslog",
                    "description": "Remote syslog settings for this switch"
                },
                "role": {
                    "type": "string",
                    "description": "Deployment role label for this switch"
                },
                "routerId": {
                    "type": "string",
                    "description": "Used for OSPF / BGP / EVPN"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchRoutingPolicies:SwitchRoutingPolicies"
                    },
                    "description": "Routing policies applied by this switch"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this switch is assigned"
                },
                "snmpConfig": {
                    "$ref": "#/types/junipermist:device/SwitchSnmpConfig:SwitchSnmpConfig",
                    "description": "SNMP configuration for this switch"
                },
                "stpConfig": {
                    "$ref": "#/types/junipermist:device/SwitchStpConfig:SwitchStpConfig",
                    "description": "Spanning Tree Protocol configuration for this switch"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:device/SwitchSwitchMgmt:SwitchSwitchMgmt",
                    "description": "Management-plane settings for this switch"
                },
                "useRouterIdAsSourceIp": {
                    "type": "boolean",
                    "description": "Whether to use it for snmp / syslog / tacplus / radius"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Variable values that override site variables for this switch"
                },
                "virtualChassis": {
                    "$ref": "#/types/junipermist:device/SwitchVirtualChassis:SwitchVirtualChassis",
                    "description": "Virtual Chassis membership and provisioning settings for this switch"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:device/SwitchVrfConfig:SwitchVrfConfig",
                    "description": "VRF configuration applied to this switch"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:device/SwitchVrfInstances:SwitchVrfInstances"
                    },
                    "description": "VRF instances configured on this switch"
                },
                "vrrpConfig": {
                    "$ref": "#/types/junipermist:device/SwitchVrrpConfig:SwitchVrrpConfig",
                    "description": "VRRP configuration applied to this switch"
                },
                "x": {
                    "type": "number",
                    "description": "Horizontal map position of the switch, in pixels"
                },
                "y": {
                    "type": "number",
                    "description": "Vertical map position of the switch, in pixels"
                }
            },
            "requiredInputs": [
                "deviceId",
                "siteId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Switch resources.\n",
                "properties": {
                    "aclPolicies": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:device/SwitchAclPolicy:SwitchAclPolicy"
                        },
                        "description": "ACL policies applied to traffic handled by this switch"
                    },
                    "aclTags": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchAclTags:SwitchAclTags"
                        },
                        "description": "ACL tags used by switch access policies"
                    },
                    "additionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Additional CLI configuration commands to apply to this switch"
                    },
                    "bgpConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchBgpConfig:SwitchBgpConfig"
                        },
                        "description": "BGP routing configuration for this switch. Property key is the BGP session name"
                    },
                    "defaultPortUsage": {
                        "type": "string",
                        "description": "Port usage to assign to switch ports without any port usage assigned. Default: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e to preserve default behavior"
                    },
                    "deviceId": {
                        "type": "string"
                    },
                    "dhcpSnooping": {
                        "$ref": "#/types/junipermist:device/SwitchDhcpSnooping:SwitchDhcpSnooping",
                        "description": "DHCP snooping configuration for this switch"
                    },
                    "dhcpdConfig": {
                        "$ref": "#/types/junipermist:device/SwitchDhcpdConfig:SwitchDhcpdConfig",
                        "description": "DHCP server configuration served by this switch"
                    },
                    "disableAutoConfig": {
                        "type": "boolean",
                        "description": "This disables the default behavior of a cloud-ready switch/gateway being managed/configured by Mist. Setting this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means you want to disable the default behavior and do not want the device to be Mist-managed.",
                        "deprecationMessage": "This attribute is being deprecated, please use \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e instead"
                    },
                    "dnsServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS servers configured for this switch"
                    },
                    "dnsSuffixes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS search suffixes configured for this switch"
                    },
                    "extraRoutes": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchExtraRoutes:SwitchExtraRoutes"
                        },
                        "description": "Additional IPv4 routes configured on this switch"
                    },
                    "extraRoutes6": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchExtraRoutes6:SwitchExtraRoutes6"
                        },
                        "description": "Additional IPv6 routes configured on this switch"
                    },
                    "image1Url": {
                        "type": "string",
                        "description": "First custom image URL associated with the switch"
                    },
                    "image2Url": {
                        "type": "string",
                        "description": "Second custom image URL associated with the switch"
                    },
                    "image3Url": {
                        "type": "string",
                        "description": "Third custom image URL associated with the switch"
                    },
                    "ipConfig": {
                        "$ref": "#/types/junipermist:device/SwitchIpConfig:SwitchIpConfig",
                        "description": "Management IP addressing settings for this switch"
                    },
                    "localPortConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchLocalPortConfig:SwitchLocalPortConfig"
                        },
                        "description": "Local port configuration settings for this switch"
                    },
                    "mac": {
                        "type": "string",
                        "description": "Switch MAC address used to identify the device"
                    },
                    "managed": {
                        "type": "boolean",
                        "description": "An adopted switch/gateway will not be managed/configured by Mist by default. Setting this parameter to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e enables the adopted switch/gateway to be managed/configured by Mist. Deprecated in favour of mist_configured, which is more intuitive and can be used for both adopted and claimed devices.",
                        "deprecationMessage": "This attribute is being deprecated, please use \u003cspan pulumi-lang-nodejs=\"`mistConfigured`\" pulumi-lang-dotnet=\"`MistConfigured`\" pulumi-lang-go=\"`mistConfigured`\" pulumi-lang-python=\"`mist_configured`\" pulumi-lang-yaml=\"`mistConfigured`\" pulumi-lang-java=\"`mistConfigured`\" pulumi-lang-hcl=\"`mist_configured`\"\u003e`mistConfigured`\u003c/span\u003e instead"
                    },
                    "mapId": {
                        "type": "string",
                        "description": "Map where the device belongs to"
                    },
                    "mistConfigured": {
                        "type": "boolean",
                        "description": "whether the device can be configured by Mist or not. This deprecates \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\" pulumi-lang-hcl=\"`managed`\"\u003e`managed`\u003c/span\u003e (for adopted device) and \u003cspan pulumi-lang-nodejs=\"`disableAutoConfig`\" pulumi-lang-dotnet=\"`DisableAutoConfig`\" pulumi-lang-go=\"`disableAutoConfig`\" pulumi-lang-python=\"`disable_auto_config`\" pulumi-lang-yaml=\"`disableAutoConfig`\" pulumi-lang-java=\"`disableAutoConfig`\" pulumi-lang-hcl=\"`disable_auto_config`\"\u003e`disableAutoConfig`\u003c/span\u003e for claimed device)"
                    },
                    "mistNac": {
                        "$ref": "#/types/junipermist:device/SwitchMistNac:SwitchMistNac",
                        "description": "Mist NAC settings applied to this switch"
                    },
                    "model": {
                        "type": "string",
                        "description": "Switch model reported for the device"
                    },
                    "name": {
                        "type": "string",
                        "description": "Friendly display name assigned to the switch"
                    },
                    "networks": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchNetworks:SwitchNetworks"
                        },
                        "description": "Layer 3 networks configured for use by this switch"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Free-form administrative notes for this switch"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "NTP servers used by this switch"
                    },
                    "oobIpConfig": {
                        "$ref": "#/types/junipermist:device/SwitchOobIpConfig:SwitchOobIpConfig",
                        "description": "Out-of-band management IP configuration for this switch"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this switch"
                    },
                    "ospfAreas": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchOspfAreas:SwitchOspfAreas"
                        },
                        "description": "OSPF area configuration for this switch"
                    },
                    "ospfConfig": {
                        "$ref": "#/types/junipermist:device/SwitchOspfConfig:SwitchOspfConfig",
                        "description": "OSPF routing configuration for this switch"
                    },
                    "otherIpConfigs": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchOtherIpConfigs:SwitchOtherIpConfigs"
                        },
                        "description": "Property key is the network name. Defines the additional IP Addresses configured on the device."
                    },
                    "portConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchPortConfig:SwitchPortConfig"
                        },
                        "description": "Per-port wired configuration for this switch"
                    },
                    "portConfigOverwrite": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchPortConfigOverwrite:SwitchPortConfigOverwrite"
                        },
                        "description": "Per-port overrides for switch port usage attributes"
                    },
                    "portMirroring": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchPortMirroring:SwitchPortMirroring"
                        },
                        "description": "Port mirroring configuration for this switch"
                    },
                    "portUsages": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchPortUsages:SwitchPortUsages"
                        },
                        "description": "Reusable switch port usage profiles available on this switch"
                    },
                    "radiusConfig": {
                        "$ref": "#/types/junipermist:device/SwitchRadiusConfig:SwitchRadiusConfig",
                        "description": "RADIUS authentication and accounting settings for this switch"
                    },
                    "remoteSyslog": {
                        "$ref": "#/types/junipermist:device/SwitchRemoteSyslog:SwitchRemoteSyslog",
                        "description": "Remote syslog settings for this switch"
                    },
                    "role": {
                        "type": "string",
                        "description": "Deployment role label for this switch"
                    },
                    "routerId": {
                        "type": "string",
                        "description": "Used for OSPF / BGP / EVPN"
                    },
                    "routingPolicies": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchRoutingPolicies:SwitchRoutingPolicies"
                        },
                        "description": "Routing policies applied by this switch"
                    },
                    "serial": {
                        "type": "string",
                        "description": "Manufacturer serial number for the switch"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Site where this switch is assigned"
                    },
                    "snmpConfig": {
                        "$ref": "#/types/junipermist:device/SwitchSnmpConfig:SwitchSnmpConfig",
                        "description": "SNMP configuration for this switch"
                    },
                    "stpConfig": {
                        "$ref": "#/types/junipermist:device/SwitchStpConfig:SwitchStpConfig",
                        "description": "Spanning Tree Protocol configuration for this switch"
                    },
                    "switchMgmt": {
                        "$ref": "#/types/junipermist:device/SwitchSwitchMgmt:SwitchSwitchMgmt",
                        "description": "Management-plane settings for this switch"
                    },
                    "type": {
                        "type": "string",
                        "description": "Device type discriminator for switch records"
                    },
                    "useRouterIdAsSourceIp": {
                        "type": "boolean",
                        "description": "Whether to use it for snmp / syslog / tacplus / radius"
                    },
                    "vars": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Variable values that override site variables for this switch"
                    },
                    "virtualChassis": {
                        "$ref": "#/types/junipermist:device/SwitchVirtualChassis:SwitchVirtualChassis",
                        "description": "Virtual Chassis membership and provisioning settings for this switch"
                    },
                    "vrfConfig": {
                        "$ref": "#/types/junipermist:device/SwitchVrfConfig:SwitchVrfConfig",
                        "description": "VRF configuration applied to this switch"
                    },
                    "vrfInstances": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:device/SwitchVrfInstances:SwitchVrfInstances"
                        },
                        "description": "VRF instances configured on this switch"
                    },
                    "vrrpConfig": {
                        "$ref": "#/types/junipermist:device/SwitchVrrpConfig:SwitchVrrpConfig",
                        "description": "VRRP configuration applied to this switch"
                    },
                    "x": {
                        "type": "number",
                        "description": "Horizontal map position of the switch, in pixels"
                    },
                    "y": {
                        "type": "number",
                        "description": "Vertical map position of the switch, in pixels"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:index/upgradeDevice:UpgradeDevice": {
            "description": "This resource can be used to upgrade the firmware of a single device (Wi-Fi Access Points, Switches and SRX/SSR Gateways).\n\nThe resource will send the upgrade command to Mist, which will take care of deploying the new firmware version to the device, and reboot it if required.\n\nThe time required to upgrade a device depends on the type of device and its hardware. By default, the resource will track the upgrade process and only return the result once the device is upgraded and rebooted (unless \u003cspan pulumi-lang-nodejs=\"`reboot`\" pulumi-lang-dotnet=\"`Reboot`\" pulumi-lang-go=\"`reboot`\" pulumi-lang-python=\"`reboot`\" pulumi-lang-yaml=\"`reboot`\" pulumi-lang-java=\"`reboot`\" pulumi-lang-hcl=\"`reboot`\"\u003e`reboot`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`rebootAt`\" pulumi-lang-dotnet=\"`RebootAt`\" pulumi-lang-go=\"`rebootAt`\" pulumi-lang-python=\"`reboot_at`\" pulumi-lang-yaml=\"`rebootAt`\" pulumi-lang-java=\"`rebootAt`\" pulumi-lang-hcl=\"`reboot_at`\"\u003e`rebootAt`\u003c/span\u003e is set).  \nIf required it is possible to run the upgrade in async mode (attribute \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\" pulumi-lang-hcl=\"`sync`\"\u003e`sync`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e). In this case, the resource will only trigger the upgrade and return the Mist response, but will not track the upgrade progress.\n\nThe list of available firmware versions can be retrieved with the \u003cspan pulumi-lang-nodejs=\"`junipermist.device.getVersions`\" pulumi-lang-dotnet=\"`junipermist.device.getVersions`\" pulumi-lang-go=\"`device.getVersions`\" pulumi-lang-python=\"`device_get_versions`\" pulumi-lang-yaml=\"`junipermist.device.getVersions`\" pulumi-lang-java=\"`junipermist.device.getVersions`\" pulumi-lang-hcl=\"`data.mist_device_versions`\"\u003e`junipermist.device.getVersions`\u003c/span\u003e data source.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst apUpgrade = new junipermist.UpgradeDevice(\"ap_upgrade\", {\n    siteId: terraformTest.id,\n    deviceId: apOne.id,\n    targetVersion: \"0.14.29543\",\n});\nconst switchUpgrade = new junipermist.UpgradeDevice(\"switch_upgrade\", {\n    siteId: terraformTest.id,\n    deviceId: switchOne.id,\n    targetVersion: \"24.2R1-S1.10\",\n    reboot: true,\n    syncUpgradeTimeout: 3600,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nap_upgrade = junipermist.UpgradeDevice(\"ap_upgrade\",\n    site_id=terraform_test[\"id\"],\n    device_id=ap_one[\"id\"],\n    target_version=\"0.14.29543\")\nswitch_upgrade = junipermist.UpgradeDevice(\"switch_upgrade\",\n    site_id=terraform_test[\"id\"],\n    device_id=switch_one[\"id\"],\n    target_version=\"24.2R1-S1.10\",\n    reboot=True,\n    sync_upgrade_timeout=3600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var apUpgrade = new JuniperMist.UpgradeDevice(\"ap_upgrade\", new()\n    {\n        SiteId = terraformTest.Id,\n        DeviceId = apOne.Id,\n        TargetVersion = \"0.14.29543\",\n    });\n\n    var switchUpgrade = new JuniperMist.UpgradeDevice(\"switch_upgrade\", new()\n    {\n        SiteId = terraformTest.Id,\n        DeviceId = switchOne.Id,\n        TargetVersion = \"24.2R1-S1.10\",\n        Reboot = true,\n        SyncUpgradeTimeout = 3600,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.NewUpgradeDevice(ctx, \"ap_upgrade\", \u0026junipermist.UpgradeDeviceArgs{\n\t\t\tSiteId:        pulumi.Any(terraformTest.Id),\n\t\t\tDeviceId:      pulumi.Any(apOne.Id),\n\t\t\tTargetVersion: pulumi.String(\"0.14.29543\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = junipermist.NewUpgradeDevice(ctx, \"switch_upgrade\", \u0026junipermist.UpgradeDeviceArgs{\n\t\t\tSiteId:             pulumi.Any(terraformTest.Id),\n\t\t\tDeviceId:           pulumi.Any(switchOne.Id),\n\t\t\tTargetVersion:      pulumi.String(\"24.2R1-S1.10\"),\n\t\t\tReboot:             pulumi.Bool(true),\n\t\t\tSyncUpgradeTimeout: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_upgradedevice\" \"ap_upgrade\" {\n  site_id        = terraformTest.id\n  device_id      = apOne.id\n  target_version = \"0.14.29543\"\n}\nresource \"junipermist_upgradedevice\" \"switch_upgrade\" {\n  site_id              = terraformTest.id\n  device_id            = switchOne.id\n  target_version       = \"24.2R1-S1.10\"\n  reboot               = true\n  sync_upgrade_timeout = 3600\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.UpgradeDevice;\nimport com.pulumi.junipermist.UpgradeDeviceArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var apUpgrade = new UpgradeDevice(\"apUpgrade\", UpgradeDeviceArgs.builder()\n            .siteId(terraformTest.id())\n            .deviceId(apOne.id())\n            .targetVersion(\"0.14.29543\")\n            .build());\n\n        var switchUpgrade = new UpgradeDevice(\"switchUpgrade\", UpgradeDeviceArgs.builder()\n            .siteId(terraformTest.id())\n            .deviceId(switchOne.id())\n            .targetVersion(\"24.2R1-S1.10\")\n            .reboot(true)\n            .syncUpgradeTimeout(3600)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  apUpgrade:\n    type: junipermist:UpgradeDevice\n    name: ap_upgrade\n    properties:\n      siteId: ${terraformTest.id}\n      deviceId: ${apOne.id}\n      targetVersion: 0.14.29543\n  switchUpgrade:\n    type: junipermist:UpgradeDevice\n    name: switch_upgrade\n    properties:\n      siteId: ${terraformTest.id}\n      deviceId: ${switchOne.id}\n      targetVersion: 24.2R1-S1.10\n      reboot: true\n      syncUpgradeTimeout: 3600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "autoUpgradeStat": {
                    "$ref": "#/types/junipermist:index/UpgradeDeviceAutoUpgradeStat:UpgradeDeviceAutoUpgradeStat",
                    "description": "Automatic firmware upgrade status for the switch\n"
                },
                "configTimestamp": {
                    "type": "integer",
                    "description": "Time when the switch configuration status was last updated, in epoch seconds\n"
                },
                "configVersion": {
                    "type": "integer",
                    "description": "Currently applied configuration version for the switch\n"
                },
                "deviceId": {
                    "type": "string"
                },
                "deviceVersion": {
                    "type": "string",
                    "description": "current device firmware version\n"
                },
                "extIp": {
                    "type": "string",
                    "description": "Public IP address observed for the switch\n"
                },
                "fwupdate": {
                    "$ref": "#/types/junipermist:index/UpgradeDeviceFwupdate:UpgradeDeviceFwupdate",
                    "description": "Firmware update status for the switch\n"
                },
                "reboot": {
                    "type": "boolean",
                    "description": "For Switches and Gateways only (APs are automatically rebooted). Reboot device immediately after upgrade is completed\n"
                },
                "rebootAt": {
                    "type": "integer",
                    "description": "For Switches and Gateways only and if \u003cspan pulumi-lang-nodejs=\"`reboot`\" pulumi-lang-dotnet=\"`Reboot`\" pulumi-lang-go=\"`reboot`\" pulumi-lang-python=\"`reboot`\" pulumi-lang-yaml=\"`reboot`\" pulumi-lang-java=\"`reboot`\" pulumi-lang-hcl=\"`reboot`\"\u003e`reboot`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Reboot start time in epoch seconds, default is \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\" pulumi-lang-hcl=\"`start_time`\"\u003e`startTime`\u003c/span\u003e\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Associated site identifier for the switch statistics record\n"
                },
                "snapshot": {
                    "type": "boolean",
                    "description": "For Junos devices only. Perform recovery snapshot after device is rebooted\n"
                },
                "startTime": {
                    "type": "integer",
                    "description": "Firmware download start time in epoch\n"
                },
                "status": {
                    "type": "string",
                    "description": "Current status of the requested device upgrade\n"
                },
                "syncUpgrade": {
                    "type": "boolean",
                    "description": "if set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the provider will just trigger the upgrade and not wait for the end of the upgrade process. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "syncUpgradeRefreshInterval": {
                    "type": "integer",
                    "description": "if set to \u003cspan pulumi-lang-nodejs=\"`syncUpgrade`\" pulumi-lang-dotnet=\"`SyncUpgrade`\" pulumi-lang-go=\"`syncUpgrade`\" pulumi-lang-python=\"`sync_upgrade`\" pulumi-lang-yaml=\"`syncUpgrade`\" pulumi-lang-java=\"`syncUpgrade`\" pulumi-lang-hcl=\"`sync_upgrade`\"\u003e`syncUpgrade`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, how long to wait between each refresh of the upgrade status, in seconds. Default is 30, minimum is 15\n"
                },
                "syncUpgradeStartTimeout": {
                    "type": "integer",
                    "description": "if set to \u003cspan pulumi-lang-nodejs=\"`syncUpgrade`\" pulumi-lang-dotnet=\"`SyncUpgrade`\" pulumi-lang-go=\"`syncUpgrade`\" pulumi-lang-python=\"`sync_upgrade`\" pulumi-lang-yaml=\"`syncUpgrade`\" pulumi-lang-java=\"`syncUpgrade`\" pulumi-lang-hcl=\"`sync_upgrade`\"\u003e`syncUpgrade`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, how long to wait for the upgrade to start before raising an error, in seconds. Default is 60, minimum is 60\n"
                },
                "syncUpgradeTimeout": {
                    "type": "integer",
                    "description": "if set to \u003cspan pulumi-lang-nodejs=\"`syncUpgrade`\" pulumi-lang-dotnet=\"`SyncUpgrade`\" pulumi-lang-go=\"`syncUpgrade`\" pulumi-lang-python=\"`sync_upgrade`\" pulumi-lang-yaml=\"`syncUpgrade`\" pulumi-lang-java=\"`syncUpgrade`\" pulumi-lang-hcl=\"`sync_upgrade`\"\u003e`syncUpgrade`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, how long to wait for the upgrade to end before raising an error, in seconds. Default is 1800\n"
                },
                "tagId": {
                    "type": "integer",
                    "description": "Numeric inventory tag identifier associated with the switch\n"
                },
                "tagUuid": {
                    "type": "string",
                    "description": "Inventory tag UUID associated with the switch\n"
                },
                "targetVersion": {
                    "type": "string",
                    "description": "firmware version to deploy to the device. Use the \u003cspan pulumi-lang-nodejs=\"`junipermist.device.getVersions`\" pulumi-lang-dotnet=\"`junipermist.device.getVersions`\" pulumi-lang-go=\"`device.getVersions`\" pulumi-lang-python=\"`device_get_versions`\" pulumi-lang-yaml=\"`junipermist.device.getVersions`\" pulumi-lang-java=\"`junipermist.device.getVersions`\" pulumi-lang-hcl=\"`data.mist_device_versions`\"\u003e`junipermist.device.getVersions`\u003c/span\u003e datasource to get the list of available firmware versions\n"
                },
                "timestamp": {
                    "type": "number",
                    "description": "Epoch timestamp when the device upgrade status was reported\n"
                }
            },
            "required": [
                "autoUpgradeStat",
                "configTimestamp",
                "configVersion",
                "deviceId",
                "deviceVersion",
                "extIp",
                "fwupdate",
                "reboot",
                "siteId",
                "snapshot",
                "status",
                "syncUpgrade",
                "syncUpgradeRefreshInterval",
                "syncUpgradeStartTimeout",
                "syncUpgradeTimeout",
                "tagId",
                "tagUuid",
                "targetVersion",
                "timestamp"
            ],
            "inputProperties": {
                "deviceId": {
                    "type": "string"
                },
                "reboot": {
                    "type": "boolean",
                    "description": "For Switches and Gateways only (APs are automatically rebooted). Reboot device immediately after upgrade is completed\n"
                },
                "rebootAt": {
                    "type": "integer",
                    "description": "For Switches and Gateways only and if \u003cspan pulumi-lang-nodejs=\"`reboot`\" pulumi-lang-dotnet=\"`Reboot`\" pulumi-lang-go=\"`reboot`\" pulumi-lang-python=\"`reboot`\" pulumi-lang-yaml=\"`reboot`\" pulumi-lang-java=\"`reboot`\" pulumi-lang-hcl=\"`reboot`\"\u003e`reboot`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Reboot start time in epoch seconds, default is \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\" pulumi-lang-hcl=\"`start_time`\"\u003e`startTime`\u003c/span\u003e\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Associated site identifier for the switch statistics record\n"
                },
                "snapshot": {
                    "type": "boolean",
                    "description": "For Junos devices only. Perform recovery snapshot after device is rebooted\n"
                },
                "startTime": {
                    "type": "integer",
                    "description": "Firmware download start time in epoch\n"
                },
                "syncUpgrade": {
                    "type": "boolean",
                    "description": "if set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the provider will just trigger the upgrade and not wait for the end of the upgrade process. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "syncUpgradeRefreshInterval": {
                    "type": "integer",
                    "description": "if set to \u003cspan pulumi-lang-nodejs=\"`syncUpgrade`\" pulumi-lang-dotnet=\"`SyncUpgrade`\" pulumi-lang-go=\"`syncUpgrade`\" pulumi-lang-python=\"`sync_upgrade`\" pulumi-lang-yaml=\"`syncUpgrade`\" pulumi-lang-java=\"`syncUpgrade`\" pulumi-lang-hcl=\"`sync_upgrade`\"\u003e`syncUpgrade`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, how long to wait between each refresh of the upgrade status, in seconds. Default is 30, minimum is 15\n"
                },
                "syncUpgradeStartTimeout": {
                    "type": "integer",
                    "description": "if set to \u003cspan pulumi-lang-nodejs=\"`syncUpgrade`\" pulumi-lang-dotnet=\"`SyncUpgrade`\" pulumi-lang-go=\"`syncUpgrade`\" pulumi-lang-python=\"`sync_upgrade`\" pulumi-lang-yaml=\"`syncUpgrade`\" pulumi-lang-java=\"`syncUpgrade`\" pulumi-lang-hcl=\"`sync_upgrade`\"\u003e`syncUpgrade`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, how long to wait for the upgrade to start before raising an error, in seconds. Default is 60, minimum is 60\n"
                },
                "syncUpgradeTimeout": {
                    "type": "integer",
                    "description": "if set to \u003cspan pulumi-lang-nodejs=\"`syncUpgrade`\" pulumi-lang-dotnet=\"`SyncUpgrade`\" pulumi-lang-go=\"`syncUpgrade`\" pulumi-lang-python=\"`sync_upgrade`\" pulumi-lang-yaml=\"`syncUpgrade`\" pulumi-lang-java=\"`syncUpgrade`\" pulumi-lang-hcl=\"`sync_upgrade`\"\u003e`syncUpgrade`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, how long to wait for the upgrade to end before raising an error, in seconds. Default is 1800\n"
                },
                "targetVersion": {
                    "type": "string",
                    "description": "firmware version to deploy to the device. Use the \u003cspan pulumi-lang-nodejs=\"`junipermist.device.getVersions`\" pulumi-lang-dotnet=\"`junipermist.device.getVersions`\" pulumi-lang-go=\"`device.getVersions`\" pulumi-lang-python=\"`device_get_versions`\" pulumi-lang-yaml=\"`junipermist.device.getVersions`\" pulumi-lang-java=\"`junipermist.device.getVersions`\" pulumi-lang-hcl=\"`data.mist_device_versions`\"\u003e`junipermist.device.getVersions`\u003c/span\u003e datasource to get the list of available firmware versions\n"
                }
            },
            "requiredInputs": [
                "deviceId",
                "siteId",
                "targetVersion"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering UpgradeDevice resources.\n",
                "properties": {
                    "autoUpgradeStat": {
                        "$ref": "#/types/junipermist:index/UpgradeDeviceAutoUpgradeStat:UpgradeDeviceAutoUpgradeStat",
                        "description": "Automatic firmware upgrade status for the switch\n"
                    },
                    "configTimestamp": {
                        "type": "integer",
                        "description": "Time when the switch configuration status was last updated, in epoch seconds\n"
                    },
                    "configVersion": {
                        "type": "integer",
                        "description": "Currently applied configuration version for the switch\n"
                    },
                    "deviceId": {
                        "type": "string"
                    },
                    "deviceVersion": {
                        "type": "string",
                        "description": "current device firmware version\n"
                    },
                    "extIp": {
                        "type": "string",
                        "description": "Public IP address observed for the switch\n"
                    },
                    "fwupdate": {
                        "$ref": "#/types/junipermist:index/UpgradeDeviceFwupdate:UpgradeDeviceFwupdate",
                        "description": "Firmware update status for the switch\n"
                    },
                    "reboot": {
                        "type": "boolean",
                        "description": "For Switches and Gateways only (APs are automatically rebooted). Reboot device immediately after upgrade is completed\n"
                    },
                    "rebootAt": {
                        "type": "integer",
                        "description": "For Switches and Gateways only and if \u003cspan pulumi-lang-nodejs=\"`reboot`\" pulumi-lang-dotnet=\"`Reboot`\" pulumi-lang-go=\"`reboot`\" pulumi-lang-python=\"`reboot`\" pulumi-lang-yaml=\"`reboot`\" pulumi-lang-java=\"`reboot`\" pulumi-lang-hcl=\"`reboot`\"\u003e`reboot`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Reboot start time in epoch seconds, default is \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\" pulumi-lang-hcl=\"`start_time`\"\u003e`startTime`\u003c/span\u003e\n"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Associated site identifier for the switch statistics record\n"
                    },
                    "snapshot": {
                        "type": "boolean",
                        "description": "For Junos devices only. Perform recovery snapshot after device is rebooted\n"
                    },
                    "startTime": {
                        "type": "integer",
                        "description": "Firmware download start time in epoch\n"
                    },
                    "status": {
                        "type": "string",
                        "description": "Current status of the requested device upgrade\n"
                    },
                    "syncUpgrade": {
                        "type": "boolean",
                        "description": "if set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the provider will just trigger the upgrade and not wait for the end of the upgrade process. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "syncUpgradeRefreshInterval": {
                        "type": "integer",
                        "description": "if set to \u003cspan pulumi-lang-nodejs=\"`syncUpgrade`\" pulumi-lang-dotnet=\"`SyncUpgrade`\" pulumi-lang-go=\"`syncUpgrade`\" pulumi-lang-python=\"`sync_upgrade`\" pulumi-lang-yaml=\"`syncUpgrade`\" pulumi-lang-java=\"`syncUpgrade`\" pulumi-lang-hcl=\"`sync_upgrade`\"\u003e`syncUpgrade`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, how long to wait between each refresh of the upgrade status, in seconds. Default is 30, minimum is 15\n"
                    },
                    "syncUpgradeStartTimeout": {
                        "type": "integer",
                        "description": "if set to \u003cspan pulumi-lang-nodejs=\"`syncUpgrade`\" pulumi-lang-dotnet=\"`SyncUpgrade`\" pulumi-lang-go=\"`syncUpgrade`\" pulumi-lang-python=\"`sync_upgrade`\" pulumi-lang-yaml=\"`syncUpgrade`\" pulumi-lang-java=\"`syncUpgrade`\" pulumi-lang-hcl=\"`sync_upgrade`\"\u003e`syncUpgrade`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, how long to wait for the upgrade to start before raising an error, in seconds. Default is 60, minimum is 60\n"
                    },
                    "syncUpgradeTimeout": {
                        "type": "integer",
                        "description": "if set to \u003cspan pulumi-lang-nodejs=\"`syncUpgrade`\" pulumi-lang-dotnet=\"`SyncUpgrade`\" pulumi-lang-go=\"`syncUpgrade`\" pulumi-lang-python=\"`sync_upgrade`\" pulumi-lang-yaml=\"`syncUpgrade`\" pulumi-lang-java=\"`syncUpgrade`\" pulumi-lang-hcl=\"`sync_upgrade`\"\u003e`syncUpgrade`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, how long to wait for the upgrade to end before raising an error, in seconds. Default is 1800\n"
                    },
                    "tagId": {
                        "type": "integer",
                        "description": "Numeric inventory tag identifier associated with the switch\n"
                    },
                    "tagUuid": {
                        "type": "string",
                        "description": "Inventory tag UUID associated with the switch\n"
                    },
                    "targetVersion": {
                        "type": "string",
                        "description": "firmware version to deploy to the device. Use the \u003cspan pulumi-lang-nodejs=\"`junipermist.device.getVersions`\" pulumi-lang-dotnet=\"`junipermist.device.getVersions`\" pulumi-lang-go=\"`device.getVersions`\" pulumi-lang-python=\"`device_get_versions`\" pulumi-lang-yaml=\"`junipermist.device.getVersions`\" pulumi-lang-java=\"`junipermist.device.getVersions`\" pulumi-lang-hcl=\"`data.mist_device_versions`\"\u003e`junipermist.device.getVersions`\u003c/span\u003e datasource to get the list of available firmware versions\n"
                    },
                    "timestamp": {
                        "type": "number",
                        "description": "Epoch timestamp when the device upgrade status was reported\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/alarmtemplate:Alarmtemplate": {
            "description": "This resource manages Alarm Templates.\n\nAn Alarm Template is a set of Alarm Rules that could be applied to one or more sites (while each site can only pick one Alarm Template), or to the whole org.\n\nOnce created, the Alarm template must be assigned with the \u003cspan pulumi-lang-nodejs=\"`alarmtemplateId`\" pulumi-lang-dotnet=\"`AlarmtemplateId`\" pulumi-lang-go=\"`alarmtemplateId`\" pulumi-lang-python=\"`alarmtemplate_id`\" pulumi-lang-yaml=\"`alarmtemplateId`\" pulumi-lang-java=\"`alarmtemplateId`\" pulumi-lang-hcl=\"`alarmtemplate_id`\"\u003e`alarmtemplateId`\u003c/span\u003e attribute to one of the following:\n* the whole org with the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.base`\" pulumi-lang-dotnet=\"`junipermist.org.base`\" pulumi-lang-go=\"`org.base`\" pulumi-lang-python=\"`org.base`\" pulumi-lang-yaml=\"`junipermist.org.base`\" pulumi-lang-java=\"`junipermist.org.base`\" pulumi-lang-hcl=\"`mist_org`\"\u003e`junipermist.org.base`\u003c/span\u003e resource\n* one or multiple sites with the \u003cspan pulumi-lang-nodejs=\"`junipermist.site.base`\" pulumi-lang-dotnet=\"`junipermist.site.base`\" pulumi-lang-go=\"`site.base`\" pulumi-lang-python=\"`site.base`\" pulumi-lang-yaml=\"`junipermist.site.base`\" pulumi-lang-java=\"`junipermist.site.base`\" pulumi-lang-hcl=\"`mist_site`\"\u003e`junipermist.site.base`\u003c/span\u003e resource\n\nIt is possible to use the \u003cspan pulumi-lang-nodejs=\"`junipermist.getConstAlarms`\" pulumi-lang-dotnet=\"`junipermist.getConstAlarms`\" pulumi-lang-go=\"`getConstAlarms`\" pulumi-lang-python=\"`get_const_alarms`\" pulumi-lang-yaml=\"`junipermist.getConstAlarms`\" pulumi-lang-java=\"`junipermist.getConstAlarms`\" pulumi-lang-hcl=\"`data.mist_const_alarms`\"\u003e`junipermist.getConstAlarms`\u003c/span\u003e data source to get a list of the available alarms\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst alarmtemplateOne = new junipermist.org.Alarmtemplate(\"alarmtemplate_one\", {\n    orgId: terraformTest.id,\n    name: \"alarmtemplate_one\",\n    delivery: {\n        enabled: true,\n        toOrgAdmins: true,\n        additionalEmails: [\"admin@mycorp.net\"],\n    },\n    rules: {\n        health_check_failed: {\n            enabled: true,\n        },\n        insufficient_capacity: {\n            enabled: true,\n        },\n        insufficient_coverage: {\n            enabled: true,\n        },\n        infra_arp_failure: {\n            enabled: true,\n        },\n        arp_failure: {\n            enabled: true,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nalarmtemplate_one = junipermist.org.Alarmtemplate(\"alarmtemplate_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"alarmtemplate_one\",\n    delivery={\n        \"enabled\": True,\n        \"to_org_admins\": True,\n        \"additional_emails\": [\"admin@mycorp.net\"],\n    },\n    rules={\n        \"health_check_failed\": {\n            \"enabled\": True,\n        },\n        \"insufficient_capacity\": {\n            \"enabled\": True,\n        },\n        \"insufficient_coverage\": {\n            \"enabled\": True,\n        },\n        \"infra_arp_failure\": {\n            \"enabled\": True,\n        },\n        \"arp_failure\": {\n            \"enabled\": True,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var alarmtemplateOne = new JuniperMist.Org.Alarmtemplate(\"alarmtemplate_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"alarmtemplate_one\",\n        Delivery = new JuniperMist.Org.Inputs.AlarmtemplateDeliveryArgs\n        {\n            Enabled = true,\n            ToOrgAdmins = true,\n            AdditionalEmails = new[]\n            {\n                \"admin@mycorp.net\",\n            },\n        },\n        Rules = \n        {\n            { \"health_check_failed\", new JuniperMist.Org.Inputs.AlarmtemplateRulesArgs\n            {\n                Enabled = true,\n            } },\n            { \"insufficient_capacity\", new JuniperMist.Org.Inputs.AlarmtemplateRulesArgs\n            {\n                Enabled = true,\n            } },\n            { \"insufficient_coverage\", new JuniperMist.Org.Inputs.AlarmtemplateRulesArgs\n            {\n                Enabled = true,\n            } },\n            { \"infra_arp_failure\", new JuniperMist.Org.Inputs.AlarmtemplateRulesArgs\n            {\n                Enabled = true,\n            } },\n            { \"arp_failure\", new JuniperMist.Org.Inputs.AlarmtemplateRulesArgs\n            {\n                Enabled = true,\n            } },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewAlarmtemplate(ctx, \"alarmtemplate_one\", \u0026org.AlarmtemplateArgs{\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tName:  pulumi.String(\"alarmtemplate_one\"),\n\t\t\tDelivery: \u0026org.AlarmtemplateDeliveryArgs{\n\t\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\t\tToOrgAdmins: pulumi.Bool(true),\n\t\t\t\tAdditionalEmails: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"admin@mycorp.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: org.AlarmtemplateRulesMap{\n\t\t\t\t\"health_check_failed\": \u0026org.AlarmtemplateRulesArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\"insufficient_capacity\": \u0026org.AlarmtemplateRulesArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\"insufficient_coverage\": \u0026org.AlarmtemplateRulesArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\"infra_arp_failure\": \u0026org.AlarmtemplateRulesArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\"arp_failure\": \u0026org.AlarmtemplateRulesArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_alarmtemplate\" \"alarmtemplate_one\" {\n  org_id = terraformTest.id\n  name   = \"alarmtemplate_one\"\n  delivery = {\n    enabled           = true\n    to_org_admins     = true\n    additional_emails = [\"admin@mycorp.net\"]\n  }\n  rules = {\n    \"health_check_failed\" = {\n      enabled = true\n    }\n    \"insufficient_capacity\" = {\n      enabled = true\n    }\n    \"insufficient_coverage\" = {\n      enabled = true\n    }\n    \"infra_arp_failure\" = {\n      enabled = true\n    }\n    \"arp_failure\" = {\n      enabled = true\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Alarmtemplate;\nimport com.pulumi.junipermist.org.AlarmtemplateArgs;\nimport com.pulumi.junipermist.org.inputs.AlarmtemplateDeliveryArgs;\nimport com.pulumi.junipermist.org.inputs.AlarmtemplateRulesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var alarmtemplateOne = new Alarmtemplate(\"alarmtemplateOne\", AlarmtemplateArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"alarmtemplate_one\")\n            .delivery(AlarmtemplateDeliveryArgs.builder()\n                .enabled(true)\n                .toOrgAdmins(true)\n                .additionalEmails(\"admin@mycorp.net\")\n                .build())\n            .rules(Map.ofEntries(\n                Map.entry(\"health_check_failed\", AlarmtemplateRulesArgs.builder()\n                    .enabled(true)\n                    .build()),\n                Map.entry(\"insufficient_capacity\", AlarmtemplateRulesArgs.builder()\n                    .enabled(true)\n                    .build()),\n                Map.entry(\"insufficient_coverage\", AlarmtemplateRulesArgs.builder()\n                    .enabled(true)\n                    .build()),\n                Map.entry(\"infra_arp_failure\", AlarmtemplateRulesArgs.builder()\n                    .enabled(true)\n                    .build()),\n                Map.entry(\"arp_failure\", AlarmtemplateRulesArgs.builder()\n                    .enabled(true)\n                    .build())\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  alarmtemplateOne:\n    type: junipermist:org:Alarmtemplate\n    name: alarmtemplate_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: alarmtemplate_one\n      delivery:\n        enabled: true\n        toOrgAdmins: true\n        additionalEmails:\n          - admin@mycorp.net\n      rules:\n        health_check_failed:\n          enabled: true\n        insufficient_capacity:\n          enabled: true\n        insufficient_coverage:\n          enabled: true\n        infra_arp_failure:\n          enabled: true\n        arp_failure:\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Alarmtemplate`\" pulumi-lang-dotnet=\"`junipermist.org.Alarmtemplate`\" pulumi-lang-go=\"`org.Alarmtemplate`\" pulumi-lang-python=\"`org.Alarmtemplate`\" pulumi-lang-yaml=\"`junipermist.org.Alarmtemplate`\" pulumi-lang-java=\"`junipermist.org.Alarmtemplate`\" pulumi-lang-hcl=\"`mist_org_alarmtemplate`\"\u003e`junipermist.org.Alarmtemplate`\u003c/span\u003e with:\nOrg RF Template can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" alarmtemplateId\n\" pulumi-lang-dotnet=\" AlarmtemplateId\n\" pulumi-lang-go=\" alarmtemplateId\n\" pulumi-lang-python=\" alarmtemplate_id\n\" pulumi-lang-yaml=\" alarmtemplateId\n\" pulumi-lang-java=\" alarmtemplateId\n\" pulumi-lang-hcl=\" alarmtemplate_id\n\"\u003e alarmtemplateId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/alarmtemplate:Alarmtemplate alarmtemplate_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "delivery": {
                    "$ref": "#/types/junipermist:org/AlarmtemplateDelivery:AlarmtemplateDelivery",
                    "description": "Default alarm delivery settings for rules in this template\n"
                },
                "name": {
                    "type": "string",
                    "description": "Some string to name the alarm template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this alarm template\n"
                },
                "rules": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/AlarmtemplateRules:AlarmtemplateRules"
                    },
                    "description": "Alarm Rules object to configure the individual alarm keys/types. Property key is the alarm name (list available with the \u003cspan pulumi-lang-nodejs=\"`junipermist.getConstAlarms`\" pulumi-lang-dotnet=\"`junipermist.getConstAlarms`\" pulumi-lang-go=\"`getConstAlarms`\" pulumi-lang-python=\"`get_const_alarms`\" pulumi-lang-yaml=\"`junipermist.getConstAlarms`\" pulumi-lang-java=\"`junipermist.getConstAlarms`\" pulumi-lang-hcl=\"`data.mist_const_alarms`\"\u003e`junipermist.getConstAlarms`\u003c/span\u003e data source).\n"
                }
            },
            "required": [
                "delivery",
                "name",
                "orgId",
                "rules"
            ],
            "inputProperties": {
                "delivery": {
                    "$ref": "#/types/junipermist:org/AlarmtemplateDelivery:AlarmtemplateDelivery",
                    "description": "Default alarm delivery settings for rules in this template\n"
                },
                "name": {
                    "type": "string",
                    "description": "Some string to name the alarm template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this alarm template\n"
                },
                "rules": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/AlarmtemplateRules:AlarmtemplateRules"
                    },
                    "description": "Alarm Rules object to configure the individual alarm keys/types. Property key is the alarm name (list available with the \u003cspan pulumi-lang-nodejs=\"`junipermist.getConstAlarms`\" pulumi-lang-dotnet=\"`junipermist.getConstAlarms`\" pulumi-lang-go=\"`getConstAlarms`\" pulumi-lang-python=\"`get_const_alarms`\" pulumi-lang-yaml=\"`junipermist.getConstAlarms`\" pulumi-lang-java=\"`junipermist.getConstAlarms`\" pulumi-lang-hcl=\"`data.mist_const_alarms`\"\u003e`junipermist.getConstAlarms`\u003c/span\u003e data source).\n"
                }
            },
            "requiredInputs": [
                "delivery",
                "orgId",
                "rules"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Alarmtemplate resources.\n",
                "properties": {
                    "delivery": {
                        "$ref": "#/types/junipermist:org/AlarmtemplateDelivery:AlarmtemplateDelivery",
                        "description": "Default alarm delivery settings for rules in this template\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Some string to name the alarm template\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this alarm template\n"
                    },
                    "rules": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/AlarmtemplateRules:AlarmtemplateRules"
                        },
                        "description": "Alarm Rules object to configure the individual alarm keys/types. Property key is the alarm name (list available with the \u003cspan pulumi-lang-nodejs=\"`junipermist.getConstAlarms`\" pulumi-lang-dotnet=\"`junipermist.getConstAlarms`\" pulumi-lang-go=\"`getConstAlarms`\" pulumi-lang-python=\"`get_const_alarms`\" pulumi-lang-yaml=\"`junipermist.getConstAlarms`\" pulumi-lang-java=\"`junipermist.getConstAlarms`\" pulumi-lang-hcl=\"`data.mist_const_alarms`\"\u003e`junipermist.getConstAlarms`\u003c/span\u003e data source).\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/apitoken:Apitoken": {
            "description": "This resource manages Org API Tokens.\n\nAn Org API token is a unique identifier used by an application to authenticate and access the Mist APIs. These tokens are used to authenticate requests made to the API server and ensure secure access to the API. They are not bound to any specific user and provide access to the organization as a whole. \nOrganization tokens support different privileges and can only be used for the specific organization they are generated for.\nRate limiting is done on an individual token basis, so if one token reaches its rate limit, it does not impact other tokens.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst apitokenOne = new junipermist.org.Apitoken(\"apitoken_one\", {\n    orgId: terraformTest.id,\n    name: \"apitoken_one\",\n    privileges: [\n        {\n            scope: \"site\",\n            role: \"admin\",\n            siteId: \"d7c8364e-xxxx-xxxx-xxxx-37eff0475b03\",\n        },\n        {\n            scope: \"site\",\n            role: \"read\",\n            siteId: \"08f8851b-xxxx-xxxx-xxxx-9ebb5aa62de4\",\n        },\n    ],\n    srcIps: [\"1.2.3.4/32\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\napitoken_one = junipermist.org.Apitoken(\"apitoken_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"apitoken_one\",\n    privileges=[\n        {\n            \"scope\": \"site\",\n            \"role\": \"admin\",\n            \"site_id\": \"d7c8364e-xxxx-xxxx-xxxx-37eff0475b03\",\n        },\n        {\n            \"scope\": \"site\",\n            \"role\": \"read\",\n            \"site_id\": \"08f8851b-xxxx-xxxx-xxxx-9ebb5aa62de4\",\n        },\n    ],\n    src_ips=[\"1.2.3.4/32\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var apitokenOne = new JuniperMist.Org.Apitoken(\"apitoken_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"apitoken_one\",\n        Privileges = new[]\n        {\n            new JuniperMist.Org.Inputs.ApitokenPrivilegeArgs\n            {\n                Scope = \"site\",\n                Role = \"admin\",\n                SiteId = \"d7c8364e-xxxx-xxxx-xxxx-37eff0475b03\",\n            },\n            new JuniperMist.Org.Inputs.ApitokenPrivilegeArgs\n            {\n                Scope = \"site\",\n                Role = \"read\",\n                SiteId = \"08f8851b-xxxx-xxxx-xxxx-9ebb5aa62de4\",\n            },\n        },\n        SrcIps = new[]\n        {\n            \"1.2.3.4/32\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewApitoken(ctx, \"apitoken_one\", \u0026org.ApitokenArgs{\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tName:  pulumi.String(\"apitoken_one\"),\n\t\t\tPrivileges: org.ApitokenPrivilegeArray{\n\t\t\t\t\u0026org.ApitokenPrivilegeArgs{\n\t\t\t\t\tScope:  pulumi.String(\"site\"),\n\t\t\t\t\tRole:   pulumi.String(\"admin\"),\n\t\t\t\t\tSiteId: pulumi.String(\"d7c8364e-xxxx-xxxx-xxxx-37eff0475b03\"),\n\t\t\t\t},\n\t\t\t\t\u0026org.ApitokenPrivilegeArgs{\n\t\t\t\t\tScope:  pulumi.String(\"site\"),\n\t\t\t\t\tRole:   pulumi.String(\"read\"),\n\t\t\t\t\tSiteId: pulumi.String(\"08f8851b-xxxx-xxxx-xxxx-9ebb5aa62de4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2.3.4/32\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_apitoken\" \"apitoken_one\" {\n  org_id = terraformTest.id\n  name   = \"apitoken_one\"\n  privileges {\n    scope   = \"site\"\n    role    = \"admin\"\n    site_id = \"d7c8364e-xxxx-xxxx-xxxx-37eff0475b03\"\n  }\n  privileges {\n    scope   = \"site\"\n    role    = \"read\"\n    site_id = \"08f8851b-xxxx-xxxx-xxxx-9ebb5aa62de4\"\n  }\n  src_ips = [\"1.2.3.4/32\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Apitoken;\nimport com.pulumi.junipermist.org.ApitokenArgs;\nimport com.pulumi.junipermist.org.inputs.ApitokenPrivilegeArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var apitokenOne = new Apitoken(\"apitokenOne\", ApitokenArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"apitoken_one\")\n            .privileges(            \n                ApitokenPrivilegeArgs.builder()\n                    .scope(\"site\")\n                    .role(\"admin\")\n                    .siteId(\"d7c8364e-xxxx-xxxx-xxxx-37eff0475b03\")\n                    .build(),\n                ApitokenPrivilegeArgs.builder()\n                    .scope(\"site\")\n                    .role(\"read\")\n                    .siteId(\"08f8851b-xxxx-xxxx-xxxx-9ebb5aa62de4\")\n                    .build())\n            .srcIps(\"1.2.3.4/32\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  apitokenOne:\n    type: junipermist:org:Apitoken\n    name: apitoken_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: apitoken_one\n      privileges:\n        - scope: site\n          role: admin\n          siteId: d7c8364e-xxxx-xxxx-xxxx-37eff0475b03\n        - scope: site\n          role: read\n          siteId: 08f8851b-xxxx-xxxx-xxxx-9ebb5aa62de4\n      srcIps:\n        - 1.2.3.4/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "createdBy": {
                    "type": "string",
                    "description": "email of the token creator / null if creator is deleted\n"
                },
                "key": {
                    "type": "string",
                    "description": "Token secret key. The full API Token is only returned when the API token is created and can only be partially retrieved afterward\n",
                    "secret": true
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the organization API token\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this API token\n"
                },
                "privileges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/ApitokenPrivilege:ApitokenPrivilege"
                    },
                    "description": "Access scopes and roles granted to the organization API token\n"
                },
                "srcIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Allowed source IP addresses or CIDRs from which the token may be used\n"
                }
            },
            "required": [
                "createdBy",
                "key",
                "name",
                "orgId",
                "privileges"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "Display name of the organization API token\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this API token\n"
                },
                "privileges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/ApitokenPrivilege:ApitokenPrivilege"
                    },
                    "description": "Access scopes and roles granted to the organization API token\n"
                },
                "srcIps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Allowed source IP addresses or CIDRs from which the token may be used\n"
                }
            },
            "requiredInputs": [
                "orgId",
                "privileges"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Apitoken resources.\n",
                "properties": {
                    "createdBy": {
                        "type": "string",
                        "description": "email of the token creator / null if creator is deleted\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "Token secret key. The full API Token is only returned when the API token is created and can only be partially retrieved afterward\n",
                        "secret": true
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the organization API token\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this API token\n"
                    },
                    "privileges": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/ApitokenPrivilege:ApitokenPrivilege"
                        },
                        "description": "Access scopes and roles granted to the organization API token\n"
                    },
                    "srcIps": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Allowed source IP addresses or CIDRs from which the token may be used\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/avprofile:Avprofile": {
            "description": "This resource manages the Org Antivirus Profile.\n\nAn Antivirus Profile is used to configure the Antivirus feature on SRX devices. It specifies which content the Antivirus should analyse and which content should be ignored.\n\nThe Antivirus profiles can be used within the following resources: \n * `mist_org_servicepolicy.antivirus` \n * `mist_org_gatewaytemplate.service_policies.antivirus` \n * `mist_org_deviceprofile_gateway.service_policies.antivirus` \n * `mist_device_gateway.service_policies.antivirus`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst avprofileOne = new junipermist.org.Avprofile(\"avprofile_one\", {\n    orgId: terraformTest.id,\n    fallbackAction: \"block\",\n    maxFilesize: 5000,\n    mimeWhitelists: [\"image/png\"],\n    name: \"avprofile_one\",\n    protocols: [\n        \"ftp\",\n        \"http\",\n        \"imap\",\n        \"pop3\",\n        \"smtp\",\n    ],\n    urlWhitelists: [\"www.google.fr\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\navprofile_one = junipermist.org.Avprofile(\"avprofile_one\",\n    org_id=terraform_test[\"id\"],\n    fallback_action=\"block\",\n    max_filesize=5000,\n    mime_whitelists=[\"image/png\"],\n    name=\"avprofile_one\",\n    protocols=[\n        \"ftp\",\n        \"http\",\n        \"imap\",\n        \"pop3\",\n        \"smtp\",\n    ],\n    url_whitelists=[\"www.google.fr\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var avprofileOne = new JuniperMist.Org.Avprofile(\"avprofile_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        FallbackAction = \"block\",\n        MaxFilesize = 5000,\n        MimeWhitelists = new[]\n        {\n            \"image/png\",\n        },\n        Name = \"avprofile_one\",\n        Protocols = new[]\n        {\n            \"ftp\",\n            \"http\",\n            \"imap\",\n            \"pop3\",\n            \"smtp\",\n        },\n        UrlWhitelists = new[]\n        {\n            \"www.google.fr\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewAvprofile(ctx, \"avprofile_one\", \u0026org.AvprofileArgs{\n\t\t\tOrgId:          pulumi.Any(terraformTest.Id),\n\t\t\tFallbackAction: pulumi.String(\"block\"),\n\t\t\tMaxFilesize:    pulumi.Int(5000),\n\t\t\tMimeWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"image/png\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"avprofile_one\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ftp\"),\n\t\t\t\tpulumi.String(\"http\"),\n\t\t\t\tpulumi.String(\"imap\"),\n\t\t\t\tpulumi.String(\"pop3\"),\n\t\t\t\tpulumi.String(\"smtp\"),\n\t\t\t},\n\t\t\tUrlWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.google.fr\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_avprofile\" \"avprofile_one\" {\n  org_id          = terraformTest.id\n  fallback_action = \"block\"\n  max_filesize    = 5000\n  mime_whitelists = [\"image/png\"]\n  name            = \"avprofile_one\"\n  protocols       = [\"ftp\", \"http\", \"imap\", \"pop3\", \"smtp\"]\n  url_whitelists  = [\"www.google.fr\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Avprofile;\nimport com.pulumi.junipermist.org.AvprofileArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var avprofileOne = new Avprofile(\"avprofileOne\", AvprofileArgs.builder()\n            .orgId(terraformTest.id())\n            .fallbackAction(\"block\")\n            .maxFilesize(5000)\n            .mimeWhitelists(\"image/png\")\n            .name(\"avprofile_one\")\n            .protocols(            \n                \"ftp\",\n                \"http\",\n                \"imap\",\n                \"pop3\",\n                \"smtp\")\n            .urlWhitelists(\"www.google.fr\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  avprofileOne:\n    type: junipermist:org:Avprofile\n    name: avprofile_one\n    properties:\n      orgId: ${terraformTest.id}\n      fallbackAction: block\n      maxFilesize: 5000\n      mimeWhitelists:\n        - image/png\n      name: avprofile_one\n      protocols:\n        - ftp\n        - http\n        - imap\n        - pop3\n        - smtp\n      urlWhitelists:\n        - www.google.fr\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Avprofile`\" pulumi-lang-dotnet=\"`junipermist.org.Avprofile`\" pulumi-lang-go=\"`org.Avprofile`\" pulumi-lang-python=\"`org.Avprofile`\" pulumi-lang-yaml=\"`junipermist.org.Avprofile`\" pulumi-lang-java=\"`junipermist.org.Avprofile`\" pulumi-lang-hcl=\"`mist_org_avprofile`\"\u003e`junipermist.org.Avprofile`\u003c/span\u003e with:\nIDP Profile can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" avprofileId\n\" pulumi-lang-dotnet=\" AvprofileId\n\" pulumi-lang-go=\" avprofileId\n\" pulumi-lang-python=\" avprofile_id\n\" pulumi-lang-yaml=\" avprofileId\n\" pulumi-lang-java=\" avprofileId\n\" pulumi-lang-hcl=\" avprofile_id\n\"\u003e avprofileId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/avprofile:Avprofile avprofile_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "fallbackAction": {
                    "type": "string",
                    "description": "Action to take when antivirus scanning cannot complete\n"
                },
                "maxFilesize": {
                    "type": "integer",
                    "description": "Maximum file size scanned by this antivirus profile, in KB\n"
                },
                "mimeWhitelists": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Content MIME types exempted from antivirus scanning\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the antivirus profile\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization identifier for this antivirus profile\n"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network protocols inspected by this antivirus profile\n"
                },
                "urlWhitelists": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Allowed URL entries exempted from antivirus scanning\n"
                }
            },
            "required": [
                "maxFilesize",
                "mimeWhitelists",
                "name",
                "orgId",
                "protocols",
                "urlWhitelists"
            ],
            "inputProperties": {
                "fallbackAction": {
                    "type": "string",
                    "description": "Action to take when antivirus scanning cannot complete\n"
                },
                "maxFilesize": {
                    "type": "integer",
                    "description": "Maximum file size scanned by this antivirus profile, in KB\n"
                },
                "mimeWhitelists": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Content MIME types exempted from antivirus scanning\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the antivirus profile\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization identifier for this antivirus profile\n"
                },
                "protocols": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Network protocols inspected by this antivirus profile\n"
                },
                "urlWhitelists": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Allowed URL entries exempted from antivirus scanning\n"
                }
            },
            "requiredInputs": [
                "orgId",
                "protocols"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Avprofile resources.\n",
                "properties": {
                    "fallbackAction": {
                        "type": "string",
                        "description": "Action to take when antivirus scanning cannot complete\n"
                    },
                    "maxFilesize": {
                        "type": "integer",
                        "description": "Maximum file size scanned by this antivirus profile, in KB\n"
                    },
                    "mimeWhitelists": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Content MIME types exempted from antivirus scanning\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the antivirus profile\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Owning organization identifier for this antivirus profile\n"
                    },
                    "protocols": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Network protocols inspected by this antivirus profile\n"
                    },
                    "urlWhitelists": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Allowed URL entries exempted from antivirus scanning\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/base:base": {
            "description": "This resource manages the Mist Organization.\n\nAn organization usually represents a customer - which has inventories, licenses. An Organization can contain multiple sites. A site usually represents a deployment at the same location (a campus, an office).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst orgOne = new junipermist.org.Base(\"org_one\", {\n    name: \"Org One\",\n    alarmtemplateId: alarmtemplateOne.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\norg_one = junipermist.org.Base(\"org_one\",\n    name=\"Org One\",\n    alarmtemplate_id=alarmtemplate_one[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var orgOne = new JuniperMist.Org.Base(\"org_one\", new()\n    {\n        Name = \"Org One\",\n        AlarmtemplateId = alarmtemplateOne.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewBase(ctx, \"org_one\", \u0026org.BaseArgs{\n\t\t\tName:            pulumi.String(\"Org One\"),\n\t\t\tAlarmtemplateId: pulumi.Any(alarmtemplateOne.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_base\" \"org_one\" {\n  name             = \"Org One\"\n  alarmtemplate_id = alarmtemplateOne.id\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.base;\nimport com.pulumi.junipermist.org.baseArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var orgOne = new Base(\"orgOne\", BaseArgs.builder()\n            .name(\"Org One\")\n            .alarmtemplateId(alarmtemplateOne.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  orgOne:\n    type: junipermist:org:base\n    name: org_one\n    properties:\n      name: Org One\n      alarmtemplateId: ${alarmtemplateOne.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.base`\" pulumi-lang-dotnet=\"`junipermist.org.base`\" pulumi-lang-go=\"`org.base`\" pulumi-lang-python=\"`org.base`\" pulumi-lang-yaml=\"`junipermist.org.base`\" pulumi-lang-java=\"`junipermist.org.base`\" pulumi-lang-hcl=\"`mist_org`\"\u003e`junipermist.org.base`\u003c/span\u003e with:\nOrganization can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId\n\" pulumi-lang-dotnet=\" OrgId\n\" pulumi-lang-go=\" orgId\n\" pulumi-lang-python=\" org_id\n\" pulumi-lang-yaml=\" orgId\n\" pulumi-lang-java=\" orgId\n\" pulumi-lang-hcl=\" org_id\n\"\u003e orgId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/base:base org_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a\n```\n\n",
            "properties": {
                "alarmtemplateId": {
                    "type": "string",
                    "description": "Org-level alarm template ID used as the default for sites\n"
                },
                "allowMist": {
                    "type": "boolean",
                    "description": "Whether Mist support access is allowed for this organization\n"
                },
                "mspId": {
                    "type": "string",
                    "description": "Managed service provider account that owns this organization, when applicable\n"
                },
                "mspLogoUrl": {
                    "type": "string",
                    "description": "logo uploaded by the MSP with advanced tier, only present if provided\n"
                },
                "mspName": {
                    "type": "string",
                    "description": "Name of the msp the org belongs to\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the organization\n"
                },
                "orggroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Organization group IDs that include this organization\n"
                },
                "sessionExpiry": {
                    "type": "integer",
                    "description": "Admin session lifetime for the organization, in minutes\n"
                }
            },
            "required": [
                "allowMist",
                "mspId",
                "mspLogoUrl",
                "mspName",
                "name",
                "orggroupIds",
                "sessionExpiry"
            ],
            "inputProperties": {
                "alarmtemplateId": {
                    "type": "string",
                    "description": "Org-level alarm template ID used as the default for sites\n"
                },
                "allowMist": {
                    "type": "boolean",
                    "description": "Whether Mist support access is allowed for this organization\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the organization\n"
                },
                "sessionExpiry": {
                    "type": "integer",
                    "description": "Admin session lifetime for the organization, in minutes\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering base resources.\n",
                "properties": {
                    "alarmtemplateId": {
                        "type": "string",
                        "description": "Org-level alarm template ID used as the default for sites\n"
                    },
                    "allowMist": {
                        "type": "boolean",
                        "description": "Whether Mist support access is allowed for this organization\n"
                    },
                    "mspId": {
                        "type": "string",
                        "description": "Managed service provider account that owns this organization, when applicable\n"
                    },
                    "mspLogoUrl": {
                        "type": "string",
                        "description": "logo uploaded by the MSP with advanced tier, only present if provided\n"
                    },
                    "mspName": {
                        "type": "string",
                        "description": "Name of the msp the org belongs to\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the organization\n"
                    },
                    "orggroupIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Organization group IDs that include this organization\n"
                    },
                    "sessionExpiry": {
                        "type": "integer",
                        "description": "Admin session lifetime for the organization, in minutes\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/deviceprofileAp:DeviceprofileAp": {
            "description": "This resource manages the AP Device Profiles.\nAP Device profiles for aps are used to specify a configuration that can be applied to a select set of aps from any site in the organization. They allow for efficient application of configurations based on ap groups, wlan groups, RF settings, and sites. Device profiles enable various use cases such as activating ethernet passthrough, applying different rf settings, applying mesh configuration, activating specific features like esl or vble, and more.\n\nThe AP Device Profile can be assigned to a gateway with the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-dotnet=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-go=\"`org.DeviceprofileAssign`\" pulumi-lang-python=\"`org.DeviceprofileAssign`\" pulumi-lang-yaml=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-java=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-hcl=\"`mist_org_deviceprofile_assign`\"\u003e`junipermist.org.DeviceprofileAssign`\u003c/span\u003e resource.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst deviceprofileApOne = new junipermist.org.DeviceprofileAp(\"deviceprofile_ap_one\", {\n    name: \"deviceprofile_ap_one\",\n    orgId: terraformTest.id,\n    eslConfig: {\n        enabled: true,\n        host: \"1.2.3.4\",\n        type: \"native\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\ndeviceprofile_ap_one = junipermist.org.DeviceprofileAp(\"deviceprofile_ap_one\",\n    name=\"deviceprofile_ap_one\",\n    org_id=terraform_test[\"id\"],\n    esl_config={\n        \"enabled\": True,\n        \"host\": \"1.2.3.4\",\n        \"type\": \"native\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var deviceprofileApOne = new JuniperMist.Org.DeviceprofileAp(\"deviceprofile_ap_one\", new()\n    {\n        Name = \"deviceprofile_ap_one\",\n        OrgId = terraformTest.Id,\n        EslConfig = new JuniperMist.Org.Inputs.DeviceprofileApEslConfigArgs\n        {\n            Enabled = true,\n            Host = \"1.2.3.4\",\n            Type = \"native\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewDeviceprofileAp(ctx, \"deviceprofile_ap_one\", \u0026org.DeviceprofileApArgs{\n\t\t\tName:  pulumi.String(\"deviceprofile_ap_one\"),\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tEslConfig: \u0026org.DeviceprofileApEslConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tHost:    pulumi.String(\"1.2.3.4\"),\n\t\t\t\tType:    pulumi.String(\"native\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_deviceprofileap\" \"deviceprofile_ap_one\" {\n  name   = \"deviceprofile_ap_one\"\n  org_id = terraformTest.id\n  esl_config = {\n    enabled = true\n    host    = \"1.2.3.4\"\n    type    = \"native\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.DeviceprofileAp;\nimport com.pulumi.junipermist.org.DeviceprofileApArgs;\nimport com.pulumi.junipermist.org.inputs.DeviceprofileApEslConfigArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var deviceprofileApOne = new DeviceprofileAp(\"deviceprofileApOne\", DeviceprofileApArgs.builder()\n            .name(\"deviceprofile_ap_one\")\n            .orgId(terraformTest.id())\n            .eslConfig(DeviceprofileApEslConfigArgs.builder()\n                .enabled(true)\n                .host(\"1.2.3.4\")\n                .type(\"native\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  deviceprofileApOne:\n    type: junipermist:org:DeviceprofileAp\n    name: deviceprofile_ap_one\n    properties:\n      name: deviceprofile_ap_one\n      orgId: ${terraformTest.id}\n      eslConfig:\n        enabled: true\n        host: 1.2.3.4\n        type: native\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-dotnet=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-go=\"`org.DeviceprofileAp`\" pulumi-lang-python=\"`org.DeviceprofileAp`\" pulumi-lang-yaml=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-java=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-hcl=\"`mist_org_deviceprofile_ap`\"\u003e`junipermist.org.DeviceprofileAp`\u003c/span\u003e with:\nDevice Profile can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" deviceprofileId\n\" pulumi-lang-dotnet=\" DeviceprofileId\n\" pulumi-lang-go=\" deviceprofileId\n\" pulumi-lang-python=\" deviceprofile_id\n\" pulumi-lang-yaml=\" deviceprofileId\n\" pulumi-lang-java=\" deviceprofileId\n\" pulumi-lang-hcl=\" deviceprofile_id\n\"\u003e deviceprofileId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/deviceprofileAp:DeviceprofileAp deviceprofile_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "aeroscout": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApAeroscout:DeviceprofileApAeroscout",
                    "description": "Location integration defaults for AeroScout in this AP profile"
                },
                "airista": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApAirista:DeviceprofileApAirista",
                    "description": "Location integration defaults for Airista in this AP profile"
                },
                "bleConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApBleConfig:DeviceprofileApBleConfig",
                    "description": "Bluetooth Low Energy beacon and asset defaults in this AP profile"
                },
                "disableEth1": {
                    "type": "boolean",
                    "description": "Whether to disable eth1 port"
                },
                "disableEth2": {
                    "type": "boolean",
                    "description": "Whether to disable eth2 port"
                },
                "disableEth3": {
                    "type": "boolean",
                    "description": "Whether to disable eth3 port"
                },
                "disableModule": {
                    "type": "boolean",
                    "description": "Whether to disable module port"
                },
                "eslConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApEslConfig:DeviceprofileApEslConfig",
                    "description": "Electronic shelf label integration defaults in this AP profile"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApIpConfig:DeviceprofileApIpConfig",
                    "description": "Management IP addressing defaults in this AP profile"
                },
                "lacpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApLacpConfig:DeviceprofileApLacpConfig",
                    "description": "Link aggregation defaults for supported AP Ethernet uplinks"
                },
                "led": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApLed:DeviceprofileApLed",
                    "description": "Indicator light behavior defaults in this AP profile"
                },
                "mesh": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApMesh:DeviceprofileApMesh",
                    "description": "Wireless mesh role and band defaults in this AP profile"
                },
                "mqttConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApMqttConfig:DeviceprofileApMqttConfig",
                    "description": "MQTT broker publishing settings for this AP profile"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the AP device profile"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers configured by this AP profile"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this AP device profile"
                },
                "poePassthrough": {
                    "type": "boolean",
                    "description": "Whether to enable power out through module port (for APH) or eth1 (for APL/BT11)"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApPortConfig:DeviceprofileApPortConfig"
                    },
                    "description": "eth0 is not allowed here. Property key is the interface(s) name (e.g. \u003cspan pulumi-lang-nodejs=\"`eth1`\" pulumi-lang-dotnet=\"`Eth1`\" pulumi-lang-go=\"`eth1`\" pulumi-lang-python=\"`eth1`\" pulumi-lang-yaml=\"`eth1`\" pulumi-lang-java=\"`eth1`\" pulumi-lang-hcl=\"`eth1`\"\u003e`eth1`\u003c/span\u003e or `eth1,eth2`). If specified, this takes precedence over\u003cspan pulumi-lang-nodejs=\" switchConfig \" pulumi-lang-dotnet=\" SwitchConfig \" pulumi-lang-go=\" switchConfig \" pulumi-lang-python=\" switch_config \" pulumi-lang-yaml=\" switchConfig \" pulumi-lang-java=\" switchConfig \" pulumi-lang-hcl=\" switch_config \"\u003e switchConfig \u003c/span\u003e(deprecated)"
                },
                "pwrConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApPwrConfig:DeviceprofileApPwrConfig",
                    "description": "Power negotiation and peripheral power defaults in this AP profile"
                },
                "radioConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApRadioConfig:DeviceprofileApRadioConfig",
                    "description": "Radio configuration defaults in this AP profile"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this AP device profile is defined, when scoped to a site"
                },
                "type": {
                    "type": "string",
                    "description": "Device type discriminator for AP device profiles"
                },
                "uplinkPortConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApUplinkPortConfig:DeviceprofileApUplinkPortConfig",
                    "description": "Authentication and failover defaults for AP uplink ports"
                },
                "usbConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApUsbConfig:DeviceprofileApUsbConfig",
                    "description": "Legacy USB integration defaults in this AP profile"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Variable values provided by this AP device profile"
                },
                "zigbeeConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApZigbeeConfig:DeviceprofileApZigbeeConfig",
                    "description": "Zigbee radio and network defaults in this AP profile"
                }
            },
            "required": [
                "disableEth1",
                "disableEth2",
                "disableEth3",
                "disableModule",
                "name",
                "orgId",
                "poePassthrough",
                "type"
            ],
            "inputProperties": {
                "aeroscout": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApAeroscout:DeviceprofileApAeroscout",
                    "description": "Location integration defaults for AeroScout in this AP profile"
                },
                "airista": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApAirista:DeviceprofileApAirista",
                    "description": "Location integration defaults for Airista in this AP profile"
                },
                "bleConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApBleConfig:DeviceprofileApBleConfig",
                    "description": "Bluetooth Low Energy beacon and asset defaults in this AP profile"
                },
                "disableEth1": {
                    "type": "boolean",
                    "description": "Whether to disable eth1 port"
                },
                "disableEth2": {
                    "type": "boolean",
                    "description": "Whether to disable eth2 port"
                },
                "disableEth3": {
                    "type": "boolean",
                    "description": "Whether to disable eth3 port"
                },
                "disableModule": {
                    "type": "boolean",
                    "description": "Whether to disable module port"
                },
                "eslConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApEslConfig:DeviceprofileApEslConfig",
                    "description": "Electronic shelf label integration defaults in this AP profile"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApIpConfig:DeviceprofileApIpConfig",
                    "description": "Management IP addressing defaults in this AP profile"
                },
                "lacpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApLacpConfig:DeviceprofileApLacpConfig",
                    "description": "Link aggregation defaults for supported AP Ethernet uplinks"
                },
                "led": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApLed:DeviceprofileApLed",
                    "description": "Indicator light behavior defaults in this AP profile"
                },
                "mesh": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApMesh:DeviceprofileApMesh",
                    "description": "Wireless mesh role and band defaults in this AP profile"
                },
                "mqttConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApMqttConfig:DeviceprofileApMqttConfig",
                    "description": "MQTT broker publishing settings for this AP profile"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the AP device profile"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers configured by this AP profile"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this AP device profile"
                },
                "poePassthrough": {
                    "type": "boolean",
                    "description": "Whether to enable power out through module port (for APH) or eth1 (for APL/BT11)"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApPortConfig:DeviceprofileApPortConfig"
                    },
                    "description": "eth0 is not allowed here. Property key is the interface(s) name (e.g. \u003cspan pulumi-lang-nodejs=\"`eth1`\" pulumi-lang-dotnet=\"`Eth1`\" pulumi-lang-go=\"`eth1`\" pulumi-lang-python=\"`eth1`\" pulumi-lang-yaml=\"`eth1`\" pulumi-lang-java=\"`eth1`\" pulumi-lang-hcl=\"`eth1`\"\u003e`eth1`\u003c/span\u003e or `eth1,eth2`). If specified, this takes precedence over\u003cspan pulumi-lang-nodejs=\" switchConfig \" pulumi-lang-dotnet=\" SwitchConfig \" pulumi-lang-go=\" switchConfig \" pulumi-lang-python=\" switch_config \" pulumi-lang-yaml=\" switchConfig \" pulumi-lang-java=\" switchConfig \" pulumi-lang-hcl=\" switch_config \"\u003e switchConfig \u003c/span\u003e(deprecated)"
                },
                "pwrConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApPwrConfig:DeviceprofileApPwrConfig",
                    "description": "Power negotiation and peripheral power defaults in this AP profile"
                },
                "radioConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApRadioConfig:DeviceprofileApRadioConfig",
                    "description": "Radio configuration defaults in this AP profile"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this AP device profile is defined, when scoped to a site"
                },
                "uplinkPortConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApUplinkPortConfig:DeviceprofileApUplinkPortConfig",
                    "description": "Authentication and failover defaults for AP uplink ports"
                },
                "usbConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApUsbConfig:DeviceprofileApUsbConfig",
                    "description": "Legacy USB integration defaults in this AP profile"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Variable values provided by this AP device profile"
                },
                "zigbeeConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileApZigbeeConfig:DeviceprofileApZigbeeConfig",
                    "description": "Zigbee radio and network defaults in this AP profile"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DeviceprofileAp resources.\n",
                "properties": {
                    "aeroscout": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApAeroscout:DeviceprofileApAeroscout",
                        "description": "Location integration defaults for AeroScout in this AP profile"
                    },
                    "airista": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApAirista:DeviceprofileApAirista",
                        "description": "Location integration defaults for Airista in this AP profile"
                    },
                    "bleConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApBleConfig:DeviceprofileApBleConfig",
                        "description": "Bluetooth Low Energy beacon and asset defaults in this AP profile"
                    },
                    "disableEth1": {
                        "type": "boolean",
                        "description": "Whether to disable eth1 port"
                    },
                    "disableEth2": {
                        "type": "boolean",
                        "description": "Whether to disable eth2 port"
                    },
                    "disableEth3": {
                        "type": "boolean",
                        "description": "Whether to disable eth3 port"
                    },
                    "disableModule": {
                        "type": "boolean",
                        "description": "Whether to disable module port"
                    },
                    "eslConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApEslConfig:DeviceprofileApEslConfig",
                        "description": "Electronic shelf label integration defaults in this AP profile"
                    },
                    "ipConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApIpConfig:DeviceprofileApIpConfig",
                        "description": "Management IP addressing defaults in this AP profile"
                    },
                    "lacpConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApLacpConfig:DeviceprofileApLacpConfig",
                        "description": "Link aggregation defaults for supported AP Ethernet uplinks"
                    },
                    "led": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApLed:DeviceprofileApLed",
                        "description": "Indicator light behavior defaults in this AP profile"
                    },
                    "mesh": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApMesh:DeviceprofileApMesh",
                        "description": "Wireless mesh role and band defaults in this AP profile"
                    },
                    "mqttConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApMqttConfig:DeviceprofileApMqttConfig",
                        "description": "MQTT broker publishing settings for this AP profile"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the AP device profile"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "NTP servers configured by this AP profile"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this AP device profile"
                    },
                    "poePassthrough": {
                        "type": "boolean",
                        "description": "Whether to enable power out through module port (for APH) or eth1 (for APL/BT11)"
                    },
                    "portConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileApPortConfig:DeviceprofileApPortConfig"
                        },
                        "description": "eth0 is not allowed here. Property key is the interface(s) name (e.g. \u003cspan pulumi-lang-nodejs=\"`eth1`\" pulumi-lang-dotnet=\"`Eth1`\" pulumi-lang-go=\"`eth1`\" pulumi-lang-python=\"`eth1`\" pulumi-lang-yaml=\"`eth1`\" pulumi-lang-java=\"`eth1`\" pulumi-lang-hcl=\"`eth1`\"\u003e`eth1`\u003c/span\u003e or `eth1,eth2`). If specified, this takes precedence over\u003cspan pulumi-lang-nodejs=\" switchConfig \" pulumi-lang-dotnet=\" SwitchConfig \" pulumi-lang-go=\" switchConfig \" pulumi-lang-python=\" switch_config \" pulumi-lang-yaml=\" switchConfig \" pulumi-lang-java=\" switchConfig \" pulumi-lang-hcl=\" switch_config \"\u003e switchConfig \u003c/span\u003e(deprecated)"
                    },
                    "pwrConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApPwrConfig:DeviceprofileApPwrConfig",
                        "description": "Power negotiation and peripheral power defaults in this AP profile"
                    },
                    "radioConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApRadioConfig:DeviceprofileApRadioConfig",
                        "description": "Radio configuration defaults in this AP profile"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Site where this AP device profile is defined, when scoped to a site"
                    },
                    "type": {
                        "type": "string",
                        "description": "Device type discriminator for AP device profiles"
                    },
                    "uplinkPortConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApUplinkPortConfig:DeviceprofileApUplinkPortConfig",
                        "description": "Authentication and failover defaults for AP uplink ports"
                    },
                    "usbConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApUsbConfig:DeviceprofileApUsbConfig",
                        "description": "Legacy USB integration defaults in this AP profile"
                    },
                    "vars": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Variable values provided by this AP device profile"
                    },
                    "zigbeeConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileApZigbeeConfig:DeviceprofileApZigbeeConfig",
                        "description": "Zigbee radio and network defaults in this AP profile"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/deviceprofileAssign:DeviceprofileAssign": {
            "description": "This resource is used to assign/unassign a device profile to one or multiple devices.\n\nThe \u003cspan pulumi-lang-nodejs=\"`junipermist.org.DeviceprofileGateway`\" pulumi-lang-dotnet=\"`junipermist.org.DeviceprofileGateway`\" pulumi-lang-go=\"`org.DeviceprofileGateway`\" pulumi-lang-python=\"`org.DeviceprofileGateway`\" pulumi-lang-yaml=\"`junipermist.org.DeviceprofileGateway`\" pulumi-lang-java=\"`junipermist.org.DeviceprofileGateway`\" pulumi-lang-hcl=\"`mist_org_deviceprofile_gateway`\"\u003e`junipermist.org.DeviceprofileGateway`\u003c/span\u003e resource can be assigned to Gateways, and the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-dotnet=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-go=\"`org.DeviceprofileAp`\" pulumi-lang-python=\"`org.DeviceprofileAp`\" pulumi-lang-yaml=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-java=\"`junipermist.org.DeviceprofileAp`\" pulumi-lang-hcl=\"`mist_org_deviceprofile_ap`\"\u003e`junipermist.org.DeviceprofileAp`\u003c/span\u003e resource can be assigned the Wireless Access Points\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst deviceprofileAssign = new junipermist.org.DeviceprofileAssign(\"deviceprofile_assign\", {\n    orgId: terraformTest.id,\n    deviceprofileId: hubOne.id,\n    macs: [\n        \"4c9614000000\",\n        \"4c9614000001\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\ndeviceprofile_assign = junipermist.org.DeviceprofileAssign(\"deviceprofile_assign\",\n    org_id=terraform_test[\"id\"],\n    deviceprofile_id=hub_one[\"id\"],\n    macs=[\n        \"4c9614000000\",\n        \"4c9614000001\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var deviceprofileAssign = new JuniperMist.Org.DeviceprofileAssign(\"deviceprofile_assign\", new()\n    {\n        OrgId = terraformTest.Id,\n        DeviceprofileId = hubOne.Id,\n        Macs = new[]\n        {\n            \"4c9614000000\",\n            \"4c9614000001\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewDeviceprofileAssign(ctx, \"deviceprofile_assign\", \u0026org.DeviceprofileAssignArgs{\n\t\t\tOrgId:           pulumi.Any(terraformTest.Id),\n\t\t\tDeviceprofileId: pulumi.Any(hubOne.Id),\n\t\t\tMacs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"4c9614000000\"),\n\t\t\t\tpulumi.String(\"4c9614000001\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_deviceprofileassign\" \"deviceprofile_assign\" {\n  org_id           = terraformTest.id\n  deviceprofile_id = hubOne.id\n  macs             = [\"4c9614000000\", \"4c9614000001\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.DeviceprofileAssign;\nimport com.pulumi.junipermist.org.DeviceprofileAssignArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var deviceprofileAssign = new DeviceprofileAssign(\"deviceprofileAssign\", DeviceprofileAssignArgs.builder()\n            .orgId(terraformTest.id())\n            .deviceprofileId(hubOne.id())\n            .macs(            \n                \"4c9614000000\",\n                \"4c9614000001\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  deviceprofileAssign:\n    type: junipermist:org:DeviceprofileAssign\n    name: deviceprofile_assign\n    properties:\n      orgId: ${terraformTest.id}\n      deviceprofileId: ${hubOne.id}\n      macs:\n        - 4c9614000000\n        - 4c9614000001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "deviceprofileId": {
                    "type": "string"
                },
                "macs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of MAC addresses included in the request\n"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "required": [
                "deviceprofileId",
                "macs",
                "orgId"
            ],
            "inputProperties": {
                "deviceprofileId": {
                    "type": "string"
                },
                "macs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of MAC addresses included in the request\n"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "requiredInputs": [
                "deviceprofileId",
                "macs",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DeviceprofileAssign resources.\n",
                "properties": {
                    "deviceprofileId": {
                        "type": "string"
                    },
                    "macs": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of MAC addresses included in the request\n"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/deviceprofileGateway:DeviceprofileGateway": {
            "description": "This resource manages the Gateway Device Profiles (HUB Profiles).\n\nA HUB profile is a configuration profile that automates the creation of overlay networks and defines the attributes of a hub device in a network. It includes settings for wan interfaces, lan interfaces, dns servers, traffic steering preferences, application policies, and routing options. HUB profiles are used to create consistent configurations for hub devices and ensure efficient connectivity between hubs and spokes in a network.\n\nThe Gateway Device Profile can be assigned to a gateway with the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-dotnet=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-go=\"`org.DeviceprofileAssign`\" pulumi-lang-python=\"`org.DeviceprofileAssign`\" pulumi-lang-yaml=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-java=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-hcl=\"`mist_org_deviceprofile_assign`\"\u003e`junipermist.org.DeviceprofileAssign`\u003c/span\u003e resource.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst deviceprofileGwOne = new junipermist.org.DeviceprofileGateway(\"deviceprofile_gw_one\", {\n    name: \"deviceprofile_gw_one\",\n    orgId: terraformTest.id,\n    portConfig: {\n        \"ge-0/0/3\": {\n            name: \"FTTH\",\n            usage: \"wan\",\n            aggregated: false,\n            redundant: false,\n            critical: false,\n            wanType: \"broadband\",\n            ipConfig: {\n                type: \"static\",\n                ip: \"192.168.1.8\",\n                netmask: \"/24\",\n                gateway: \"192.168.1.1\",\n            },\n            disableAutoneg: false,\n            speed: \"auto\",\n            duplex: \"auto\",\n            wanSourceNat: {\n                disabled: false,\n            },\n            vpnPaths: {\n                \"SSR_HUB_DC-MPLS.OrgOverlay\": {\n                    key: 0,\n                    role: \"spoke\",\n                    bfdProfile: \"broadband\",\n                },\n            },\n        },\n        \"ge-0/0/5\": {\n            usage: \"lan\",\n            critical: false,\n            aggregated: true,\n            aeDisableLacp: false,\n            aeLacpForceUp: true,\n            aeIdx: \"0\",\n            redundant: false,\n            networks: [\n                \"PRD-Core\",\n                \"PRD-Mgmt\",\n                \"PRD-Lab\",\n            ],\n        },\n    },\n    ipConfigs: {\n        \"PRD-Core\": {\n            type: \"static\",\n            ip: \"10.3.100.9\",\n            netmask: \"/24\",\n        },\n        \"PRD-Mgmt\": {\n            type: \"static\",\n            ip: \"10.3.172.1\",\n            netmask: \"/24\",\n        },\n        \"PRD-Lab\": {\n            type: \"static\",\n            ip: \"10.3.171.1\",\n            netmask: \"/24\",\n        },\n    },\n    servicePolicies: [{\n        name: \"Policy-14\",\n        tenants: [\"PRD-Core\"],\n        services: [\"any\"],\n        action: \"allow\",\n        pathPreference: \"HUB\",\n        idp: {\n            enabled: true,\n            profile: \"critical\",\n            alertOnly: false,\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\ndeviceprofile_gw_one = junipermist.org.DeviceprofileGateway(\"deviceprofile_gw_one\",\n    name=\"deviceprofile_gw_one\",\n    org_id=terraform_test[\"id\"],\n    port_config={\n        \"ge-0/0/3\": {\n            \"name\": \"FTTH\",\n            \"usage\": \"wan\",\n            \"aggregated\": False,\n            \"redundant\": False,\n            \"critical\": False,\n            \"wan_type\": \"broadband\",\n            \"ip_config\": {\n                \"type\": \"static\",\n                \"ip\": \"192.168.1.8\",\n                \"netmask\": \"/24\",\n                \"gateway\": \"192.168.1.1\",\n            },\n            \"disable_autoneg\": False,\n            \"speed\": \"auto\",\n            \"duplex\": \"auto\",\n            \"wan_source_nat\": {\n                \"disabled\": False,\n            },\n            \"vpn_paths\": {\n                \"SSR_HUB_DC-MPLS.OrgOverlay\": {\n                    \"key\": 0,\n                    \"role\": \"spoke\",\n                    \"bfd_profile\": \"broadband\",\n                },\n            },\n        },\n        \"ge-0/0/5\": {\n            \"usage\": \"lan\",\n            \"critical\": False,\n            \"aggregated\": True,\n            \"ae_disable_lacp\": False,\n            \"ae_lacp_force_up\": True,\n            \"ae_idx\": \"0\",\n            \"redundant\": False,\n            \"networks\": [\n                \"PRD-Core\",\n                \"PRD-Mgmt\",\n                \"PRD-Lab\",\n            ],\n        },\n    },\n    ip_configs={\n        \"PRD-Core\": {\n            \"type\": \"static\",\n            \"ip\": \"10.3.100.9\",\n            \"netmask\": \"/24\",\n        },\n        \"PRD-Mgmt\": {\n            \"type\": \"static\",\n            \"ip\": \"10.3.172.1\",\n            \"netmask\": \"/24\",\n        },\n        \"PRD-Lab\": {\n            \"type\": \"static\",\n            \"ip\": \"10.3.171.1\",\n            \"netmask\": \"/24\",\n        },\n    },\n    service_policies=[{\n        \"name\": \"Policy-14\",\n        \"tenants\": [\"PRD-Core\"],\n        \"services\": [\"any\"],\n        \"action\": \"allow\",\n        \"path_preference\": \"HUB\",\n        \"idp\": {\n            \"enabled\": True,\n            \"profile\": \"critical\",\n            \"alert_only\": False,\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var deviceprofileGwOne = new JuniperMist.Org.DeviceprofileGateway(\"deviceprofile_gw_one\", new()\n    {\n        Name = \"deviceprofile_gw_one\",\n        OrgId = terraformTest.Id,\n        PortConfig = \n        {\n            { \"ge-0/0/3\", new JuniperMist.Org.Inputs.DeviceprofileGatewayPortConfigArgs\n            {\n                Name = \"FTTH\",\n                Usage = \"wan\",\n                Aggregated = false,\n                Redundant = false,\n                Critical = false,\n                WanType = \"broadband\",\n                IpConfig = new JuniperMist.Org.Inputs.DeviceprofileGatewayPortConfigIpConfigArgs\n                {\n                    Type = \"static\",\n                    Ip = \"192.168.1.8\",\n                    Netmask = \"/24\",\n                    Gateway = \"192.168.1.1\",\n                },\n                DisableAutoneg = false,\n                Speed = \"auto\",\n                Duplex = \"auto\",\n                WanSourceNat = new JuniperMist.Org.Inputs.DeviceprofileGatewayPortConfigWanSourceNatArgs\n                {\n                    Disabled = false,\n                },\n                VpnPaths = \n                {\n                    { \"SSR_HUB_DC-MPLS.OrgOverlay\", new JuniperMist.Org.Inputs.DeviceprofileGatewayPortConfigVpnPathsArgs\n                    {\n                        Key = 0,\n                        Role = \"spoke\",\n                        BfdProfile = \"broadband\",\n                    } },\n                },\n            } },\n            { \"ge-0/0/5\", new JuniperMist.Org.Inputs.DeviceprofileGatewayPortConfigArgs\n            {\n                Usage = \"lan\",\n                Critical = false,\n                Aggregated = true,\n                AeDisableLacp = false,\n                AeLacpForceUp = true,\n                AeIdx = \"0\",\n                Redundant = false,\n                Networks = new[]\n                {\n                    \"PRD-Core\",\n                    \"PRD-Mgmt\",\n                    \"PRD-Lab\",\n                },\n            } },\n        },\n        IpConfigs = \n        {\n            { \"PRD-Core\", new JuniperMist.Org.Inputs.DeviceprofileGatewayIpConfigsArgs\n            {\n                Type = \"static\",\n                Ip = \"10.3.100.9\",\n                Netmask = \"/24\",\n            } },\n            { \"PRD-Mgmt\", new JuniperMist.Org.Inputs.DeviceprofileGatewayIpConfigsArgs\n            {\n                Type = \"static\",\n                Ip = \"10.3.172.1\",\n                Netmask = \"/24\",\n            } },\n            { \"PRD-Lab\", new JuniperMist.Org.Inputs.DeviceprofileGatewayIpConfigsArgs\n            {\n                Type = \"static\",\n                Ip = \"10.3.171.1\",\n                Netmask = \"/24\",\n            } },\n        },\n        ServicePolicies = new[]\n        {\n            new JuniperMist.Org.Inputs.DeviceprofileGatewayServicePolicyArgs\n            {\n                Name = \"Policy-14\",\n                Tenants = new[]\n                {\n                    \"PRD-Core\",\n                },\n                Services = new[]\n                {\n                    \"any\",\n                },\n                Action = \"allow\",\n                PathPreference = \"HUB\",\n                Idp = new JuniperMist.Org.Inputs.DeviceprofileGatewayServicePolicyIdpArgs\n                {\n                    Enabled = true,\n                    Profile = \"critical\",\n                    AlertOnly = false,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewDeviceprofileGateway(ctx, \"deviceprofile_gw_one\", \u0026org.DeviceprofileGatewayArgs{\n\t\t\tName:  pulumi.String(\"deviceprofile_gw_one\"),\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tPortConfig: org.DeviceprofileGatewayPortConfigMap{\n\t\t\t\t\"ge-0/0/3\": \u0026org.DeviceprofileGatewayPortConfigArgs{\n\t\t\t\t\tName:       pulumi.String(\"FTTH\"),\n\t\t\t\t\tUsage:      pulumi.String(\"wan\"),\n\t\t\t\t\tAggregated: pulumi.Bool(false),\n\t\t\t\t\tRedundant:  pulumi.Bool(false),\n\t\t\t\t\tCritical:   pulumi.Bool(false),\n\t\t\t\t\tWanType:    pulumi.String(\"broadband\"),\n\t\t\t\t\tIpConfig: \u0026org.DeviceprofileGatewayPortConfigIpConfigArgs{\n\t\t\t\t\t\tType:    pulumi.String(\"static\"),\n\t\t\t\t\t\tIp:      pulumi.String(\"192.168.1.8\"),\n\t\t\t\t\t\tNetmask: pulumi.String(\"/24\"),\n\t\t\t\t\t\tGateway: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tDisableAutoneg: pulumi.Bool(false),\n\t\t\t\t\tSpeed:          pulumi.String(\"auto\"),\n\t\t\t\t\tDuplex:         pulumi.String(\"auto\"),\n\t\t\t\t\tWanSourceNat: \u0026org.DeviceprofileGatewayPortConfigWanSourceNatArgs{\n\t\t\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tVpnPaths: org.DeviceprofileGatewayPortConfigVpnPathsMap{\n\t\t\t\t\t\t\"SSR_HUB_DC-MPLS.OrgOverlay\": \u0026org.DeviceprofileGatewayPortConfigVpnPathsArgs{\n\t\t\t\t\t\t\tKey:        0,\n\t\t\t\t\t\t\tRole:       pulumi.String(\"spoke\"),\n\t\t\t\t\t\t\tBfdProfile: pulumi.String(\"broadband\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"ge-0/0/5\": \u0026org.DeviceprofileGatewayPortConfigArgs{\n\t\t\t\t\tUsage:         pulumi.String(\"lan\"),\n\t\t\t\t\tCritical:      pulumi.Bool(false),\n\t\t\t\t\tAggregated:    pulumi.Bool(true),\n\t\t\t\t\tAeDisableLacp: pulumi.Bool(false),\n\t\t\t\t\tAeLacpForceUp: pulumi.Bool(true),\n\t\t\t\t\tAeIdx:         pulumi.String(\"0\"),\n\t\t\t\t\tRedundant:     pulumi.Bool(false),\n\t\t\t\t\tNetworks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PRD-Core\"),\n\t\t\t\t\t\tpulumi.String(\"PRD-Mgmt\"),\n\t\t\t\t\t\tpulumi.String(\"PRD-Lab\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpConfigs: org.DeviceprofileGatewayIpConfigsMap{\n\t\t\t\t\"PRD-Core\": \u0026org.DeviceprofileGatewayIpConfigsArgs{\n\t\t\t\t\tType:    pulumi.String(\"static\"),\n\t\t\t\t\tIp:      pulumi.String(\"10.3.100.9\"),\n\t\t\t\t\tNetmask: pulumi.String(\"/24\"),\n\t\t\t\t},\n\t\t\t\t\"PRD-Mgmt\": \u0026org.DeviceprofileGatewayIpConfigsArgs{\n\t\t\t\t\tType:    pulumi.String(\"static\"),\n\t\t\t\t\tIp:      pulumi.String(\"10.3.172.1\"),\n\t\t\t\t\tNetmask: pulumi.String(\"/24\"),\n\t\t\t\t},\n\t\t\t\t\"PRD-Lab\": \u0026org.DeviceprofileGatewayIpConfigsArgs{\n\t\t\t\t\tType:    pulumi.String(\"static\"),\n\t\t\t\t\tIp:      pulumi.String(\"10.3.171.1\"),\n\t\t\t\t\tNetmask: pulumi.String(\"/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServicePolicies: org.DeviceprofileGatewayServicePolicyArray{\n\t\t\t\t\u0026org.DeviceprofileGatewayServicePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"Policy-14\"),\n\t\t\t\t\tTenants: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PRD-Core\"),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"any\"),\n\t\t\t\t\t},\n\t\t\t\t\tAction:         pulumi.String(\"allow\"),\n\t\t\t\t\tPathPreference: pulumi.String(\"HUB\"),\n\t\t\t\t\tIdp: \u0026org.DeviceprofileGatewayServicePolicyIdpArgs{\n\t\t\t\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\t\t\t\tProfile:   pulumi.String(\"critical\"),\n\t\t\t\t\t\tAlertOnly: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_deviceprofilegateway\" \"deviceprofile_gw_one\" {\n  name   = \"deviceprofile_gw_one\"\n  org_id = terraformTest.id\n  port_config = {\n    \"ge-0/0/3\" = {\n      name       = \"FTTH\"\n      usage      = \"wan\"\n      aggregated = false\n      redundant  = false\n      critical   = false\n      wan_type   = \"broadband\"\n      ip_config = {\n        type    = \"static\"\n        ip      = \"192.168.1.8\"\n        netmask = \"/24\"\n        gateway = \"192.168.1.1\"\n      }\n      disable_autoneg = false\n      speed           = \"auto\"\n      duplex          = \"auto\"\n      wan_source_nat = {\n        disabled = false\n      }\n      vpn_paths = {\n        \"SSR_HUB_DC-MPLS.OrgOverlay\" = {\n          key         = 0\n          role        = \"spoke\"\n          bfd_profile = \"broadband\"\n        }\n      }\n    }\n    \"ge-0/0/5\" = {\n      usage            = \"lan\"\n      critical         = false\n      aggregated       = true\n      ae_disable_lacp  = false\n      ae_lacp_force_up = true\n      ae_idx           = 0\n      redundant        = false\n      networks         = [\"PRD-Core\", \"PRD-Mgmt\", \"PRD-Lab\"]\n    }\n  }\n  ip_configs = {\n    \"PRD-Core\" = {\n      type    = \"static\"\n      ip      = \"10.3.100.9\"\n      netmask = \"/24\"\n    }\n    \"PRD-Mgmt\" = {\n      type    = \"static\"\n      ip      = \"10.3.172.1\"\n      netmask = \"/24\"\n    }\n    \"PRD-Lab\" = {\n      type    = \"static\"\n      ip      = \"10.3.171.1\"\n      netmask = \"/24\"\n    }\n  }\n  service_policies {\n    name            = \"Policy-14\"\n    tenants         = [\"PRD-Core\"]\n    services        = [\"any\"]\n    action          = \"allow\"\n    path_preference = \"HUB\"\n    idp = {\n      enabled    = true\n      profile    = \"critical\"\n      alert_only = false\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.DeviceprofileGateway;\nimport com.pulumi.junipermist.org.DeviceprofileGatewayArgs;\nimport com.pulumi.junipermist.org.inputs.DeviceprofileGatewayPortConfigArgs;\nimport com.pulumi.junipermist.org.inputs.DeviceprofileGatewayPortConfigIpConfigArgs;\nimport com.pulumi.junipermist.org.inputs.DeviceprofileGatewayPortConfigWanSourceNatArgs;\nimport com.pulumi.junipermist.org.inputs.DeviceprofileGatewayPortConfigVpnPathsArgs;\nimport com.pulumi.junipermist.org.inputs.DeviceprofileGatewayIpConfigsArgs;\nimport com.pulumi.junipermist.org.inputs.DeviceprofileGatewayServicePolicyArgs;\nimport com.pulumi.junipermist.org.inputs.DeviceprofileGatewayServicePolicyIdpArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var deviceprofileGwOne = new DeviceprofileGateway(\"deviceprofileGwOne\", DeviceprofileGatewayArgs.builder()\n            .name(\"deviceprofile_gw_one\")\n            .orgId(terraformTest.id())\n            .portConfig(Map.ofEntries(\n                Map.entry(\"ge-0/0/3\", DeviceprofileGatewayPortConfigArgs.builder()\n                    .name(\"FTTH\")\n                    .usage(\"wan\")\n                    .aggregated(false)\n                    .redundant(false)\n                    .critical(false)\n                    .wanType(\"broadband\")\n                    .ipConfig(DeviceprofileGatewayPortConfigIpConfigArgs.builder()\n                        .type(\"static\")\n                        .ip(\"192.168.1.8\")\n                        .netmask(\"/24\")\n                        .gateway(\"192.168.1.1\")\n                        .build())\n                    .disableAutoneg(false)\n                    .speed(\"auto\")\n                    .duplex(\"auto\")\n                    .wanSourceNat(DeviceprofileGatewayPortConfigWanSourceNatArgs.builder()\n                        .disabled(false)\n                        .build())\n                    .vpnPaths(Map.of(\"SSR_HUB_DC-MPLS.OrgOverlay\", DeviceprofileGatewayPortConfigVpnPathsArgs.builder()\n                        .key(0)\n                        .role(\"spoke\")\n                        .bfdProfile(\"broadband\")\n                        .build()))\n                    .build()),\n                Map.entry(\"ge-0/0/5\", DeviceprofileGatewayPortConfigArgs.builder()\n                    .usage(\"lan\")\n                    .critical(false)\n                    .aggregated(true)\n                    .aeDisableLacp(false)\n                    .aeLacpForceUp(true)\n                    .aeIdx(\"0\")\n                    .redundant(false)\n                    .networks(                    \n                        \"PRD-Core\",\n                        \"PRD-Mgmt\",\n                        \"PRD-Lab\")\n                    .build())\n            ))\n            .ipConfigs(Map.ofEntries(\n                Map.entry(\"PRD-Core\", DeviceprofileGatewayIpConfigsArgs.builder()\n                    .type(\"static\")\n                    .ip(\"10.3.100.9\")\n                    .netmask(\"/24\")\n                    .build()),\n                Map.entry(\"PRD-Mgmt\", DeviceprofileGatewayIpConfigsArgs.builder()\n                    .type(\"static\")\n                    .ip(\"10.3.172.1\")\n                    .netmask(\"/24\")\n                    .build()),\n                Map.entry(\"PRD-Lab\", DeviceprofileGatewayIpConfigsArgs.builder()\n                    .type(\"static\")\n                    .ip(\"10.3.171.1\")\n                    .netmask(\"/24\")\n                    .build())\n            ))\n            .servicePolicies(DeviceprofileGatewayServicePolicyArgs.builder()\n                .name(\"Policy-14\")\n                .tenants(\"PRD-Core\")\n                .services(\"any\")\n                .action(\"allow\")\n                .pathPreference(\"HUB\")\n                .idp(DeviceprofileGatewayServicePolicyIdpArgs.builder()\n                    .enabled(true)\n                    .profile(\"critical\")\n                    .alertOnly(false)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  deviceprofileGwOne:\n    type: junipermist:org:DeviceprofileGateway\n    name: deviceprofile_gw_one\n    properties:\n      name: deviceprofile_gw_one\n      orgId: ${terraformTest.id}\n      portConfig:\n        ge-0/0/3:\n          name: FTTH\n          usage: wan\n          aggregated: false\n          redundant: false\n          critical: false\n          wanType: broadband\n          ipConfig:\n            type: static\n            ip: 192.168.1.8\n            netmask: /24\n            gateway: 192.168.1.1\n          disableAutoneg: false\n          speed: auto\n          duplex: auto\n          wanSourceNat:\n            disabled: false\n          vpnPaths:\n            SSR_HUB_DC-MPLS.OrgOverlay:\n              key: 0\n              role: spoke\n              bfdProfile: broadband\n        ge-0/0/5:\n          usage: lan\n          critical: false\n          aggregated: true\n          aeDisableLacp: false\n          aeLacpForceUp: true\n          aeIdx: 0\n          redundant: false\n          networks:\n            - PRD-Core\n            - PRD-Mgmt\n            - PRD-Lab\n      ipConfigs:\n        PRD-Core:\n          type: static\n          ip: 10.3.100.9\n          netmask: /24\n        PRD-Mgmt:\n          type: static\n          ip: 10.3.172.1\n          netmask: /24\n        PRD-Lab:\n          type: static\n          ip: 10.3.171.1\n          netmask: /24\n      servicePolicies:\n        - name: Policy-14\n          tenants:\n            - PRD-Core\n          services:\n            - any\n          action: allow\n          pathPreference: HUB\n          idp:\n            enabled: true\n            profile: critical\n            alertOnly: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.DeviceprofileGateway`\" pulumi-lang-dotnet=\"`junipermist.org.DeviceprofileGateway`\" pulumi-lang-go=\"`org.DeviceprofileGateway`\" pulumi-lang-python=\"`org.DeviceprofileGateway`\" pulumi-lang-yaml=\"`junipermist.org.DeviceprofileGateway`\" pulumi-lang-java=\"`junipermist.org.DeviceprofileGateway`\" pulumi-lang-hcl=\"`mist_org_deviceprofile_gateway`\"\u003e`junipermist.org.DeviceprofileGateway`\u003c/span\u003e with:\nDevice Profile can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" deviceprofileId\n\" pulumi-lang-dotnet=\" DeviceprofileId\n\" pulumi-lang-go=\" deviceprofileId\n\" pulumi-lang-python=\" deviceprofile_id\n\" pulumi-lang-yaml=\" deviceprofileId\n\" pulumi-lang-java=\" deviceprofileId\n\" pulumi-lang-hcl=\" deviceprofile_id\n\"\u003e deviceprofileId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/deviceprofileGateway:DeviceprofileGateway deviceprofile_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands provided by this gateway profile"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayBgpConfig:DeviceprofileGatewayBgpConfig"
                    },
                    "description": "BGP routing defaults for this gateway profile. Property key is the BGP session name"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayDhcpdConfig:DeviceprofileGatewayDhcpdConfig",
                    "description": "DHCP server defaults provided by this gateway profile"
                },
                "dnsOverride": {
                    "type": "boolean",
                    "description": "Whether DNS server and suffix settings in this profile override inherited values"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers provided by this gateway profile"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes provided by this gateway profile"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayExtraRoutes:DeviceprofileGatewayExtraRoutes"
                    },
                    "description": "Additional IPv4 route defaults in this gateway profile"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayExtraRoutes6:DeviceprofileGatewayExtraRoutes6"
                    },
                    "description": "Additional IPv6 route defaults in this gateway profile"
                },
                "idpProfiles": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayIdpProfiles:DeviceprofileGatewayIdpProfiles"
                    },
                    "description": "Intrusion detection and prevention profile defaults in this gateway profile"
                },
                "ipConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayIpConfigs:DeviceprofileGatewayIpConfigs"
                    },
                    "description": "Gateway interface IP configuration defaults by network name"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the gateway profile"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetwork:DeviceprofileGatewayNetwork"
                    },
                    "description": "Layer 3 networks configured by this gateway profile"
                },
                "ntpOverride": {
                    "type": "boolean",
                    "description": "Whether NTP servers in this profile override inherited values"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers provided by this gateway profile"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayOobIpConfig:DeviceprofileGatewayOobIpConfig",
                    "description": "Out-of-band management IP defaults in this gateway profile"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this gateway profile"
                },
                "pathPreferences": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayPathPreferences:DeviceprofileGatewayPathPreferences"
                    },
                    "description": "Property key is the path name"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfig:DeviceprofileGatewayPortConfig"
                    },
                    "description": "Property key is the port(s) name or range (e.g. \"ge-0/0/0-10\")"
                },
                "routerId": {
                    "type": "string",
                    "description": "Auto assigned if not set"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayRoutingPolicies:DeviceprofileGatewayRoutingPolicies"
                    },
                    "description": "Routing policy defaults applied by this gateway profile"
                },
                "servicePolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicy:DeviceprofileGatewayServicePolicy"
                    },
                    "description": "Traffic service policy defaults enforced by this gateway profile"
                },
                "ssrAdditionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional CLI commands to append to the generated SSR config. **Note**: no check is done"
                },
                "tunnelConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigs:DeviceprofileGatewayTunnelConfigs"
                    },
                    "description": "Property key is the tunnel name"
                },
                "tunnelProviderOptions": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelProviderOptions:DeviceprofileGatewayTunnelProviderOptions",
                    "description": "Provider-specific tunnel options defined by this gateway profile"
                },
                "type": {
                    "type": "string",
                    "description": "Device type discriminator for gateway profiles"
                },
                "urlFilteringDenyMsg": {
                    "type": "string",
                    "description": "When a service policy denies a app_category, what message to show in user's browser"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayVrfConfig:DeviceprofileGatewayVrfConfig",
                    "description": "VRF defaults applied by this gateway profile"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayVrfInstances:DeviceprofileGatewayVrfInstances"
                    },
                    "description": "VRF instances configured by this gateway profile"
                }
            },
            "required": [
                "name",
                "oobIpConfig",
                "orgId",
                "type"
            ],
            "inputProperties": {
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands provided by this gateway profile"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayBgpConfig:DeviceprofileGatewayBgpConfig"
                    },
                    "description": "BGP routing defaults for this gateway profile. Property key is the BGP session name"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayDhcpdConfig:DeviceprofileGatewayDhcpdConfig",
                    "description": "DHCP server defaults provided by this gateway profile"
                },
                "dnsOverride": {
                    "type": "boolean",
                    "description": "Whether DNS server and suffix settings in this profile override inherited values"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers provided by this gateway profile"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes provided by this gateway profile"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayExtraRoutes:DeviceprofileGatewayExtraRoutes"
                    },
                    "description": "Additional IPv4 route defaults in this gateway profile"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayExtraRoutes6:DeviceprofileGatewayExtraRoutes6"
                    },
                    "description": "Additional IPv6 route defaults in this gateway profile"
                },
                "idpProfiles": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayIdpProfiles:DeviceprofileGatewayIdpProfiles"
                    },
                    "description": "Intrusion detection and prevention profile defaults in this gateway profile"
                },
                "ipConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayIpConfigs:DeviceprofileGatewayIpConfigs"
                    },
                    "description": "Gateway interface IP configuration defaults by network name"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the gateway profile"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetwork:DeviceprofileGatewayNetwork"
                    },
                    "description": "Layer 3 networks configured by this gateway profile"
                },
                "ntpOverride": {
                    "type": "boolean",
                    "description": "Whether NTP servers in this profile override inherited values"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers provided by this gateway profile"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayOobIpConfig:DeviceprofileGatewayOobIpConfig",
                    "description": "Out-of-band management IP defaults in this gateway profile"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this gateway profile"
                },
                "pathPreferences": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayPathPreferences:DeviceprofileGatewayPathPreferences"
                    },
                    "description": "Property key is the path name"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfig:DeviceprofileGatewayPortConfig"
                    },
                    "description": "Property key is the port(s) name or range (e.g. \"ge-0/0/0-10\")"
                },
                "routerId": {
                    "type": "string",
                    "description": "Auto assigned if not set"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayRoutingPolicies:DeviceprofileGatewayRoutingPolicies"
                    },
                    "description": "Routing policy defaults applied by this gateway profile"
                },
                "servicePolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicy:DeviceprofileGatewayServicePolicy"
                    },
                    "description": "Traffic service policy defaults enforced by this gateway profile"
                },
                "ssrAdditionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional CLI commands to append to the generated SSR config. **Note**: no check is done"
                },
                "tunnelConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigs:DeviceprofileGatewayTunnelConfigs"
                    },
                    "description": "Property key is the tunnel name"
                },
                "tunnelProviderOptions": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelProviderOptions:DeviceprofileGatewayTunnelProviderOptions",
                    "description": "Provider-specific tunnel options defined by this gateway profile"
                },
                "urlFilteringDenyMsg": {
                    "type": "string",
                    "description": "When a service policy denies a app_category, what message to show in user's browser"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileGatewayVrfConfig:DeviceprofileGatewayVrfConfig",
                    "description": "VRF defaults applied by this gateway profile"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayVrfInstances:DeviceprofileGatewayVrfInstances"
                    },
                    "description": "VRF instances configured by this gateway profile"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DeviceprofileGateway resources.\n",
                "properties": {
                    "additionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Additional CLI configuration commands provided by this gateway profile"
                    },
                    "bgpConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayBgpConfig:DeviceprofileGatewayBgpConfig"
                        },
                        "description": "BGP routing defaults for this gateway profile. Property key is the BGP session name"
                    },
                    "dhcpdConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayDhcpdConfig:DeviceprofileGatewayDhcpdConfig",
                        "description": "DHCP server defaults provided by this gateway profile"
                    },
                    "dnsOverride": {
                        "type": "boolean",
                        "description": "Whether DNS server and suffix settings in this profile override inherited values"
                    },
                    "dnsServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS servers provided by this gateway profile"
                    },
                    "dnsSuffixes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS search suffixes provided by this gateway profile"
                    },
                    "extraRoutes": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayExtraRoutes:DeviceprofileGatewayExtraRoutes"
                        },
                        "description": "Additional IPv4 route defaults in this gateway profile"
                    },
                    "extraRoutes6": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayExtraRoutes6:DeviceprofileGatewayExtraRoutes6"
                        },
                        "description": "Additional IPv6 route defaults in this gateway profile"
                    },
                    "idpProfiles": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayIdpProfiles:DeviceprofileGatewayIdpProfiles"
                        },
                        "description": "Intrusion detection and prevention profile defaults in this gateway profile"
                    },
                    "ipConfigs": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayIpConfigs:DeviceprofileGatewayIpConfigs"
                        },
                        "description": "Gateway interface IP configuration defaults by network name"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the gateway profile"
                    },
                    "networks": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayNetwork:DeviceprofileGatewayNetwork"
                        },
                        "description": "Layer 3 networks configured by this gateway profile"
                    },
                    "ntpOverride": {
                        "type": "boolean",
                        "description": "Whether NTP servers in this profile override inherited values"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "NTP servers provided by this gateway profile"
                    },
                    "oobIpConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayOobIpConfig:DeviceprofileGatewayOobIpConfig",
                        "description": "Out-of-band management IP defaults in this gateway profile"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this gateway profile"
                    },
                    "pathPreferences": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayPathPreferences:DeviceprofileGatewayPathPreferences"
                        },
                        "description": "Property key is the path name"
                    },
                    "portConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayPortConfig:DeviceprofileGatewayPortConfig"
                        },
                        "description": "Property key is the port(s) name or range (e.g. \"ge-0/0/0-10\")"
                    },
                    "routerId": {
                        "type": "string",
                        "description": "Auto assigned if not set"
                    },
                    "routingPolicies": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayRoutingPolicies:DeviceprofileGatewayRoutingPolicies"
                        },
                        "description": "Routing policy defaults applied by this gateway profile"
                    },
                    "servicePolicies": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayServicePolicy:DeviceprofileGatewayServicePolicy"
                        },
                        "description": "Traffic service policy defaults enforced by this gateway profile"
                    },
                    "ssrAdditionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "additional CLI commands to append to the generated SSR config. **Note**: no check is done"
                    },
                    "tunnelConfigs": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelConfigs:DeviceprofileGatewayTunnelConfigs"
                        },
                        "description": "Property key is the tunnel name"
                    },
                    "tunnelProviderOptions": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayTunnelProviderOptions:DeviceprofileGatewayTunnelProviderOptions",
                        "description": "Provider-specific tunnel options defined by this gateway profile"
                    },
                    "type": {
                        "type": "string",
                        "description": "Device type discriminator for gateway profiles"
                    },
                    "urlFilteringDenyMsg": {
                        "type": "string",
                        "description": "When a service policy denies a app_category, what message to show in user's browser"
                    },
                    "vrfConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileGatewayVrfConfig:DeviceprofileGatewayVrfConfig",
                        "description": "VRF defaults applied by this gateway profile"
                    },
                    "vrfInstances": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileGatewayVrfInstances:DeviceprofileGatewayVrfInstances"
                        },
                        "description": "VRF instances configured by this gateway profile"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/deviceprofileSwitch:DeviceprofileSwitch": {
            "description": "This resource manages the Switch Device Profiles.\n\nA Switch Device Profile is a configuration profile that defines the attributes of a switch device in a network. It includes settings for port configurations, VLANs, routing, and other switch-specific options. Switch Device Profiles are used to create consistent configurations across switch devices.\n\nThe Switch Device Profile can be assigned to a switch with the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-dotnet=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-go=\"`org.DeviceprofileAssign`\" pulumi-lang-python=\"`org.DeviceprofileAssign`\" pulumi-lang-yaml=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-java=\"`junipermist.org.DeviceprofileAssign`\" pulumi-lang-hcl=\"`mist_org_deviceprofile_assign`\"\u003e`junipermist.org.DeviceprofileAssign`\u003c/span\u003e resource.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst deviceprofileSwitchOne = new junipermist.org.DeviceprofileSwitch(\"deviceprofile_switch_one\", {\n    name: \"deviceprofile_switch_one\",\n    orgId: terraformTest.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\ndeviceprofile_switch_one = junipermist.org.DeviceprofileSwitch(\"deviceprofile_switch_one\",\n    name=\"deviceprofile_switch_one\",\n    org_id=terraform_test[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var deviceprofileSwitchOne = new JuniperMist.Org.DeviceprofileSwitch(\"deviceprofile_switch_one\", new()\n    {\n        Name = \"deviceprofile_switch_one\",\n        OrgId = terraformTest.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewDeviceprofileSwitch(ctx, \"deviceprofile_switch_one\", \u0026org.DeviceprofileSwitchArgs{\n\t\t\tName:  pulumi.String(\"deviceprofile_switch_one\"),\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_deviceprofileswitch\" \"deviceprofile_switch_one\" {\n  name   = \"deviceprofile_switch_one\"\n  org_id = terraformTest.id\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.DeviceprofileSwitch;\nimport com.pulumi.junipermist.org.DeviceprofileSwitchArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var deviceprofileSwitchOne = new DeviceprofileSwitch(\"deviceprofileSwitchOne\", DeviceprofileSwitchArgs.builder()\n            .name(\"deviceprofile_switch_one\")\n            .orgId(terraformTest.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  deviceprofileSwitchOne:\n    type: junipermist:org:DeviceprofileSwitch\n    name: deviceprofile_switch_one\n    properties:\n      name: deviceprofile_switch_one\n      orgId: ${terraformTest.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "aclPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchAclPolicy:DeviceprofileSwitchAclPolicy"
                    },
                    "description": "ACL policy defaults provided by this switch profile"
                },
                "aclTags": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchAclTags:DeviceprofileSwitchAclTags"
                    },
                    "description": "ACL tags available to switch access policies in this profile"
                },
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands provided by this switch profile"
                },
                "dhcpSnooping": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpSnooping:DeviceprofileSwitchDhcpSnooping",
                    "description": "DHCP snooping defaults provided by this switch profile"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpdConfig:DeviceprofileSwitchDhcpdConfig",
                    "description": "DHCP server defaults provided by this switch profile"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers provided by this switch profile"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes provided by this switch profile"
                },
                "evpnConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchEvpnConfig:DeviceprofileSwitchEvpnConfig",
                    "description": "EVPN defaults applied by this switch profile"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchExtraRoutes:DeviceprofileSwitchExtraRoutes"
                    },
                    "description": "Additional IPv4 route defaults in this switch profile"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchExtraRoutes6:DeviceprofileSwitchExtraRoutes6"
                    },
                    "description": "Additional IPv6 route defaults in this switch profile"
                },
                "iotConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchIotConfig:DeviceprofileSwitchIotConfig"
                    },
                    "description": "IoT port defaults provided by this switch profile"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchIpConfig:DeviceprofileSwitchIpConfig",
                    "description": "Management IP addressing defaults in this switch profile"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchMistNac:DeviceprofileSwitchMistNac",
                    "description": "Mist NAC defaults applied by this switch profile"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the switch profile"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchNetworks:DeviceprofileSwitchNetworks"
                    },
                    "description": "Layer 3 networks configured by this switch profile"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers provided by this switch profile"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchOobIpConfig:DeviceprofileSwitchOobIpConfig",
                    "description": "Out-of-band management IP defaults in this switch profile"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this switch profile"
                },
                "ospfAreas": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchOspfAreas:DeviceprofileSwitchOspfAreas"
                    },
                    "description": "OSPF area defaults provided by this switch profile"
                },
                "otherIpConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchOtherIpConfigs:DeviceprofileSwitchOtherIpConfigs"
                    },
                    "description": "Property key is the network name. Defines the additional IP Addresses configured on the device."
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortConfig:DeviceprofileSwitchPortConfig"
                    },
                    "description": "Per-port wired defaults provided by this switch profile"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortMirroring:DeviceprofileSwitchPortMirroring"
                    },
                    "description": "Port mirroring defaults provided by this switch profile"
                },
                "portUsages": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortUsages:DeviceprofileSwitchPortUsages"
                    },
                    "description": "Reusable switch port usage profiles provided by this switch profile"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchRadiusConfig:DeviceprofileSwitchRadiusConfig",
                    "description": "RADIUS authentication and accounting defaults in this switch profile"
                },
                "remoteSyslog": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslog:DeviceprofileSwitchRemoteSyslog",
                    "description": "Remote syslog defaults provided by this switch profile"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRoutingPolicies:DeviceprofileSwitchRoutingPolicies"
                    },
                    "description": "Routing policy defaults applied by this switch profile"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this switch profile is defined, when scoped to a site"
                },
                "snmpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfig:DeviceprofileSwitchSnmpConfig",
                    "description": "SNMP defaults provided by this switch profile"
                },
                "stpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchStpConfig:DeviceprofileSwitchStpConfig",
                    "description": "Spanning Tree Protocol defaults provided by this switch profile"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchSwitchMgmt:DeviceprofileSwitchSwitchMgmt",
                    "description": "Management-plane defaults provided by this switch profile"
                },
                "type": {
                    "type": "string",
                    "description": "Device type discriminator for switch profiles"
                },
                "useRouterIdAsSourceIp": {
                    "type": "boolean",
                    "description": "Whether to use it for snmp / syslog / tacplus / radius"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrfConfig:DeviceprofileSwitchVrfConfig",
                    "description": "VRF defaults applied by this switch profile"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrfInstances:DeviceprofileSwitchVrfInstances"
                    },
                    "description": "VRF instances configured by this switch profile"
                },
                "vrrpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrrpConfig:DeviceprofileSwitchVrrpConfig",
                    "description": "VRRP defaults applied by this switch profile"
                }
            },
            "required": [
                "dnsServers",
                "dnsSuffixes",
                "name",
                "ntpServers",
                "orgId",
                "type"
            ],
            "inputProperties": {
                "aclPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchAclPolicy:DeviceprofileSwitchAclPolicy"
                    },
                    "description": "ACL policy defaults provided by this switch profile"
                },
                "aclTags": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchAclTags:DeviceprofileSwitchAclTags"
                    },
                    "description": "ACL tags available to switch access policies in this profile"
                },
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands provided by this switch profile"
                },
                "dhcpSnooping": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpSnooping:DeviceprofileSwitchDhcpSnooping",
                    "description": "DHCP snooping defaults provided by this switch profile"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpdConfig:DeviceprofileSwitchDhcpdConfig",
                    "description": "DHCP server defaults provided by this switch profile"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers provided by this switch profile"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes provided by this switch profile"
                },
                "evpnConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchEvpnConfig:DeviceprofileSwitchEvpnConfig",
                    "description": "EVPN defaults applied by this switch profile"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchExtraRoutes:DeviceprofileSwitchExtraRoutes"
                    },
                    "description": "Additional IPv4 route defaults in this switch profile"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchExtraRoutes6:DeviceprofileSwitchExtraRoutes6"
                    },
                    "description": "Additional IPv6 route defaults in this switch profile"
                },
                "iotConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchIotConfig:DeviceprofileSwitchIotConfig"
                    },
                    "description": "IoT port defaults provided by this switch profile"
                },
                "ipConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchIpConfig:DeviceprofileSwitchIpConfig",
                    "description": "Management IP addressing defaults in this switch profile"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchMistNac:DeviceprofileSwitchMistNac",
                    "description": "Mist NAC defaults applied by this switch profile"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the switch profile"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchNetworks:DeviceprofileSwitchNetworks"
                    },
                    "description": "Layer 3 networks configured by this switch profile"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers provided by this switch profile"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchOobIpConfig:DeviceprofileSwitchOobIpConfig",
                    "description": "Out-of-band management IP defaults in this switch profile"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this switch profile"
                },
                "ospfAreas": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchOspfAreas:DeviceprofileSwitchOspfAreas"
                    },
                    "description": "OSPF area defaults provided by this switch profile"
                },
                "otherIpConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchOtherIpConfigs:DeviceprofileSwitchOtherIpConfigs"
                    },
                    "description": "Property key is the network name. Defines the additional IP Addresses configured on the device."
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortConfig:DeviceprofileSwitchPortConfig"
                    },
                    "description": "Per-port wired defaults provided by this switch profile"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortMirroring:DeviceprofileSwitchPortMirroring"
                    },
                    "description": "Port mirroring defaults provided by this switch profile"
                },
                "portUsages": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortUsages:DeviceprofileSwitchPortUsages"
                    },
                    "description": "Reusable switch port usage profiles provided by this switch profile"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchRadiusConfig:DeviceprofileSwitchRadiusConfig",
                    "description": "RADIUS authentication and accounting defaults in this switch profile"
                },
                "remoteSyslog": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslog:DeviceprofileSwitchRemoteSyslog",
                    "description": "Remote syslog defaults provided by this switch profile"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRoutingPolicies:DeviceprofileSwitchRoutingPolicies"
                    },
                    "description": "Routing policy defaults applied by this switch profile"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site where this switch profile is defined, when scoped to a site"
                },
                "snmpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfig:DeviceprofileSwitchSnmpConfig",
                    "description": "SNMP defaults provided by this switch profile"
                },
                "stpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchStpConfig:DeviceprofileSwitchStpConfig",
                    "description": "Spanning Tree Protocol defaults provided by this switch profile"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchSwitchMgmt:DeviceprofileSwitchSwitchMgmt",
                    "description": "Management-plane defaults provided by this switch profile"
                },
                "type": {
                    "type": "string",
                    "description": "Device type discriminator for switch profiles"
                },
                "useRouterIdAsSourceIp": {
                    "type": "boolean",
                    "description": "Whether to use it for snmp / syslog / tacplus / radius"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrfConfig:DeviceprofileSwitchVrfConfig",
                    "description": "VRF defaults applied by this switch profile"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrfInstances:DeviceprofileSwitchVrfInstances"
                    },
                    "description": "VRF instances configured by this switch profile"
                },
                "vrrpConfig": {
                    "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrrpConfig:DeviceprofileSwitchVrrpConfig",
                    "description": "VRRP defaults applied by this switch profile"
                }
            },
            "requiredInputs": [
                "orgId",
                "type"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DeviceprofileSwitch resources.\n",
                "properties": {
                    "aclPolicies": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchAclPolicy:DeviceprofileSwitchAclPolicy"
                        },
                        "description": "ACL policy defaults provided by this switch profile"
                    },
                    "aclTags": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchAclTags:DeviceprofileSwitchAclTags"
                        },
                        "description": "ACL tags available to switch access policies in this profile"
                    },
                    "additionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Additional CLI configuration commands provided by this switch profile"
                    },
                    "dhcpSnooping": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpSnooping:DeviceprofileSwitchDhcpSnooping",
                        "description": "DHCP snooping defaults provided by this switch profile"
                    },
                    "dhcpdConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchDhcpdConfig:DeviceprofileSwitchDhcpdConfig",
                        "description": "DHCP server defaults provided by this switch profile"
                    },
                    "dnsServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS servers provided by this switch profile"
                    },
                    "dnsSuffixes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS search suffixes provided by this switch profile"
                    },
                    "evpnConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchEvpnConfig:DeviceprofileSwitchEvpnConfig",
                        "description": "EVPN defaults applied by this switch profile"
                    },
                    "extraRoutes": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchExtraRoutes:DeviceprofileSwitchExtraRoutes"
                        },
                        "description": "Additional IPv4 route defaults in this switch profile"
                    },
                    "extraRoutes6": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchExtraRoutes6:DeviceprofileSwitchExtraRoutes6"
                        },
                        "description": "Additional IPv6 route defaults in this switch profile"
                    },
                    "iotConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchIotConfig:DeviceprofileSwitchIotConfig"
                        },
                        "description": "IoT port defaults provided by this switch profile"
                    },
                    "ipConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchIpConfig:DeviceprofileSwitchIpConfig",
                        "description": "Management IP addressing defaults in this switch profile"
                    },
                    "mistNac": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchMistNac:DeviceprofileSwitchMistNac",
                        "description": "Mist NAC defaults applied by this switch profile"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the switch profile"
                    },
                    "networks": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchNetworks:DeviceprofileSwitchNetworks"
                        },
                        "description": "Layer 3 networks configured by this switch profile"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "NTP servers provided by this switch profile"
                    },
                    "oobIpConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchOobIpConfig:DeviceprofileSwitchOobIpConfig",
                        "description": "Out-of-band management IP defaults in this switch profile"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this switch profile"
                    },
                    "ospfAreas": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchOspfAreas:DeviceprofileSwitchOspfAreas"
                        },
                        "description": "OSPF area defaults provided by this switch profile"
                    },
                    "otherIpConfigs": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchOtherIpConfigs:DeviceprofileSwitchOtherIpConfigs"
                        },
                        "description": "Property key is the network name. Defines the additional IP Addresses configured on the device."
                    },
                    "portConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortConfig:DeviceprofileSwitchPortConfig"
                        },
                        "description": "Per-port wired defaults provided by this switch profile"
                    },
                    "portMirroring": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortMirroring:DeviceprofileSwitchPortMirroring"
                        },
                        "description": "Port mirroring defaults provided by this switch profile"
                    },
                    "portUsages": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchPortUsages:DeviceprofileSwitchPortUsages"
                        },
                        "description": "Reusable switch port usage profiles provided by this switch profile"
                    },
                    "radiusConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRadiusConfig:DeviceprofileSwitchRadiusConfig",
                        "description": "RADIUS authentication and accounting defaults in this switch profile"
                    },
                    "remoteSyslog": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchRemoteSyslog:DeviceprofileSwitchRemoteSyslog",
                        "description": "Remote syslog defaults provided by this switch profile"
                    },
                    "routingPolicies": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchRoutingPolicies:DeviceprofileSwitchRoutingPolicies"
                        },
                        "description": "Routing policy defaults applied by this switch profile"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Site where this switch profile is defined, when scoped to a site"
                    },
                    "snmpConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSnmpConfig:DeviceprofileSwitchSnmpConfig",
                        "description": "SNMP defaults provided by this switch profile"
                    },
                    "stpConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchStpConfig:DeviceprofileSwitchStpConfig",
                        "description": "Spanning Tree Protocol defaults provided by this switch profile"
                    },
                    "switchMgmt": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchSwitchMgmt:DeviceprofileSwitchSwitchMgmt",
                        "description": "Management-plane defaults provided by this switch profile"
                    },
                    "type": {
                        "type": "string",
                        "description": "Device type discriminator for switch profiles"
                    },
                    "useRouterIdAsSourceIp": {
                        "type": "boolean",
                        "description": "Whether to use it for snmp / syslog / tacplus / radius"
                    },
                    "vrfConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrfConfig:DeviceprofileSwitchVrfConfig",
                        "description": "VRF defaults applied by this switch profile"
                    },
                    "vrfInstances": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrfInstances:DeviceprofileSwitchVrfInstances"
                        },
                        "description": "VRF instances configured by this switch profile"
                    },
                    "vrrpConfig": {
                        "$ref": "#/types/junipermist:org/DeviceprofileSwitchVrrpConfig:DeviceprofileSwitchVrrpConfig",
                        "description": "VRRP defaults applied by this switch profile"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/evpnTopology:EvpnTopology": {
            "description": "This resource manages the Org Evpn Topology.\n\nEVPN allows an alternative but more efficient LAN architecture utilizing VxLAN / MP-BGP to separate the control plane (MAC / IP Learning) from the forwarding plane.\n\n\u003e To create or manage your EVPN Topology with the Mist Provider, please refer to the `How To - EVPN Topology` Guide.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst evpnOne = new junipermist.org.EvpnTopology(\"evpn_one\", {\n    orgId: terraformTest.id,\n    name: \"evpn_one\",\n    evpnOptions: {\n        routedAt: \"core\",\n        overlay: {\n            as: 65000,\n        },\n        coreAsBorder: true,\n        autoLoopbackSubnet: \"172.16.192.0/24\",\n        autoLoopbackSubnet6: \"fd33:ab00:2::/64\",\n        perVlanVgaV4Mac: false,\n        underlay: {\n            asBase: 65001,\n            useIpv6: false,\n            subnet: \"10.255.240.0/20\",\n        },\n        autoRouterIdSubnet: \"172.16.254.0/23\",\n    },\n    switches: [\n        {\n            mac: \"020004000001\",\n            role: \"core\",\n        },\n        {\n            mac: \"02000400002\",\n            role: \"core\",\n        },\n        {\n            mac: \"02000400003\",\n            role: \"distribution\",\n        },\n        {\n            mac: \"02000400004\",\n            role: \"distribution\",\n        },\n        {\n            mac: \"02000400005\",\n            role: \"access\",\n        },\n        {\n            mac: \"02000400006\",\n            role: \"access\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nevpn_one = junipermist.org.EvpnTopology(\"evpn_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"evpn_one\",\n    evpn_options={\n        \"routed_at\": \"core\",\n        \"overlay\": {\n            \"as_\": 65000,\n        },\n        \"core_as_border\": True,\n        \"auto_loopback_subnet\": \"172.16.192.0/24\",\n        \"auto_loopback_subnet6\": \"fd33:ab00:2::/64\",\n        \"per_vlan_vga_v4_mac\": False,\n        \"underlay\": {\n            \"as_base\": 65001,\n            \"use_ipv6\": False,\n            \"subnet\": \"10.255.240.0/20\",\n        },\n        \"auto_router_id_subnet\": \"172.16.254.0/23\",\n    },\n    switches=[\n        {\n            \"mac\": \"020004000001\",\n            \"role\": \"core\",\n        },\n        {\n            \"mac\": \"02000400002\",\n            \"role\": \"core\",\n        },\n        {\n            \"mac\": \"02000400003\",\n            \"role\": \"distribution\",\n        },\n        {\n            \"mac\": \"02000400004\",\n            \"role\": \"distribution\",\n        },\n        {\n            \"mac\": \"02000400005\",\n            \"role\": \"access\",\n        },\n        {\n            \"mac\": \"02000400006\",\n            \"role\": \"access\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var evpnOne = new JuniperMist.Org.EvpnTopology(\"evpn_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"evpn_one\",\n        EvpnOptions = new JuniperMist.Org.Inputs.EvpnTopologyEvpnOptionsArgs\n        {\n            RoutedAt = \"core\",\n            Overlay = new JuniperMist.Org.Inputs.EvpnTopologyEvpnOptionsOverlayArgs\n            {\n                As = 65000,\n            },\n            CoreAsBorder = true,\n            AutoLoopbackSubnet = \"172.16.192.0/24\",\n            AutoLoopbackSubnet6 = \"fd33:ab00:2::/64\",\n            PerVlanVgaV4Mac = false,\n            Underlay = new JuniperMist.Org.Inputs.EvpnTopologyEvpnOptionsUnderlayArgs\n            {\n                AsBase = 65001,\n                UseIpv6 = false,\n                Subnet = \"10.255.240.0/20\",\n            },\n            AutoRouterIdSubnet = \"172.16.254.0/23\",\n        },\n        Switches = new[]\n        {\n            new JuniperMist.Org.Inputs.EvpnTopologySwitchesArgs\n            {\n                Mac = \"020004000001\",\n                Role = \"core\",\n            },\n            new JuniperMist.Org.Inputs.EvpnTopologySwitchesArgs\n            {\n                Mac = \"02000400002\",\n                Role = \"core\",\n            },\n            new JuniperMist.Org.Inputs.EvpnTopologySwitchesArgs\n            {\n                Mac = \"02000400003\",\n                Role = \"distribution\",\n            },\n            new JuniperMist.Org.Inputs.EvpnTopologySwitchesArgs\n            {\n                Mac = \"02000400004\",\n                Role = \"distribution\",\n            },\n            new JuniperMist.Org.Inputs.EvpnTopologySwitchesArgs\n            {\n                Mac = \"02000400005\",\n                Role = \"access\",\n            },\n            new JuniperMist.Org.Inputs.EvpnTopologySwitchesArgs\n            {\n                Mac = \"02000400006\",\n                Role = \"access\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewEvpnTopology(ctx, \"evpn_one\", \u0026org.EvpnTopologyArgs{\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tName:  pulumi.String(\"evpn_one\"),\n\t\t\tEvpnOptions: \u0026org.EvpnTopologyEvpnOptionsArgs{\n\t\t\t\tRoutedAt: pulumi.String(\"core\"),\n\t\t\t\tOverlay: \u0026org.EvpnTopologyEvpnOptionsOverlayArgs{\n\t\t\t\t\tAs: pulumi.Int(65000),\n\t\t\t\t},\n\t\t\t\tCoreAsBorder:        pulumi.Bool(true),\n\t\t\t\tAutoLoopbackSubnet:  pulumi.String(\"172.16.192.0/24\"),\n\t\t\t\tAutoLoopbackSubnet6: pulumi.String(\"fd33:ab00:2::/64\"),\n\t\t\t\tPerVlanVgaV4Mac:     pulumi.Bool(false),\n\t\t\t\tUnderlay: \u0026org.EvpnTopologyEvpnOptionsUnderlayArgs{\n\t\t\t\t\tAsBase:  pulumi.Int(65001),\n\t\t\t\t\tUseIpv6: pulumi.Bool(false),\n\t\t\t\t\tSubnet:  pulumi.String(\"10.255.240.0/20\"),\n\t\t\t\t},\n\t\t\t\tAutoRouterIdSubnet: pulumi.String(\"172.16.254.0/23\"),\n\t\t\t},\n\t\t\tSwitches: org.EvpnTopologySwitchesMap{\n\t\t\t\t\u0026org.EvpnTopologySwitchesArgs{\n\t\t\t\t\tMac:  pulumi.String(\"020004000001\"),\n\t\t\t\t\tRole: pulumi.String(\"core\"),\n\t\t\t\t},\n\t\t\t\t\u0026org.EvpnTopologySwitchesArgs{\n\t\t\t\t\tMac:  pulumi.String(\"02000400002\"),\n\t\t\t\t\tRole: pulumi.String(\"core\"),\n\t\t\t\t},\n\t\t\t\t\u0026org.EvpnTopologySwitchesArgs{\n\t\t\t\t\tMac:  pulumi.String(\"02000400003\"),\n\t\t\t\t\tRole: pulumi.String(\"distribution\"),\n\t\t\t\t},\n\t\t\t\t\u0026org.EvpnTopologySwitchesArgs{\n\t\t\t\t\tMac:  pulumi.String(\"02000400004\"),\n\t\t\t\t\tRole: pulumi.String(\"distribution\"),\n\t\t\t\t},\n\t\t\t\t\u0026org.EvpnTopologySwitchesArgs{\n\t\t\t\t\tMac:  pulumi.String(\"02000400005\"),\n\t\t\t\t\tRole: pulumi.String(\"access\"),\n\t\t\t\t},\n\t\t\t\t\u0026org.EvpnTopologySwitchesArgs{\n\t\t\t\t\tMac:  pulumi.String(\"02000400006\"),\n\t\t\t\t\tRole: pulumi.String(\"access\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_evpntopology\" \"evpn_one\" {\n  org_id = terraformTest.id\n  name   = \"evpn_one\"\n  evpn_options = {\n    routed_at = \"core\"\n    overlay = {\n      as = 65000\n    }\n    core_as_border        = true\n    auto_loopback_subnet  = \"172.16.192.0/24\"\n    auto_loopback_subnet6 = \"fd33:ab00:2::/64\"\n    per_vlan_vga_v4_mac   = false\n    underlay = {\n      as_base  = 65001\n      use_ipv6 = false\n      subnet   = \"10.255.240.0/20\"\n    }\n    auto_router_id_subnet = \"172.16.254.0/23\"\n  }\n  switches = [{\n    \"mac\"  = \"020004000001\"\n    \"role\" = \"core\"\n    }, {\n    \"mac\"  = \"02000400002\"\n    \"role\" = \"core\"\n    }, {\n    \"mac\"  = \"02000400003\"\n    \"role\" = \"distribution\"\n    }, {\n    \"mac\"  = \"02000400004\"\n    \"role\" = \"distribution\"\n    }, {\n    \"mac\"  = \"02000400005\"\n    \"role\" = \"access\"\n    }, {\n    \"mac\"  = \"02000400006\"\n    \"role\" = \"access\"\n  }]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.EvpnTopology;\nimport com.pulumi.junipermist.org.EvpnTopologyArgs;\nimport com.pulumi.junipermist.org.inputs.EvpnTopologyEvpnOptionsArgs;\nimport com.pulumi.junipermist.org.inputs.EvpnTopologyEvpnOptionsOverlayArgs;\nimport com.pulumi.junipermist.org.inputs.EvpnTopologyEvpnOptionsUnderlayArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var evpnOne = new EvpnTopology(\"evpnOne\", EvpnTopologyArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"evpn_one\")\n            .evpnOptions(EvpnTopologyEvpnOptionsArgs.builder()\n                .routedAt(\"core\")\n                .overlay(EvpnTopologyEvpnOptionsOverlayArgs.builder()\n                    .as(65000)\n                    .build())\n                .coreAsBorder(true)\n                .autoLoopbackSubnet(\"172.16.192.0/24\")\n                .autoLoopbackSubnet6(\"fd33:ab00:2::/64\")\n                .perVlanVgaV4Mac(false)\n                .underlay(EvpnTopologyEvpnOptionsUnderlayArgs.builder()\n                    .asBase(65001)\n                    .useIpv6(false)\n                    .subnet(\"10.255.240.0/20\")\n                    .build())\n                .autoRouterIdSubnet(\"172.16.254.0/23\")\n                .build())\n            .switches(            \n                com.pulumi.junipermist.org.inputs.EvpnTopologySwitchesArgs.builder()\n                    .mac(\"020004000001\")\n                    .role(\"core\")\n                    .build(),\n                com.pulumi.junipermist.org.inputs.EvpnTopologySwitchesArgs.builder()\n                    .mac(\"02000400002\")\n                    .role(\"core\")\n                    .build(),\n                com.pulumi.junipermist.org.inputs.EvpnTopologySwitchesArgs.builder()\n                    .mac(\"02000400003\")\n                    .role(\"distribution\")\n                    .build(),\n                com.pulumi.junipermist.org.inputs.EvpnTopologySwitchesArgs.builder()\n                    .mac(\"02000400004\")\n                    .role(\"distribution\")\n                    .build(),\n                com.pulumi.junipermist.org.inputs.EvpnTopologySwitchesArgs.builder()\n                    .mac(\"02000400005\")\n                    .role(\"access\")\n                    .build(),\n                com.pulumi.junipermist.org.inputs.EvpnTopologySwitchesArgs.builder()\n                    .mac(\"02000400006\")\n                    .role(\"access\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  evpnOne:\n    type: junipermist:org:EvpnTopology\n    name: evpn_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: evpn_one\n      evpnOptions:\n        routedAt: core\n        overlay:\n          as: 65000\n        coreAsBorder: true\n        autoLoopbackSubnet: 172.16.192.0/24\n        autoLoopbackSubnet6: fd33:ab00:2::/64\n        perVlanVgaV4Mac: false\n        underlay:\n          asBase: 65001\n          useIpv6: false\n          subnet: 10.255.240.0/20\n        autoRouterIdSubnet: 172.16.254.0/23\n      switches:\n        - mac: '020004000001'\n          role: core\n        - mac: '02000400002'\n          role: core\n        - mac: '02000400003'\n          role: distribution\n        - mac: '02000400004'\n          role: distribution\n        - mac: '02000400005'\n          role: access\n        - mac: '02000400006'\n          role: access\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.EvpnTopology`\" pulumi-lang-dotnet=\"`junipermist.org.EvpnTopology`\" pulumi-lang-go=\"`org.EvpnTopology`\" pulumi-lang-python=\"`org.EvpnTopology`\" pulumi-lang-yaml=\"`junipermist.org.EvpnTopology`\" pulumi-lang-java=\"`junipermist.org.EvpnTopology`\" pulumi-lang-hcl=\"`mist_org_evpn_topology`\"\u003e`junipermist.org.EvpnTopology`\u003c/span\u003e with:\nEVPN Topology can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" evpnTopologyId\n\" pulumi-lang-dotnet=\" EvpnTopologyId\n\" pulumi-lang-go=\" evpnTopologyId\n\" pulumi-lang-python=\" evpn_topology_id\n\" pulumi-lang-yaml=\" evpnTopologyId\n\" pulumi-lang-java=\" evpnTopologyId\n\" pulumi-lang-hcl=\" evpn_topology_id\n\"\u003e evpnTopologyId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/evpnTopology:EvpnTopology evpn_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "evpnOptions": {
                    "$ref": "#/types/junipermist:org/EvpnTopologyEvpnOptions:EvpnTopologyEvpnOptions",
                    "description": "Generation options applied to the EVPN topology"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for the EVPN topology"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the EVPN topology"
                },
                "podNames": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Property key is the pod number"
                },
                "switches": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/EvpnTopologySwitches:EvpnTopologySwitches"
                    },
                    "description": "Topology member switches, roles, and links"
                }
            },
            "required": [
                "name",
                "orgId",
                "podNames",
                "switches"
            ],
            "inputProperties": {
                "evpnOptions": {
                    "$ref": "#/types/junipermist:org/EvpnTopologyEvpnOptions:EvpnTopologyEvpnOptions",
                    "description": "Generation options applied to the EVPN topology"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for the EVPN topology"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the EVPN topology"
                },
                "podNames": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Property key is the pod number"
                },
                "switches": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/EvpnTopologySwitches:EvpnTopologySwitches"
                    },
                    "description": "Topology member switches, roles, and links"
                }
            },
            "requiredInputs": [
                "orgId",
                "switches"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering EvpnTopology resources.\n",
                "properties": {
                    "evpnOptions": {
                        "$ref": "#/types/junipermist:org/EvpnTopologyEvpnOptions:EvpnTopologyEvpnOptions",
                        "description": "Generation options applied to the EVPN topology"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name for the EVPN topology"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns the EVPN topology"
                    },
                    "podNames": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Property key is the pod number"
                    },
                    "switches": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/EvpnTopologySwitches:EvpnTopologySwitches"
                        },
                        "description": "Topology member switches, roles, and links"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/gatewaytemplate:Gatewaytemplate": {
            "description": "This resource manages the Gateway Templates.\n\nA Gateway template is used to define the static ip address and subnet mask of the hub device, along with the gateway. It also allows for the selection of options such as enabling source nat and overriding the public ip for the hub if needed. the endpoint selected in the gateway template ties the hub and spoke devices together and creates the auto-vpn tunnel.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst gatewaytemplateOne = new junipermist.org.Gatewaytemplate(\"gatewaytemplate_one\", {\n    type: \"spoke\",\n    name: \"gatewaytemplate_one\",\n    orgId: terraformTest.id,\n    portConfig: {\n        \"ge-0/0/3\": {\n            name: \"FTTH\",\n            usage: \"wan\",\n            aggregated: false,\n            redundant: false,\n            critical: false,\n            wanType: \"broadband\",\n            ipConfig: {\n                type: \"static\",\n                ip: \"192.168.1.8\",\n                netmask: \"/24\",\n                gateway: \"192.168.1.1\",\n            },\n            disableAutoneg: false,\n            speed: \"auto\",\n            duplex: \"auto\",\n            wanSourceNat: {\n                disabled: false,\n            },\n            vpnPaths: {\n                \"SSR_HUB_DC-MPLS.OrgOverlay\": {\n                    key: 0,\n                    role: \"spoke\",\n                    bfdProfile: \"broadband\",\n                },\n            },\n        },\n        \"ge-0/0/5\": {\n            usage: \"lan\",\n            critical: false,\n            aggregated: true,\n            aeDisableLacp: false,\n            aeLacpForceUp: true,\n            aeIdx: \"0\",\n            redundant: false,\n            networks: [\n                \"PRD-Core\",\n                \"PRD-Mgmt\",\n                \"PRD-Lab\",\n            ],\n        },\n    },\n    ipConfigs: {\n        \"PRD-Core\": {\n            type: \"static\",\n            ip: \"10.3.100.9\",\n            netmask: \"/24\",\n        },\n        \"PRD-Mgmt\": {\n            type: \"static\",\n            ip: \"10.3.172.1\",\n            netmask: \"/24\",\n        },\n        \"PRD-Lab\": {\n            type: \"static\",\n            ip: \"10.3.171.1\",\n            netmask: \"/24\",\n        },\n    },\n    servicePolicies: [{\n        name: \"Policy-14\",\n        tenants: [\"PRD-Core\"],\n        services: [\"any\"],\n        action: \"allow\",\n        pathPreference: \"HUB\",\n        idp: {\n            enabled: true,\n            profile: \"critical\",\n            alertOnly: false,\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\ngatewaytemplate_one = junipermist.org.Gatewaytemplate(\"gatewaytemplate_one\",\n    type=\"spoke\",\n    name=\"gatewaytemplate_one\",\n    org_id=terraform_test[\"id\"],\n    port_config={\n        \"ge-0/0/3\": {\n            \"name\": \"FTTH\",\n            \"usage\": \"wan\",\n            \"aggregated\": False,\n            \"redundant\": False,\n            \"critical\": False,\n            \"wan_type\": \"broadband\",\n            \"ip_config\": {\n                \"type\": \"static\",\n                \"ip\": \"192.168.1.8\",\n                \"netmask\": \"/24\",\n                \"gateway\": \"192.168.1.1\",\n            },\n            \"disable_autoneg\": False,\n            \"speed\": \"auto\",\n            \"duplex\": \"auto\",\n            \"wan_source_nat\": {\n                \"disabled\": False,\n            },\n            \"vpn_paths\": {\n                \"SSR_HUB_DC-MPLS.OrgOverlay\": {\n                    \"key\": 0,\n                    \"role\": \"spoke\",\n                    \"bfd_profile\": \"broadband\",\n                },\n            },\n        },\n        \"ge-0/0/5\": {\n            \"usage\": \"lan\",\n            \"critical\": False,\n            \"aggregated\": True,\n            \"ae_disable_lacp\": False,\n            \"ae_lacp_force_up\": True,\n            \"ae_idx\": \"0\",\n            \"redundant\": False,\n            \"networks\": [\n                \"PRD-Core\",\n                \"PRD-Mgmt\",\n                \"PRD-Lab\",\n            ],\n        },\n    },\n    ip_configs={\n        \"PRD-Core\": {\n            \"type\": \"static\",\n            \"ip\": \"10.3.100.9\",\n            \"netmask\": \"/24\",\n        },\n        \"PRD-Mgmt\": {\n            \"type\": \"static\",\n            \"ip\": \"10.3.172.1\",\n            \"netmask\": \"/24\",\n        },\n        \"PRD-Lab\": {\n            \"type\": \"static\",\n            \"ip\": \"10.3.171.1\",\n            \"netmask\": \"/24\",\n        },\n    },\n    service_policies=[{\n        \"name\": \"Policy-14\",\n        \"tenants\": [\"PRD-Core\"],\n        \"services\": [\"any\"],\n        \"action\": \"allow\",\n        \"path_preference\": \"HUB\",\n        \"idp\": {\n            \"enabled\": True,\n            \"profile\": \"critical\",\n            \"alert_only\": False,\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gatewaytemplateOne = new JuniperMist.Org.Gatewaytemplate(\"gatewaytemplate_one\", new()\n    {\n        Type = \"spoke\",\n        Name = \"gatewaytemplate_one\",\n        OrgId = terraformTest.Id,\n        PortConfig = \n        {\n            { \"ge-0/0/3\", new JuniperMist.Org.Inputs.GatewaytemplatePortConfigArgs\n            {\n                Name = \"FTTH\",\n                Usage = \"wan\",\n                Aggregated = false,\n                Redundant = false,\n                Critical = false,\n                WanType = \"broadband\",\n                IpConfig = new JuniperMist.Org.Inputs.GatewaytemplatePortConfigIpConfigArgs\n                {\n                    Type = \"static\",\n                    Ip = \"192.168.1.8\",\n                    Netmask = \"/24\",\n                    Gateway = \"192.168.1.1\",\n                },\n                DisableAutoneg = false,\n                Speed = \"auto\",\n                Duplex = \"auto\",\n                WanSourceNat = new JuniperMist.Org.Inputs.GatewaytemplatePortConfigWanSourceNatArgs\n                {\n                    Disabled = false,\n                },\n                VpnPaths = \n                {\n                    { \"SSR_HUB_DC-MPLS.OrgOverlay\", new JuniperMist.Org.Inputs.GatewaytemplatePortConfigVpnPathsArgs\n                    {\n                        Key = 0,\n                        Role = \"spoke\",\n                        BfdProfile = \"broadband\",\n                    } },\n                },\n            } },\n            { \"ge-0/0/5\", new JuniperMist.Org.Inputs.GatewaytemplatePortConfigArgs\n            {\n                Usage = \"lan\",\n                Critical = false,\n                Aggregated = true,\n                AeDisableLacp = false,\n                AeLacpForceUp = true,\n                AeIdx = \"0\",\n                Redundant = false,\n                Networks = new[]\n                {\n                    \"PRD-Core\",\n                    \"PRD-Mgmt\",\n                    \"PRD-Lab\",\n                },\n            } },\n        },\n        IpConfigs = \n        {\n            { \"PRD-Core\", new JuniperMist.Org.Inputs.GatewaytemplateIpConfigsArgs\n            {\n                Type = \"static\",\n                Ip = \"10.3.100.9\",\n                Netmask = \"/24\",\n            } },\n            { \"PRD-Mgmt\", new JuniperMist.Org.Inputs.GatewaytemplateIpConfigsArgs\n            {\n                Type = \"static\",\n                Ip = \"10.3.172.1\",\n                Netmask = \"/24\",\n            } },\n            { \"PRD-Lab\", new JuniperMist.Org.Inputs.GatewaytemplateIpConfigsArgs\n            {\n                Type = \"static\",\n                Ip = \"10.3.171.1\",\n                Netmask = \"/24\",\n            } },\n        },\n        ServicePolicies = new[]\n        {\n            new JuniperMist.Org.Inputs.GatewaytemplateServicePolicyArgs\n            {\n                Name = \"Policy-14\",\n                Tenants = new[]\n                {\n                    \"PRD-Core\",\n                },\n                Services = new[]\n                {\n                    \"any\",\n                },\n                Action = \"allow\",\n                PathPreference = \"HUB\",\n                Idp = new JuniperMist.Org.Inputs.GatewaytemplateServicePolicyIdpArgs\n                {\n                    Enabled = true,\n                    Profile = \"critical\",\n                    AlertOnly = false,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewGatewaytemplate(ctx, \"gatewaytemplate_one\", \u0026org.GatewaytemplateArgs{\n\t\t\tType:  pulumi.String(\"spoke\"),\n\t\t\tName:  pulumi.String(\"gatewaytemplate_one\"),\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tPortConfig: org.GatewaytemplatePortConfigMap{\n\t\t\t\t\"ge-0/0/3\": \u0026org.GatewaytemplatePortConfigArgs{\n\t\t\t\t\tName:       pulumi.String(\"FTTH\"),\n\t\t\t\t\tUsage:      pulumi.String(\"wan\"),\n\t\t\t\t\tAggregated: pulumi.Bool(false),\n\t\t\t\t\tRedundant:  pulumi.Bool(false),\n\t\t\t\t\tCritical:   pulumi.Bool(false),\n\t\t\t\t\tWanType:    pulumi.String(\"broadband\"),\n\t\t\t\t\tIpConfig: \u0026org.GatewaytemplatePortConfigIpConfigArgs{\n\t\t\t\t\t\tType:    pulumi.String(\"static\"),\n\t\t\t\t\t\tIp:      pulumi.String(\"192.168.1.8\"),\n\t\t\t\t\t\tNetmask: pulumi.String(\"/24\"),\n\t\t\t\t\t\tGateway: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tDisableAutoneg: pulumi.Bool(false),\n\t\t\t\t\tSpeed:          pulumi.String(\"auto\"),\n\t\t\t\t\tDuplex:         pulumi.String(\"auto\"),\n\t\t\t\t\tWanSourceNat: \u0026org.GatewaytemplatePortConfigWanSourceNatArgs{\n\t\t\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tVpnPaths: org.GatewaytemplatePortConfigVpnPathsMap{\n\t\t\t\t\t\t\"SSR_HUB_DC-MPLS.OrgOverlay\": \u0026org.GatewaytemplatePortConfigVpnPathsArgs{\n\t\t\t\t\t\t\tKey:        0,\n\t\t\t\t\t\t\tRole:       pulumi.String(\"spoke\"),\n\t\t\t\t\t\t\tBfdProfile: pulumi.String(\"broadband\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"ge-0/0/5\": \u0026org.GatewaytemplatePortConfigArgs{\n\t\t\t\t\tUsage:         pulumi.String(\"lan\"),\n\t\t\t\t\tCritical:      pulumi.Bool(false),\n\t\t\t\t\tAggregated:    pulumi.Bool(true),\n\t\t\t\t\tAeDisableLacp: pulumi.Bool(false),\n\t\t\t\t\tAeLacpForceUp: pulumi.Bool(true),\n\t\t\t\t\tAeIdx:         pulumi.String(\"0\"),\n\t\t\t\t\tRedundant:     pulumi.Bool(false),\n\t\t\t\t\tNetworks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PRD-Core\"),\n\t\t\t\t\t\tpulumi.String(\"PRD-Mgmt\"),\n\t\t\t\t\t\tpulumi.String(\"PRD-Lab\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpConfigs: org.GatewaytemplateIpConfigsMap{\n\t\t\t\t\"PRD-Core\": \u0026org.GatewaytemplateIpConfigsArgs{\n\t\t\t\t\tType:    pulumi.String(\"static\"),\n\t\t\t\t\tIp:      pulumi.String(\"10.3.100.9\"),\n\t\t\t\t\tNetmask: pulumi.String(\"/24\"),\n\t\t\t\t},\n\t\t\t\t\"PRD-Mgmt\": \u0026org.GatewaytemplateIpConfigsArgs{\n\t\t\t\t\tType:    pulumi.String(\"static\"),\n\t\t\t\t\tIp:      pulumi.String(\"10.3.172.1\"),\n\t\t\t\t\tNetmask: pulumi.String(\"/24\"),\n\t\t\t\t},\n\t\t\t\t\"PRD-Lab\": \u0026org.GatewaytemplateIpConfigsArgs{\n\t\t\t\t\tType:    pulumi.String(\"static\"),\n\t\t\t\t\tIp:      pulumi.String(\"10.3.171.1\"),\n\t\t\t\t\tNetmask: pulumi.String(\"/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServicePolicies: org.GatewaytemplateServicePolicyArray{\n\t\t\t\t\u0026org.GatewaytemplateServicePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"Policy-14\"),\n\t\t\t\t\tTenants: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PRD-Core\"),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"any\"),\n\t\t\t\t\t},\n\t\t\t\t\tAction:         pulumi.String(\"allow\"),\n\t\t\t\t\tPathPreference: pulumi.String(\"HUB\"),\n\t\t\t\t\tIdp: \u0026org.GatewaytemplateServicePolicyIdpArgs{\n\t\t\t\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\t\t\t\tProfile:   pulumi.String(\"critical\"),\n\t\t\t\t\t\tAlertOnly: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_gatewaytemplate\" \"gatewaytemplate_one\" {\n  type   = \"spoke\"\n  name   = \"gatewaytemplate_one\"\n  org_id = terraformTest.id\n  port_config = {\n    \"ge-0/0/3\" = {\n      name       = \"FTTH\"\n      usage      = \"wan\"\n      aggregated = false\n      redundant  = false\n      critical   = false\n      wan_type   = \"broadband\"\n      ip_config = {\n        type    = \"static\"\n        ip      = \"192.168.1.8\"\n        netmask = \"/24\"\n        gateway = \"192.168.1.1\"\n      }\n      disable_autoneg = false\n      speed           = \"auto\"\n      duplex          = \"auto\"\n      wan_source_nat = {\n        disabled = false\n      }\n      vpn_paths = {\n        \"SSR_HUB_DC-MPLS.OrgOverlay\" = {\n          key         = 0\n          role        = \"spoke\"\n          bfd_profile = \"broadband\"\n        }\n      }\n    }\n    \"ge-0/0/5\" = {\n      usage            = \"lan\"\n      critical         = false\n      aggregated       = true\n      ae_disable_lacp  = false\n      ae_lacp_force_up = true\n      ae_idx           = 0\n      redundant        = false\n      networks         = [\"PRD-Core\", \"PRD-Mgmt\", \"PRD-Lab\"]\n    }\n  }\n  ip_configs = {\n    \"PRD-Core\" = {\n      type    = \"static\"\n      ip      = \"10.3.100.9\"\n      netmask = \"/24\"\n    }\n    \"PRD-Mgmt\" = {\n      type    = \"static\"\n      ip      = \"10.3.172.1\"\n      netmask = \"/24\"\n    }\n    \"PRD-Lab\" = {\n      type    = \"static\"\n      ip      = \"10.3.171.1\"\n      netmask = \"/24\"\n    }\n  }\n  service_policies {\n    name            = \"Policy-14\"\n    tenants         = [\"PRD-Core\"]\n    services        = [\"any\"]\n    action          = \"allow\"\n    path_preference = \"HUB\"\n    idp = {\n      enabled    = true\n      profile    = \"critical\"\n      alert_only = false\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Gatewaytemplate;\nimport com.pulumi.junipermist.org.GatewaytemplateArgs;\nimport com.pulumi.junipermist.org.inputs.GatewaytemplatePortConfigArgs;\nimport com.pulumi.junipermist.org.inputs.GatewaytemplatePortConfigIpConfigArgs;\nimport com.pulumi.junipermist.org.inputs.GatewaytemplatePortConfigWanSourceNatArgs;\nimport com.pulumi.junipermist.org.inputs.GatewaytemplatePortConfigVpnPathsArgs;\nimport com.pulumi.junipermist.org.inputs.GatewaytemplateIpConfigsArgs;\nimport com.pulumi.junipermist.org.inputs.GatewaytemplateServicePolicyArgs;\nimport com.pulumi.junipermist.org.inputs.GatewaytemplateServicePolicyIdpArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var gatewaytemplateOne = new Gatewaytemplate(\"gatewaytemplateOne\", GatewaytemplateArgs.builder()\n            .type(\"spoke\")\n            .name(\"gatewaytemplate_one\")\n            .orgId(terraformTest.id())\n            .portConfig(Map.ofEntries(\n                Map.entry(\"ge-0/0/3\", GatewaytemplatePortConfigArgs.builder()\n                    .name(\"FTTH\")\n                    .usage(\"wan\")\n                    .aggregated(false)\n                    .redundant(false)\n                    .critical(false)\n                    .wanType(\"broadband\")\n                    .ipConfig(GatewaytemplatePortConfigIpConfigArgs.builder()\n                        .type(\"static\")\n                        .ip(\"192.168.1.8\")\n                        .netmask(\"/24\")\n                        .gateway(\"192.168.1.1\")\n                        .build())\n                    .disableAutoneg(false)\n                    .speed(\"auto\")\n                    .duplex(\"auto\")\n                    .wanSourceNat(GatewaytemplatePortConfigWanSourceNatArgs.builder()\n                        .disabled(false)\n                        .build())\n                    .vpnPaths(Map.of(\"SSR_HUB_DC-MPLS.OrgOverlay\", GatewaytemplatePortConfigVpnPathsArgs.builder()\n                        .key(0)\n                        .role(\"spoke\")\n                        .bfdProfile(\"broadband\")\n                        .build()))\n                    .build()),\n                Map.entry(\"ge-0/0/5\", GatewaytemplatePortConfigArgs.builder()\n                    .usage(\"lan\")\n                    .critical(false)\n                    .aggregated(true)\n                    .aeDisableLacp(false)\n                    .aeLacpForceUp(true)\n                    .aeIdx(\"0\")\n                    .redundant(false)\n                    .networks(                    \n                        \"PRD-Core\",\n                        \"PRD-Mgmt\",\n                        \"PRD-Lab\")\n                    .build())\n            ))\n            .ipConfigs(Map.ofEntries(\n                Map.entry(\"PRD-Core\", GatewaytemplateIpConfigsArgs.builder()\n                    .type(\"static\")\n                    .ip(\"10.3.100.9\")\n                    .netmask(\"/24\")\n                    .build()),\n                Map.entry(\"PRD-Mgmt\", GatewaytemplateIpConfigsArgs.builder()\n                    .type(\"static\")\n                    .ip(\"10.3.172.1\")\n                    .netmask(\"/24\")\n                    .build()),\n                Map.entry(\"PRD-Lab\", GatewaytemplateIpConfigsArgs.builder()\n                    .type(\"static\")\n                    .ip(\"10.3.171.1\")\n                    .netmask(\"/24\")\n                    .build())\n            ))\n            .servicePolicies(GatewaytemplateServicePolicyArgs.builder()\n                .name(\"Policy-14\")\n                .tenants(\"PRD-Core\")\n                .services(\"any\")\n                .action(\"allow\")\n                .pathPreference(\"HUB\")\n                .idp(GatewaytemplateServicePolicyIdpArgs.builder()\n                    .enabled(true)\n                    .profile(\"critical\")\n                    .alertOnly(false)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  gatewaytemplateOne:\n    type: junipermist:org:Gatewaytemplate\n    name: gatewaytemplate_one\n    properties:\n      type: spoke\n      name: gatewaytemplate_one\n      orgId: ${terraformTest.id}\n      portConfig:\n        ge-0/0/3:\n          name: FTTH\n          usage: wan\n          aggregated: false\n          redundant: false\n          critical: false\n          wanType: broadband\n          ipConfig:\n            type: static\n            ip: 192.168.1.8\n            netmask: /24\n            gateway: 192.168.1.1\n          disableAutoneg: false\n          speed: auto\n          duplex: auto\n          wanSourceNat:\n            disabled: false\n          vpnPaths:\n            SSR_HUB_DC-MPLS.OrgOverlay:\n              key: 0\n              role: spoke\n              bfdProfile: broadband\n        ge-0/0/5:\n          usage: lan\n          critical: false\n          aggregated: true\n          aeDisableLacp: false\n          aeLacpForceUp: true\n          aeIdx: 0\n          redundant: false\n          networks:\n            - PRD-Core\n            - PRD-Mgmt\n            - PRD-Lab\n      ipConfigs:\n        PRD-Core:\n          type: static\n          ip: 10.3.100.9\n          netmask: /24\n        PRD-Mgmt:\n          type: static\n          ip: 10.3.172.1\n          netmask: /24\n        PRD-Lab:\n          type: static\n          ip: 10.3.171.1\n          netmask: /24\n      servicePolicies:\n        - name: Policy-14\n          tenants:\n            - PRD-Core\n          services:\n            - any\n          action: allow\n          pathPreference: HUB\n          idp:\n            enabled: true\n            profile: critical\n            alertOnly: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Gatewaytemplate`\" pulumi-lang-dotnet=\"`junipermist.org.Gatewaytemplate`\" pulumi-lang-go=\"`org.Gatewaytemplate`\" pulumi-lang-python=\"`org.Gatewaytemplate`\" pulumi-lang-yaml=\"`junipermist.org.Gatewaytemplate`\" pulumi-lang-java=\"`junipermist.org.Gatewaytemplate`\" pulumi-lang-hcl=\"`mist_org_gatewaytemplate`\"\u003e`junipermist.org.Gatewaytemplate`\u003c/span\u003e with:\nGateway Template can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" gatewaytemplateId\n\" pulumi-lang-dotnet=\" GatewaytemplateId\n\" pulumi-lang-go=\" gatewaytemplateId\n\" pulumi-lang-python=\" gatewaytemplate_id\n\" pulumi-lang-yaml=\" gatewaytemplateId\n\" pulumi-lang-java=\" gatewaytemplateId\n\" pulumi-lang-hcl=\" gatewaytemplate_id\n\"\u003e gatewaytemplateId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/gatewaytemplate:Gatewaytemplate gatewaytemplate_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands provided by this gateway template"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateBgpConfig:GatewaytemplateBgpConfig"
                    },
                    "description": "BGP routing defaults for this gateway template. Property key is the BGP session name"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateDhcpdConfig:GatewaytemplateDhcpdConfig",
                    "description": "DHCP server defaults provided by this gateway template"
                },
                "dnsOverride": {
                    "type": "boolean",
                    "description": "Whether DNS server and suffix settings in this template override inherited values"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers provided by this gateway template"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes provided by this gateway template"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateExtraRoutes:GatewaytemplateExtraRoutes"
                    },
                    "description": "Additional IPv4 route defaults in this gateway template"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateExtraRoutes6:GatewaytemplateExtraRoutes6"
                    },
                    "description": "Additional IPv6 route defaults in this gateway template"
                },
                "gatewayMgmt": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateGatewayMgmt:GatewaytemplateGatewayMgmt",
                    "description": "Management-plane defaults provided by this gateway template"
                },
                "idpProfiles": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateIdpProfiles:GatewaytemplateIdpProfiles"
                    },
                    "description": "Intrusion detection and prevention profile defaults in this gateway template"
                },
                "ipConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateIpConfigs:GatewaytemplateIpConfigs"
                    },
                    "description": "Gateway interface IP configuration defaults by network name"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the gateway template"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateNetwork:GatewaytemplateNetwork"
                    },
                    "description": "Layer 3 networks configured by this gateway template"
                },
                "ntpOverride": {
                    "type": "boolean",
                    "description": "Whether NTP servers in this template override inherited values"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers provided by this gateway template"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateOobIpConfig:GatewaytemplateOobIpConfig",
                    "description": "Out-of-band management IP defaults in this gateway template"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this gateway template"
                },
                "pathPreferences": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplatePathPreferences:GatewaytemplatePathPreferences"
                    },
                    "description": "Property key is the path name"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplatePortConfig:GatewaytemplatePortConfig"
                    },
                    "description": "Property key is the Port Name (i.e. \"ge-0/0/0\"), the Ports Range (i.e. \"ge-0/0/0-10\"), the List of Ports (i.e. \"ge-0/0/0,ge-1/0/0\", only allowed for Aggregated or Redundant interfaces) or a Variable (i.e. \"{{myvar}}\")."
                },
                "routerId": {
                    "type": "string",
                    "description": "Auto assigned if not set"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateRoutingPolicies:GatewaytemplateRoutingPolicies"
                    },
                    "description": "Routing policy defaults applied by this gateway template"
                },
                "servicePolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicy:GatewaytemplateServicePolicy"
                    },
                    "description": "Traffic service policy defaults enforced by this gateway template"
                },
                "ssrAdditionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional CLI commands to append to the generated SSR config. **Note**: no check is done"
                },
                "tunnelConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigs:GatewaytemplateTunnelConfigs"
                    },
                    "description": "Property key is the tunnel name"
                },
                "tunnelProviderOptions": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelProviderOptions:GatewaytemplateTunnelProviderOptions",
                    "description": "Provider-specific tunnel options defined by this gateway template"
                },
                "type": {
                    "type": "string",
                    "description": "Gateway template deployment type"
                },
                "urlFilteringDenyMsg": {
                    "type": "string",
                    "description": "When a service policy denies a app_category, what message to show in user's browser"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateVrfConfig:GatewaytemplateVrfConfig",
                    "description": "VRF defaults applied by this gateway template"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateVrfInstances:GatewaytemplateVrfInstances"
                    },
                    "description": "VRF instances configured by this gateway template"
                }
            },
            "required": [
                "name",
                "oobIpConfig",
                "orgId",
                "type"
            ],
            "inputProperties": {
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands provided by this gateway template"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateBgpConfig:GatewaytemplateBgpConfig"
                    },
                    "description": "BGP routing defaults for this gateway template. Property key is the BGP session name"
                },
                "dhcpdConfig": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateDhcpdConfig:GatewaytemplateDhcpdConfig",
                    "description": "DHCP server defaults provided by this gateway template"
                },
                "dnsOverride": {
                    "type": "boolean",
                    "description": "Whether DNS server and suffix settings in this template override inherited values"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers provided by this gateway template"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes provided by this gateway template"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateExtraRoutes:GatewaytemplateExtraRoutes"
                    },
                    "description": "Additional IPv4 route defaults in this gateway template"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateExtraRoutes6:GatewaytemplateExtraRoutes6"
                    },
                    "description": "Additional IPv6 route defaults in this gateway template"
                },
                "gatewayMgmt": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateGatewayMgmt:GatewaytemplateGatewayMgmt",
                    "description": "Management-plane defaults provided by this gateway template"
                },
                "idpProfiles": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateIdpProfiles:GatewaytemplateIdpProfiles"
                    },
                    "description": "Intrusion detection and prevention profile defaults in this gateway template"
                },
                "ipConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateIpConfigs:GatewaytemplateIpConfigs"
                    },
                    "description": "Gateway interface IP configuration defaults by network name"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the gateway template"
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateNetwork:GatewaytemplateNetwork"
                    },
                    "description": "Layer 3 networks configured by this gateway template"
                },
                "ntpOverride": {
                    "type": "boolean",
                    "description": "Whether NTP servers in this template override inherited values"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers provided by this gateway template"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateOobIpConfig:GatewaytemplateOobIpConfig",
                    "description": "Out-of-band management IP defaults in this gateway template"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this gateway template"
                },
                "pathPreferences": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplatePathPreferences:GatewaytemplatePathPreferences"
                    },
                    "description": "Property key is the path name"
                },
                "portConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplatePortConfig:GatewaytemplatePortConfig"
                    },
                    "description": "Property key is the Port Name (i.e. \"ge-0/0/0\"), the Ports Range (i.e. \"ge-0/0/0-10\"), the List of Ports (i.e. \"ge-0/0/0,ge-1/0/0\", only allowed for Aggregated or Redundant interfaces) or a Variable (i.e. \"{{myvar}}\")."
                },
                "routerId": {
                    "type": "string",
                    "description": "Auto assigned if not set"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateRoutingPolicies:GatewaytemplateRoutingPolicies"
                    },
                    "description": "Routing policy defaults applied by this gateway template"
                },
                "servicePolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicy:GatewaytemplateServicePolicy"
                    },
                    "description": "Traffic service policy defaults enforced by this gateway template"
                },
                "ssrAdditionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional CLI commands to append to the generated SSR config. **Note**: no check is done"
                },
                "tunnelConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigs:GatewaytemplateTunnelConfigs"
                    },
                    "description": "Property key is the tunnel name"
                },
                "tunnelProviderOptions": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateTunnelProviderOptions:GatewaytemplateTunnelProviderOptions",
                    "description": "Provider-specific tunnel options defined by this gateway template"
                },
                "type": {
                    "type": "string",
                    "description": "Gateway template deployment type"
                },
                "urlFilteringDenyMsg": {
                    "type": "string",
                    "description": "When a service policy denies a app_category, what message to show in user's browser"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:org/GatewaytemplateVrfConfig:GatewaytemplateVrfConfig",
                    "description": "VRF defaults applied by this gateway template"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateVrfInstances:GatewaytemplateVrfInstances"
                    },
                    "description": "VRF instances configured by this gateway template"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Gatewaytemplate resources.\n",
                "properties": {
                    "additionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Additional CLI configuration commands provided by this gateway template"
                    },
                    "bgpConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateBgpConfig:GatewaytemplateBgpConfig"
                        },
                        "description": "BGP routing defaults for this gateway template. Property key is the BGP session name"
                    },
                    "dhcpdConfig": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateDhcpdConfig:GatewaytemplateDhcpdConfig",
                        "description": "DHCP server defaults provided by this gateway template"
                    },
                    "dnsOverride": {
                        "type": "boolean",
                        "description": "Whether DNS server and suffix settings in this template override inherited values"
                    },
                    "dnsServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS servers provided by this gateway template"
                    },
                    "dnsSuffixes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS search suffixes provided by this gateway template"
                    },
                    "extraRoutes": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateExtraRoutes:GatewaytemplateExtraRoutes"
                        },
                        "description": "Additional IPv4 route defaults in this gateway template"
                    },
                    "extraRoutes6": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateExtraRoutes6:GatewaytemplateExtraRoutes6"
                        },
                        "description": "Additional IPv6 route defaults in this gateway template"
                    },
                    "gatewayMgmt": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateGatewayMgmt:GatewaytemplateGatewayMgmt",
                        "description": "Management-plane defaults provided by this gateway template"
                    },
                    "idpProfiles": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateIdpProfiles:GatewaytemplateIdpProfiles"
                        },
                        "description": "Intrusion detection and prevention profile defaults in this gateway template"
                    },
                    "ipConfigs": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateIpConfigs:GatewaytemplateIpConfigs"
                        },
                        "description": "Gateway interface IP configuration defaults by network name"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the gateway template"
                    },
                    "networks": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateNetwork:GatewaytemplateNetwork"
                        },
                        "description": "Layer 3 networks configured by this gateway template"
                    },
                    "ntpOverride": {
                        "type": "boolean",
                        "description": "Whether NTP servers in this template override inherited values"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "NTP servers provided by this gateway template"
                    },
                    "oobIpConfig": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateOobIpConfig:GatewaytemplateOobIpConfig",
                        "description": "Out-of-band management IP defaults in this gateway template"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this gateway template"
                    },
                    "pathPreferences": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplatePathPreferences:GatewaytemplatePathPreferences"
                        },
                        "description": "Property key is the path name"
                    },
                    "portConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplatePortConfig:GatewaytemplatePortConfig"
                        },
                        "description": "Property key is the Port Name (i.e. \"ge-0/0/0\"), the Ports Range (i.e. \"ge-0/0/0-10\"), the List of Ports (i.e. \"ge-0/0/0,ge-1/0/0\", only allowed for Aggregated or Redundant interfaces) or a Variable (i.e. \"{{myvar}}\")."
                    },
                    "routerId": {
                        "type": "string",
                        "description": "Auto assigned if not set"
                    },
                    "routingPolicies": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateRoutingPolicies:GatewaytemplateRoutingPolicies"
                        },
                        "description": "Routing policy defaults applied by this gateway template"
                    },
                    "servicePolicies": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateServicePolicy:GatewaytemplateServicePolicy"
                        },
                        "description": "Traffic service policy defaults enforced by this gateway template"
                    },
                    "ssrAdditionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "additional CLI commands to append to the generated SSR config. **Note**: no check is done"
                    },
                    "tunnelConfigs": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateTunnelConfigs:GatewaytemplateTunnelConfigs"
                        },
                        "description": "Property key is the tunnel name"
                    },
                    "tunnelProviderOptions": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateTunnelProviderOptions:GatewaytemplateTunnelProviderOptions",
                        "description": "Provider-specific tunnel options defined by this gateway template"
                    },
                    "type": {
                        "type": "string",
                        "description": "Gateway template deployment type"
                    },
                    "urlFilteringDenyMsg": {
                        "type": "string",
                        "description": "When a service policy denies a app_category, what message to show in user's browser"
                    },
                    "vrfConfig": {
                        "$ref": "#/types/junipermist:org/GatewaytemplateVrfConfig:GatewaytemplateVrfConfig",
                        "description": "VRF defaults applied by this gateway template"
                    },
                    "vrfInstances": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/GatewaytemplateVrfInstances:GatewaytemplateVrfInstances"
                        },
                        "description": "VRF instances configured by this gateway template"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/idpprofile:Idpprofile": {
            "description": "This resource manages WAN Assurance Idp Profiles.\n\nAn IDP Profile is a configuration setting that defines the behavior and actions of an intrusion detection and prevention (IDP) system. It specifies how the idp system should detect and respond to potential security threats or attacks on a network.\n\nThe profile includes rules and policies that determine which types of traffic or attacks should be monitored, what actions should be taken when a threat is detected, and any exceptions or exclusions for specific destinations or attack types.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst idpprofileOne = new junipermist.org.Idpprofile(\"idpprofile_one\", {\n    orgId: terraformTest.id,\n    baseProfile: \"standard\",\n    overwrites: [\n        {\n            name: \"server_bypass\",\n            matching: {\n                severity: [],\n                dstSubnet: [],\n                attackName: [\"SSL:OVERFLOW:KEY-ARG-NO-ENTROPY\"],\n            },\n        },\n        {\n            name: \"guest-bypass\",\n            matching: {\n                severity: [],\n                dstSubnet: [\"8.8.8.8/32\"],\n                attackName: [\"UDP:ZERO-DATA\"],\n            },\n        },\n    ],\n    name: \"idpprofile_one\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nidpprofile_one = junipermist.org.Idpprofile(\"idpprofile_one\",\n    org_id=terraform_test[\"id\"],\n    base_profile=\"standard\",\n    overwrites=[\n        {\n            \"name\": \"server_bypass\",\n            \"matching\": {\n                \"severity\": [],\n                \"dst_subnet\": [],\n                \"attack_name\": [\"SSL:OVERFLOW:KEY-ARG-NO-ENTROPY\"],\n            },\n        },\n        {\n            \"name\": \"guest-bypass\",\n            \"matching\": {\n                \"severity\": [],\n                \"dst_subnet\": [\"8.8.8.8/32\"],\n                \"attack_name\": [\"UDP:ZERO-DATA\"],\n            },\n        },\n    ],\n    name=\"idpprofile_one\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var idpprofileOne = new JuniperMist.Org.Idpprofile(\"idpprofile_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        BaseProfile = \"standard\",\n        Overwrites = new[]\n        {\n            new JuniperMist.Org.Inputs.IdpprofileOverwriteArgs\n            {\n                Name = \"server_bypass\",\n                Matching = new JuniperMist.Org.Inputs.IdpprofileOverwriteMatchingArgs\n                {\n                    Severity = new() { },\n                    DstSubnet = new() { },\n                    AttackName = new[]\n                    {\n                        \"SSL:OVERFLOW:KEY-ARG-NO-ENTROPY\",\n                    },\n                },\n            },\n            new JuniperMist.Org.Inputs.IdpprofileOverwriteArgs\n            {\n                Name = \"guest-bypass\",\n                Matching = new JuniperMist.Org.Inputs.IdpprofileOverwriteMatchingArgs\n                {\n                    Severity = new() { },\n                    DstSubnet = new[]\n                    {\n                        \"8.8.8.8/32\",\n                    },\n                    AttackName = new[]\n                    {\n                        \"UDP:ZERO-DATA\",\n                    },\n                },\n            },\n        },\n        Name = \"idpprofile_one\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewIdpprofile(ctx, \"idpprofile_one\", \u0026org.IdpprofileArgs{\n\t\t\tOrgId:       pulumi.Any(terraformTest.Id),\n\t\t\tBaseProfile: pulumi.String(\"standard\"),\n\t\t\tOverwrites: org.IdpprofileOverwriteArray{\n\t\t\t\t\u0026org.IdpprofileOverwriteArgs{\n\t\t\t\t\tName: pulumi.String(\"server_bypass\"),\n\t\t\t\t\tMatching: \u0026org.IdpprofileOverwriteMatchingArgs{\n\t\t\t\t\t\tSeverity:  []interface{}{},\n\t\t\t\t\t\tDstSubnet: []interface{}{},\n\t\t\t\t\t\tAttackName: []string{\n\t\t\t\t\t\t\t\"SSL:OVERFLOW:KEY-ARG-NO-ENTROPY\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026org.IdpprofileOverwriteArgs{\n\t\t\t\t\tName: pulumi.String(\"guest-bypass\"),\n\t\t\t\t\tMatching: \u0026org.IdpprofileOverwriteMatchingArgs{\n\t\t\t\t\t\tSeverity: []interface{}{},\n\t\t\t\t\t\tDstSubnet: []string{\n\t\t\t\t\t\t\t\"8.8.8.8/32\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tAttackName: []string{\n\t\t\t\t\t\t\t\"UDP:ZERO-DATA\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"idpprofile_one\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_idpprofile\" \"idpprofile_one\" {\n  org_id       = terraformTest.id\n  base_profile = \"standard\"\n  overwrites {\n    name = \"server_bypass\"\n    matching = {\n      severity    = []\n      dst_subnet  = []\n      attack_name = [\"SSL:OVERFLOW:KEY-ARG-NO-ENTROPY\"]\n    }\n  }\n  overwrites {\n    name = \"guest-bypass\"\n    matching = {\n      severity    = []\n      dst_subnet  = [\"8.8.8.8/32\"]\n      attack_name = [\"UDP:ZERO-DATA\"]\n    }\n  }\n  name = \"idpprofile_one\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Idpprofile;\nimport com.pulumi.junipermist.org.IdpprofileArgs;\nimport com.pulumi.junipermist.org.inputs.IdpprofileOverwriteArgs;\nimport com.pulumi.junipermist.org.inputs.IdpprofileOverwriteMatchingArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var idpprofileOne = new Idpprofile(\"idpprofileOne\", IdpprofileArgs.builder()\n            .orgId(terraformTest.id())\n            .baseProfile(\"standard\")\n            .overwrites(            \n                IdpprofileOverwriteArgs.builder()\n                    .name(\"server_bypass\")\n                    .matching(IdpprofileOverwriteMatchingArgs.builder()\n                        .severity(Arrays.asList())\n                        .dstSubnet(Arrays.asList())\n                        .attackName(Arrays.asList(\"SSL:OVERFLOW:KEY-ARG-NO-ENTROPY\"))\n                        .build())\n                    .build(),\n                IdpprofileOverwriteArgs.builder()\n                    .name(\"guest-bypass\")\n                    .matching(IdpprofileOverwriteMatchingArgs.builder()\n                        .severity(Arrays.asList())\n                        .dstSubnet(Arrays.asList(\"8.8.8.8/32\"))\n                        .attackName(Arrays.asList(\"UDP:ZERO-DATA\"))\n                        .build())\n                    .build())\n            .name(\"idpprofile_one\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  idpprofileOne:\n    type: junipermist:org:Idpprofile\n    name: idpprofile_one\n    properties:\n      orgId: ${terraformTest.id}\n      baseProfile: standard\n      overwrites:\n        - name: server_bypass\n          matching:\n            severity: []\n            dstSubnet: []\n            attackName:\n              - SSL:OVERFLOW:KEY-ARG-NO-ENTROPY\n        - name: guest-bypass\n          matching:\n            severity: []\n            dstSubnet:\n              - 8.8.8.8/32\n            attackName:\n              - UDP:ZERO-DATA\n      name: idpprofile_one\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Idpprofile`\" pulumi-lang-dotnet=\"`junipermist.org.Idpprofile`\" pulumi-lang-go=\"`org.Idpprofile`\" pulumi-lang-python=\"`org.Idpprofile`\" pulumi-lang-yaml=\"`junipermist.org.Idpprofile`\" pulumi-lang-java=\"`junipermist.org.Idpprofile`\" pulumi-lang-hcl=\"`mist_org_idpprofile`\"\u003e`junipermist.org.Idpprofile`\u003c/span\u003e with:\nIDP Profile can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" idpprofileId\n\" pulumi-lang-dotnet=\" IdpprofileId\n\" pulumi-lang-go=\" idpprofileId\n\" pulumi-lang-python=\" idpprofile_id\n\" pulumi-lang-yaml=\" idpprofileId\n\" pulumi-lang-java=\" idpprofileId\n\" pulumi-lang-hcl=\" idpprofile_id\n\"\u003e idpprofileId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/idpprofile:Idpprofile idpprofile_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "baseProfile": {
                    "type": "string",
                    "description": "Built-in IDP baseline profile inherited before applying overwrites\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the IDP profile\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization for the IDP profile\n"
                },
                "overwrites": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/IdpprofileOverwrite:IdpprofileOverwrite"
                    },
                    "description": "IDP signature override rules applied on top of the base profile\n"
                }
            },
            "required": [
                "baseProfile",
                "name",
                "orgId"
            ],
            "inputProperties": {
                "baseProfile": {
                    "type": "string",
                    "description": "Built-in IDP baseline profile inherited before applying overwrites\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the IDP profile\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization for the IDP profile\n"
                },
                "overwrites": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/IdpprofileOverwrite:IdpprofileOverwrite"
                    },
                    "description": "IDP signature override rules applied on top of the base profile\n"
                }
            },
            "requiredInputs": [
                "baseProfile",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Idpprofile resources.\n",
                "properties": {
                    "baseProfile": {
                        "type": "string",
                        "description": "Built-in IDP baseline profile inherited before applying overwrites\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the IDP profile\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Owning organization for the IDP profile\n"
                    },
                    "overwrites": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/IdpprofileOverwrite:IdpprofileOverwrite"
                        },
                        "description": "IDP signature override rules applied on top of the base profile\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/inventory:Inventory": {
            "description": "This resource manages the Org Inventory.\n\nIt can be used to claim, unclaim, assign, unassign, reassign devices.\n\n-\u003eRemoving a device from the \u003cspan pulumi-lang-nodejs=\"`devices`\" pulumi-lang-dotnet=\"`Devices`\" pulumi-lang-go=\"`devices`\" pulumi-lang-python=\"`devices`\" pulumi-lang-yaml=\"`devices`\" pulumi-lang-java=\"`devices`\" pulumi-lang-hcl=\"`devices`\"\u003e`devices`\u003c/span\u003e list or \u003cspan pulumi-lang-nodejs=\"`inventory`\" pulumi-lang-dotnet=\"`Inventory`\" pulumi-lang-go=\"`inventory`\" pulumi-lang-python=\"`inventory`\" pulumi-lang-yaml=\"`inventory`\" pulumi-lang-java=\"`inventory`\" pulumi-lang-hcl=\"`inventory`\"\u003e`inventory`\u003c/span\u003e map will NOT release it unless \u003cspan pulumi-lang-nodejs=\"`unclaimWhenDestroyed`\" pulumi-lang-dotnet=\"`UnclaimWhenDestroyed`\" pulumi-lang-go=\"`unclaimWhenDestroyed`\" pulumi-lang-python=\"`unclaim_when_destroyed`\" pulumi-lang-yaml=\"`unclaimWhenDestroyed`\" pulumi-lang-java=\"`unclaimWhenDestroyed`\" pulumi-lang-hcl=\"`unclaim_when_destroyed`\"\u003e`unclaimWhenDestroyed`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n\n\u003e The \u003cspan pulumi-lang-nodejs=\"`devices`\" pulumi-lang-dotnet=\"`Devices`\" pulumi-lang-go=\"`devices`\" pulumi-lang-python=\"`devices`\" pulumi-lang-yaml=\"`devices`\" pulumi-lang-java=\"`devices`\" pulumi-lang-hcl=\"`devices`\"\u003e`devices`\u003c/span\u003e attribute (List) is deprecated and is replaced by the \u003cspan pulumi-lang-nodejs=\"`inventory`\" pulumi-lang-dotnet=\"`Inventory`\" pulumi-lang-go=\"`inventory`\" pulumi-lang-python=\"`inventory`\" pulumi-lang-yaml=\"`inventory`\" pulumi-lang-java=\"`inventory`\" pulumi-lang-hcl=\"`inventory`\"\u003e`inventory`\u003c/span\u003e attribute (Map) as it can generate \"inconsistent result after apply\" errors. If this happens, it is required to force a refresh of the state to synchronise the new list.  \nThe \u003cspan pulumi-lang-nodejs=\"`devices`\" pulumi-lang-dotnet=\"`Devices`\" pulumi-lang-go=\"`devices`\" pulumi-lang-python=\"`devices`\" pulumi-lang-yaml=\"`devices`\" pulumi-lang-java=\"`devices`\" pulumi-lang-hcl=\"`devices`\"\u003e`devices`\u003c/span\u003e attribute will generate inconsistent result after apply when a device other than the last one is removed from the list or when a device is added somewhere other than the end of the list\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst inventory = new junipermist.org.Inventory(\"inventory\", {\n    orgId: terraformTest.id,\n    inventory: {\n        CPKL2EXXXXXXXXX: {},\n        G87JHBFXXXXXXXX: {\n            siteId: terraformSite.id,\n            unclaimWhenDestroyed: true,\n        },\n        \"2c2131000000\": {\n            siteId: terraformSite.id,\n            unclaimWhenDestroyed: true,\n        },\n        \"2c2131000001\": {\n            unclaimWhenDestroyed: false,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\ninventory = junipermist.org.Inventory(\"inventory\",\n    org_id=terraform_test[\"id\"],\n    inventory={\n        \"CPKL2EXXXXXXXXX\": {},\n        \"G87JHBFXXXXXXXX\": {\n            \"site_id\": terraform_site[\"id\"],\n            \"unclaim_when_destroyed\": True,\n        },\n        \"2c2131000000\": {\n            \"site_id\": terraform_site[\"id\"],\n            \"unclaim_when_destroyed\": True,\n        },\n        \"2c2131000001\": {\n            \"unclaim_when_destroyed\": False,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var inventory = new JuniperMist.Org.Inventory(\"inventory\", new()\n    {\n        OrgId = terraformTest.Id,\n        InventoryDetails = \n        {\n            { \"CPKL2EXXXXXXXXX\", null },\n            { \"G87JHBFXXXXXXXX\", new JuniperMist.Org.Inputs.InventoryInventoryArgs\n            {\n                SiteId = terraformSite.Id,\n                UnclaimWhenDestroyed = true,\n            } },\n            { \"2c2131000000\", new JuniperMist.Org.Inputs.InventoryInventoryArgs\n            {\n                SiteId = terraformSite.Id,\n                UnclaimWhenDestroyed = true,\n            } },\n            { \"2c2131000001\", new JuniperMist.Org.Inputs.InventoryInventoryArgs\n            {\n                UnclaimWhenDestroyed = false,\n            } },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewInventory(ctx, \"inventory\", \u0026org.InventoryArgs{\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tInventory: org.InventoryInventoryMap{\n\t\t\t\t\"CPKL2EXXXXXXXXX\": \u0026org.InventoryInventoryArgs{},\n\t\t\t\t\"G87JHBFXXXXXXXX\": \u0026org.InventoryInventoryArgs{\n\t\t\t\t\tSiteId:               pulumi.Any(terraformSite.Id),\n\t\t\t\t\tUnclaimWhenDestroyed: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\"2c2131000000\": \u0026org.InventoryInventoryArgs{\n\t\t\t\t\tSiteId:               pulumi.Any(terraformSite.Id),\n\t\t\t\t\tUnclaimWhenDestroyed: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\"2c2131000001\": \u0026org.InventoryInventoryArgs{\n\t\t\t\t\tUnclaimWhenDestroyed: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_inventory\" \"inventory\" {\n  org_id = terraformTest.id\n  inventory = {\n    \"CPKL2EXXXXXXXXX\" = {}\n    \"G87JHBFXXXXXXXX\" = {\n      site_id                = terraformSite.id\n      unclaim_when_destroyed = true\n    }\n    \"2c2131000000\" = {\n      site_id                = terraformSite.id\n      unclaim_when_destroyed = true\n    }\n    \"2c2131000001\" = {\n      unclaim_when_destroyed = false\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Inventory;\nimport com.pulumi.junipermist.org.InventoryArgs;\nimport com.pulumi.junipermist.org.inputs.InventoryInventoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var inventory = new Inventory(\"inventory\", InventoryArgs.builder()\n            .orgId(terraformTest.id())\n            .inventory(Map.ofEntries(\n                Map.entry(\"CPKL2EXXXXXXXXX\", InventoryInventoryArgs.builder()\n                    .build()),\n                Map.entry(\"G87JHBFXXXXXXXX\", InventoryInventoryArgs.builder()\n                    .siteId(terraformSite.id())\n                    .unclaimWhenDestroyed(true)\n                    .build()),\n                Map.entry(\"2c2131000000\", InventoryInventoryArgs.builder()\n                    .siteId(terraformSite.id())\n                    .unclaimWhenDestroyed(true)\n                    .build()),\n                Map.entry(\"2c2131000001\", InventoryInventoryArgs.builder()\n                    .unclaimWhenDestroyed(false)\n                    .build())\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  inventory:\n    type: junipermist:org:Inventory\n    properties:\n      orgId: ${terraformTest.id}\n      inventory:\n        CPKL2EXXXXXXXXX: {}\n        G87JHBFXXXXXXXX:\n          siteId: ${terraformSite.id}\n          unclaimWhenDestroyed: true\n        2c2131000000:\n          siteId: ${terraformSite.id}\n          unclaimWhenDestroyed: true\n        2c2131000001:\n          unclaimWhenDestroyed: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Inventory`\" pulumi-lang-dotnet=\"`junipermist.org.Inventory`\" pulumi-lang-go=\"`org.Inventory`\" pulumi-lang-python=\"`org.Inventory`\" pulumi-lang-yaml=\"`junipermist.org.Inventory`\" pulumi-lang-java=\"`junipermist.org.Inventory`\" pulumi-lang-hcl=\"`mist_org_inventory`\"\u003e`junipermist.org.Inventory`\u003c/span\u003e with:\nOrg Inventory can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId\n\" pulumi-lang-dotnet=\" OrgId\n\" pulumi-lang-go=\" orgId\n\" pulumi-lang-python=\" org_id\n\" pulumi-lang-yaml=\" orgId\n\" pulumi-lang-java=\" orgId\n\" pulumi-lang-hcl=\" org_id\n\"\u003e orgId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/inventory:Inventory inventory_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a\n```\n\n",
            "properties": {
                "disconnectedBefore": {
                    "type": "integer",
                    "description": "Filter results to devices that were last disconnected before this time, in epoch seconds"
                },
                "inventory": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/InventoryInventory:InventoryInventory"
                    },
                    "description": "Property key can be the device Claim Code or the device MAC Address:\n  * Claim Code: used to claim the device to the Mist Organization and manage it. Format is `[0-9A-Z]{15}` (e.g `01234ABCDE56789`)\n  * MAC Address: used to manage a device already in the Mist Organization (claimed or adopted devices). Format is `[0-9a-f]{12}` (e.g \u003cspan pulumi-lang-nodejs=\"`5684dae9ac8b`\" pulumi-lang-dotnet=\"`5684dae9ac8b`\" pulumi-lang-go=\"`5684dae9ac8b`\" pulumi-lang-python=\"`5684dae9ac8b`\" pulumi-lang-yaml=\"`5684dae9ac8b`\" pulumi-lang-java=\"`5684dae9ac8b`\" pulumi-lang-hcl=\"`5684dae9ac8b`\"\u003e`5684dae9ac8b`\u003c/span\u003e)\n\n    \u003e",
                    "language": {
                        "csharp": {
                            "name": "InventoryDetails"
                        }
                    }
                },
                "orgId": {
                    "type": "string"
                }
            },
            "required": [
                "inventory",
                "orgId"
            ],
            "inputProperties": {
                "disconnectedBefore": {
                    "type": "integer",
                    "description": "Filter results to devices that were last disconnected before this time, in epoch seconds"
                },
                "inventory": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/InventoryInventory:InventoryInventory"
                    },
                    "description": "Property key can be the device Claim Code or the device MAC Address:\n  * Claim Code: used to claim the device to the Mist Organization and manage it. Format is `[0-9A-Z]{15}` (e.g `01234ABCDE56789`)\n  * MAC Address: used to manage a device already in the Mist Organization (claimed or adopted devices). Format is `[0-9a-f]{12}` (e.g \u003cspan pulumi-lang-nodejs=\"`5684dae9ac8b`\" pulumi-lang-dotnet=\"`5684dae9ac8b`\" pulumi-lang-go=\"`5684dae9ac8b`\" pulumi-lang-python=\"`5684dae9ac8b`\" pulumi-lang-yaml=\"`5684dae9ac8b`\" pulumi-lang-java=\"`5684dae9ac8b`\" pulumi-lang-hcl=\"`5684dae9ac8b`\"\u003e`5684dae9ac8b`\u003c/span\u003e)\n\n    \u003e",
                    "language": {
                        "csharp": {
                            "name": "InventoryDetails"
                        }
                    }
                },
                "orgId": {
                    "type": "string"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Inventory resources.\n",
                "properties": {
                    "disconnectedBefore": {
                        "type": "integer",
                        "description": "Filter results to devices that were last disconnected before this time, in epoch seconds"
                    },
                    "inventory": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/InventoryInventory:InventoryInventory"
                        },
                        "description": "Property key can be the device Claim Code or the device MAC Address:\n  * Claim Code: used to claim the device to the Mist Organization and manage it. Format is `[0-9A-Z]{15}` (e.g `01234ABCDE56789`)\n  * MAC Address: used to manage a device already in the Mist Organization (claimed or adopted devices). Format is `[0-9a-f]{12}` (e.g \u003cspan pulumi-lang-nodejs=\"`5684dae9ac8b`\" pulumi-lang-dotnet=\"`5684dae9ac8b`\" pulumi-lang-go=\"`5684dae9ac8b`\" pulumi-lang-python=\"`5684dae9ac8b`\" pulumi-lang-yaml=\"`5684dae9ac8b`\" pulumi-lang-java=\"`5684dae9ac8b`\" pulumi-lang-hcl=\"`5684dae9ac8b`\"\u003e`5684dae9ac8b`\u003c/span\u003e)\n\n    \u003e",
                        "language": {
                            "csharp": {
                                "name": "InventoryDetails"
                            }
                        }
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/mxcluster:Mxcluster": {
            "description": "This resource manages MxCluster (cluster of MxEdge devices) in the Mist Organization.\n\nA Mist Edge Cluster is a group of one or more Org Mist Edge devices (mist_org_mxedge) providing tunnel termination, edge network services and RADIUS proxy capabilities.\n\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Mxcluster`\" pulumi-lang-dotnet=\"`junipermist.org.Mxcluster`\" pulumi-lang-go=\"`org.Mxcluster`\" pulumi-lang-python=\"`org.Mxcluster`\" pulumi-lang-yaml=\"`junipermist.org.Mxcluster`\" pulumi-lang-java=\"`junipermist.org.Mxcluster`\" pulumi-lang-hcl=\"`mist_org_mxcluster`\"\u003e`junipermist.org.Mxcluster`\u003c/span\u003e with:\nMist Org MxCluster can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" mxclusterId\n\" pulumi-lang-dotnet=\" MxclusterId\n\" pulumi-lang-go=\" mxclusterId\n\" pulumi-lang-python=\" mxcluster_id\n\" pulumi-lang-yaml=\" mxclusterId\n\" pulumi-lang-java=\" mxclusterId\n\" pulumi-lang-hcl=\" mxcluster_id\n\"\u003e mxclusterId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/mxcluster:Mxcluster cluster_one 17f90707-aebe-4274-af42-f42952a665a3.387804a7-3474-85ce-15a2-f9a9684c9c90\n```\n\n",
            "properties": {
                "mistDas": {
                    "$ref": "#/types/junipermist:org/MxclusterMistDas:MxclusterMistDas",
                    "description": "Dynamic authorization service settings for the cluster\n"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/MxclusterMistNac:MxclusterMistNac",
                    "description": "NAC settings for the Mist Edge cluster\n"
                },
                "mistNacedge": {
                    "$ref": "#/types/junipermist:org/MxclusterMistNacedge:MxclusterMistNacedge",
                    "description": "NAC Edge survivability settings for the cluster; requires \u003cspan pulumi-lang-nodejs=\"`mistNac`\" pulumi-lang-dotnet=\"`MistNac`\" pulumi-lang-go=\"`mistNac`\" pulumi-lang-python=\"`mist_nac`\" pulumi-lang-yaml=\"`mistNac`\" pulumi-lang-java=\"`mistNac`\" pulumi-lang-hcl=\"`mist_nac`\"\u003e`mistNac`\u003c/span\u003e to be enabled\n"
                },
                "mxedgeMgmt": {
                    "$ref": "#/types/junipermist:org/MxclusterMxedgeMgmt:MxclusterMxedgeMgmt",
                    "description": "Out-of-band management settings for Mist Edges in the cluster\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the Mist Edge cluster\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Identifier of the org that owns the Mist Edge cluster\n"
                },
                "proxy": {
                    "$ref": "#/types/junipermist:org/MxclusterProxy:MxclusterProxy",
                    "description": "Network proxy settings used by Mist Edges in the cluster to communicate with the Mist Cloud\n"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:org/MxclusterRadsec:MxclusterRadsec",
                    "description": "TLS RADIUS proxy settings for the Mist Edge cluster\n"
                },
                "radsecTls": {
                    "$ref": "#/types/junipermist:org/MxclusterRadsecTls:MxclusterRadsecTls",
                    "description": "TLS keypair settings for RadSec on the Mist Edge cluster\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Identifier of the site when the Mist Edge cluster is site-scoped\n"
                },
                "tuntermApSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AP source subnets allowed to establish Mist tunnels\n"
                },
                "tuntermDhcpdConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxclusterTuntermDhcpdConfig:MxclusterTuntermDhcpdConfig"
                    },
                    "description": "DHCP relay or server settings for tunneled VLANs\n"
                },
                "tuntermExtraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxclusterTuntermExtraRoutes:MxclusterTuntermExtraRoutes"
                    },
                    "description": "Extra routes for Mist Tunnel VLAN traffic\n"
                },
                "tuntermHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Hostnames or IP addresses used as Mist Tunnel peers\n"
                },
                "tuntermHostsOrders": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Explicit host ordering indexes used when ordered selection is configured\n"
                },
                "tuntermHostsSelection": {
                    "type": "string",
                    "description": "Selection strategy for ordering tunnel termination hosts\n"
                },
                "tuntermMonitoringDisabled": {
                    "type": "boolean",
                    "description": "Whether tunnel termination monitoring is disabled for the cluster\n"
                },
                "tuntermMonitorings": {
                    "type": "array",
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/MxclusterTuntermMonitoring:MxclusterTuntermMonitoring"
                        }
                    },
                    "description": "Monitoring checks for tunnel termination reachability\n"
                }
            },
            "required": [
                "name",
                "orgId",
                "radsecTls",
                "tuntermHostsSelection"
            ],
            "inputProperties": {
                "mistDas": {
                    "$ref": "#/types/junipermist:org/MxclusterMistDas:MxclusterMistDas",
                    "description": "Dynamic authorization service settings for the cluster\n"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/MxclusterMistNac:MxclusterMistNac",
                    "description": "NAC settings for the Mist Edge cluster\n"
                },
                "mistNacedge": {
                    "$ref": "#/types/junipermist:org/MxclusterMistNacedge:MxclusterMistNacedge",
                    "description": "NAC Edge survivability settings for the cluster; requires \u003cspan pulumi-lang-nodejs=\"`mistNac`\" pulumi-lang-dotnet=\"`MistNac`\" pulumi-lang-go=\"`mistNac`\" pulumi-lang-python=\"`mist_nac`\" pulumi-lang-yaml=\"`mistNac`\" pulumi-lang-java=\"`mistNac`\" pulumi-lang-hcl=\"`mist_nac`\"\u003e`mistNac`\u003c/span\u003e to be enabled\n"
                },
                "mxedgeMgmt": {
                    "$ref": "#/types/junipermist:org/MxclusterMxedgeMgmt:MxclusterMxedgeMgmt",
                    "description": "Out-of-band management settings for Mist Edges in the cluster\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the Mist Edge cluster\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Identifier of the org that owns the Mist Edge cluster\n"
                },
                "proxy": {
                    "$ref": "#/types/junipermist:org/MxclusterProxy:MxclusterProxy",
                    "description": "Network proxy settings used by Mist Edges in the cluster to communicate with the Mist Cloud\n"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:org/MxclusterRadsec:MxclusterRadsec",
                    "description": "TLS RADIUS proxy settings for the Mist Edge cluster\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Identifier of the site when the Mist Edge cluster is site-scoped\n"
                },
                "tuntermApSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "AP source subnets allowed to establish Mist tunnels\n"
                },
                "tuntermDhcpdConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxclusterTuntermDhcpdConfig:MxclusterTuntermDhcpdConfig"
                    },
                    "description": "DHCP relay or server settings for tunneled VLANs\n"
                },
                "tuntermExtraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxclusterTuntermExtraRoutes:MxclusterTuntermExtraRoutes"
                    },
                    "description": "Extra routes for Mist Tunnel VLAN traffic\n"
                },
                "tuntermHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Hostnames or IP addresses used as Mist Tunnel peers\n"
                },
                "tuntermHostsOrders": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Explicit host ordering indexes used when ordered selection is configured\n"
                },
                "tuntermHostsSelection": {
                    "type": "string",
                    "description": "Selection strategy for ordering tunnel termination hosts\n"
                },
                "tuntermMonitoringDisabled": {
                    "type": "boolean",
                    "description": "Whether tunnel termination monitoring is disabled for the cluster\n"
                },
                "tuntermMonitorings": {
                    "type": "array",
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/MxclusterTuntermMonitoring:MxclusterTuntermMonitoring"
                        }
                    },
                    "description": "Monitoring checks for tunnel termination reachability\n"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Mxcluster resources.\n",
                "properties": {
                    "mistDas": {
                        "$ref": "#/types/junipermist:org/MxclusterMistDas:MxclusterMistDas",
                        "description": "Dynamic authorization service settings for the cluster\n"
                    },
                    "mistNac": {
                        "$ref": "#/types/junipermist:org/MxclusterMistNac:MxclusterMistNac",
                        "description": "NAC settings for the Mist Edge cluster\n"
                    },
                    "mistNacedge": {
                        "$ref": "#/types/junipermist:org/MxclusterMistNacedge:MxclusterMistNacedge",
                        "description": "NAC Edge survivability settings for the cluster; requires \u003cspan pulumi-lang-nodejs=\"`mistNac`\" pulumi-lang-dotnet=\"`MistNac`\" pulumi-lang-go=\"`mistNac`\" pulumi-lang-python=\"`mist_nac`\" pulumi-lang-yaml=\"`mistNac`\" pulumi-lang-java=\"`mistNac`\" pulumi-lang-hcl=\"`mist_nac`\"\u003e`mistNac`\u003c/span\u003e to be enabled\n"
                    },
                    "mxedgeMgmt": {
                        "$ref": "#/types/junipermist:org/MxclusterMxedgeMgmt:MxclusterMxedgeMgmt",
                        "description": "Out-of-band management settings for Mist Edges in the cluster\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the Mist Edge cluster\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Identifier of the org that owns the Mist Edge cluster\n"
                    },
                    "proxy": {
                        "$ref": "#/types/junipermist:org/MxclusterProxy:MxclusterProxy",
                        "description": "Network proxy settings used by Mist Edges in the cluster to communicate with the Mist Cloud\n"
                    },
                    "radsec": {
                        "$ref": "#/types/junipermist:org/MxclusterRadsec:MxclusterRadsec",
                        "description": "TLS RADIUS proxy settings for the Mist Edge cluster\n"
                    },
                    "radsecTls": {
                        "$ref": "#/types/junipermist:org/MxclusterRadsecTls:MxclusterRadsecTls",
                        "description": "TLS keypair settings for RadSec on the Mist Edge cluster\n"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Identifier of the site when the Mist Edge cluster is site-scoped\n"
                    },
                    "tuntermApSubnets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "AP source subnets allowed to establish Mist tunnels\n"
                    },
                    "tuntermDhcpdConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/MxclusterTuntermDhcpdConfig:MxclusterTuntermDhcpdConfig"
                        },
                        "description": "DHCP relay or server settings for tunneled VLANs\n"
                    },
                    "tuntermExtraRoutes": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/MxclusterTuntermExtraRoutes:MxclusterTuntermExtraRoutes"
                        },
                        "description": "Extra routes for Mist Tunnel VLAN traffic\n"
                    },
                    "tuntermHosts": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Hostnames or IP addresses used as Mist Tunnel peers\n"
                    },
                    "tuntermHostsOrders": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "Explicit host ordering indexes used when ordered selection is configured\n"
                    },
                    "tuntermHostsSelection": {
                        "type": "string",
                        "description": "Selection strategy for ordering tunnel termination hosts\n"
                    },
                    "tuntermMonitoringDisabled": {
                        "type": "boolean",
                        "description": "Whether tunnel termination monitoring is disabled for the cluster\n"
                    },
                    "tuntermMonitorings": {
                        "type": "array",
                        "items": {
                            "type": "array",
                            "items": {
                                "$ref": "#/types/junipermist:org/MxclusterTuntermMonitoring:MxclusterTuntermMonitoring"
                            }
                        },
                        "description": "Monitoring checks for tunnel termination reachability\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/mxedge:Mxedge": {
            "description": "This resource manages MxEdge devices in the Mist Organization.\n\nMxEdge is a multi-service edge platform that provides tunneling, switching, and other network services.\n\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Mxedge`\" pulumi-lang-dotnet=\"`junipermist.org.Mxedge`\" pulumi-lang-go=\"`org.Mxedge`\" pulumi-lang-python=\"`org.Mxedge`\" pulumi-lang-yaml=\"`junipermist.org.Mxedge`\" pulumi-lang-java=\"`junipermist.org.Mxedge`\" pulumi-lang-hcl=\"`mist_org_mxedge`\"\u003e`junipermist.org.Mxedge`\u003c/span\u003e with:\nMist Org MxEdge can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" mxedgeId\n\" pulumi-lang-dotnet=\" MxedgeId\n\" pulumi-lang-go=\" mxedgeId\n\" pulumi-lang-python=\" mxedge_id\n\" pulumi-lang-yaml=\" mxedgeId\n\" pulumi-lang-java=\" mxedgeId\n\" pulumi-lang-hcl=\" mxedge_id\n\"\u003e mxedgeId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/mxedge:Mxedge edge_one 17f90707-aebe-4274-af42-f42952a665a3.387804a7-3474-85ce-15a2-f9a9684c9c90\n```\n\n",
            "properties": {
                "claimCode": {
                    "type": "string",
                    "description": "Registration claim code for the Mist Edge\n"
                },
                "forSite": {
                    "type": "boolean",
                    "description": "Whether this Mist Edge is scoped to a site\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Mist Edge MAC address\n"
                },
                "model": {
                    "type": "string",
                    "description": "Mist Edge hardware or virtual appliance model\n"
                },
                "mxagentRegistered": {
                    "type": "boolean",
                    "description": "Whether the Mist Edge agent has registered with Mist cloud\n"
                },
                "mxclusterId": {
                    "type": "string",
                    "description": "Mist Edge cluster identifier that this appliance belongs to\n"
                },
                "mxedgeMgmt": {
                    "$ref": "#/types/junipermist:org/MxedgeMxedgeMgmt:MxedgeMxedgeMgmt",
                    "description": "Management credentials and settings for the Mist Edge\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the Mist Edge\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Free-form notes for the Mist Edge\n"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Time synchronization servers used by the Mist Edge\n"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeOobIpConfig:MxedgeOobIpConfig",
                    "description": "Out-of-band management IP configuration for the Mist Edge\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Identifier of the org that owns the Mist Edge\n"
                },
                "proxy": {
                    "$ref": "#/types/junipermist:org/MxedgeProxy:MxedgeProxy",
                    "description": "Network proxy settings used by the Mist Edge\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of services enabled to run on the Mist Edge\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Identifier of the site when the Mist Edge is site-scoped\n"
                },
                "tuntermDhcpdConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermDhcpdConfig:MxedgeTuntermDhcpdConfig"
                    },
                    "description": "DHCP relay or server settings for Mist Tunneled VLANs\n"
                },
                "tuntermExtraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermExtraRoutes:MxedgeTuntermExtraRoutes"
                    },
                    "description": "Extra routes for Mist Tunneled VLAN traffic; property key is a CIDR\n"
                },
                "tuntermIgmpSnoopingConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermIgmpSnoopingConfig:MxedgeTuntermIgmpSnoopingConfig",
                    "description": "IGMP snooping settings for Mist Tunneled VLANs\n"
                },
                "tuntermIpConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermIpConfig:MxedgeTuntermIpConfig",
                    "description": "Tunnel termination IP configuration for the Mist Edge\n"
                },
                "tuntermMonitorings": {
                    "type": "array",
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/MxedgeTuntermMonitoring:MxedgeTuntermMonitoring"
                        }
                    },
                    "description": "Monitoring checks for tunnel termination reachability\n"
                },
                "tuntermMulticastConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermMulticastConfig:MxedgeTuntermMulticastConfig",
                    "description": "Multicast forwarding settings for tunnel termination\n"
                },
                "tuntermOtherIpConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermOtherIpConfigs:MxedgeTuntermOtherIpConfigs"
                    },
                    "description": "IPconfigs by VLAN ID. Property key is the VLAN ID\n"
                },
                "tuntermPortConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermPortConfig:MxedgeTuntermPortConfig",
                    "description": "Port configuration for tunnel termination traffic\n"
                },
                "tuntermRegistered": {
                    "type": "boolean",
                    "description": "Whether the tunnel termination service has registered with Mist cloud\n"
                },
                "tuntermSwitchConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermSwitchConfig:MxedgeTuntermSwitchConfig"
                    },
                    "description": "Switch VLAN settings for tunnel termination\n"
                },
                "versions": {
                    "$ref": "#/types/junipermist:org/MxedgeVersions:MxedgeVersions",
                    "description": "Service version information reported by the Mist Edge\n"
                }
            },
            "required": [
                "claimCode",
                "forSite",
                "mac",
                "model",
                "mxagentRegistered",
                "name",
                "orgId",
                "services",
                "tuntermRegistered"
            ],
            "inputProperties": {
                "claimCode": {
                    "type": "string",
                    "description": "Registration claim code for the Mist Edge\n"
                },
                "model": {
                    "type": "string",
                    "description": "Mist Edge hardware or virtual appliance model\n"
                },
                "mxclusterId": {
                    "type": "string",
                    "description": "Mist Edge cluster identifier that this appliance belongs to\n"
                },
                "mxedgeMgmt": {
                    "$ref": "#/types/junipermist:org/MxedgeMxedgeMgmt:MxedgeMxedgeMgmt",
                    "description": "Management credentials and settings for the Mist Edge\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the Mist Edge\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Free-form notes for the Mist Edge\n"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Time synchronization servers used by the Mist Edge\n"
                },
                "oobIpConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeOobIpConfig:MxedgeOobIpConfig",
                    "description": "Out-of-band management IP configuration for the Mist Edge\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Identifier of the org that owns the Mist Edge\n"
                },
                "proxy": {
                    "$ref": "#/types/junipermist:org/MxedgeProxy:MxedgeProxy",
                    "description": "Network proxy settings used by the Mist Edge\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Identifier of the site when the Mist Edge is site-scoped\n"
                },
                "tuntermDhcpdConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermDhcpdConfig:MxedgeTuntermDhcpdConfig"
                    },
                    "description": "DHCP relay or server settings for Mist Tunneled VLANs\n"
                },
                "tuntermExtraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermExtraRoutes:MxedgeTuntermExtraRoutes"
                    },
                    "description": "Extra routes for Mist Tunneled VLAN traffic; property key is a CIDR\n"
                },
                "tuntermIgmpSnoopingConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermIgmpSnoopingConfig:MxedgeTuntermIgmpSnoopingConfig",
                    "description": "IGMP snooping settings for Mist Tunneled VLANs\n"
                },
                "tuntermIpConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermIpConfig:MxedgeTuntermIpConfig",
                    "description": "Tunnel termination IP configuration for the Mist Edge\n"
                },
                "tuntermMonitorings": {
                    "type": "array",
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/MxedgeTuntermMonitoring:MxedgeTuntermMonitoring"
                        }
                    },
                    "description": "Monitoring checks for tunnel termination reachability\n"
                },
                "tuntermMulticastConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermMulticastConfig:MxedgeTuntermMulticastConfig",
                    "description": "Multicast forwarding settings for tunnel termination\n"
                },
                "tuntermOtherIpConfigs": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermOtherIpConfigs:MxedgeTuntermOtherIpConfigs"
                    },
                    "description": "IPconfigs by VLAN ID. Property key is the VLAN ID\n"
                },
                "tuntermPortConfig": {
                    "$ref": "#/types/junipermist:org/MxedgeTuntermPortConfig:MxedgeTuntermPortConfig",
                    "description": "Port configuration for tunnel termination traffic\n"
                },
                "tuntermSwitchConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermSwitchConfig:MxedgeTuntermSwitchConfig"
                    },
                    "description": "Switch VLAN settings for tunnel termination\n"
                },
                "versions": {
                    "$ref": "#/types/junipermist:org/MxedgeVersions:MxedgeVersions",
                    "description": "Service version information reported by the Mist Edge\n"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Mxedge resources.\n",
                "properties": {
                    "claimCode": {
                        "type": "string",
                        "description": "Registration claim code for the Mist Edge\n"
                    },
                    "forSite": {
                        "type": "boolean",
                        "description": "Whether this Mist Edge is scoped to a site\n"
                    },
                    "mac": {
                        "type": "string",
                        "description": "Mist Edge MAC address\n"
                    },
                    "model": {
                        "type": "string",
                        "description": "Mist Edge hardware or virtual appliance model\n"
                    },
                    "mxagentRegistered": {
                        "type": "boolean",
                        "description": "Whether the Mist Edge agent has registered with Mist cloud\n"
                    },
                    "mxclusterId": {
                        "type": "string",
                        "description": "Mist Edge cluster identifier that this appliance belongs to\n"
                    },
                    "mxedgeMgmt": {
                        "$ref": "#/types/junipermist:org/MxedgeMxedgeMgmt:MxedgeMxedgeMgmt",
                        "description": "Management credentials and settings for the Mist Edge\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the Mist Edge\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Free-form notes for the Mist Edge\n"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Time synchronization servers used by the Mist Edge\n"
                    },
                    "oobIpConfig": {
                        "$ref": "#/types/junipermist:org/MxedgeOobIpConfig:MxedgeOobIpConfig",
                        "description": "Out-of-band management IP configuration for the Mist Edge\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Identifier of the org that owns the Mist Edge\n"
                    },
                    "proxy": {
                        "$ref": "#/types/junipermist:org/MxedgeProxy:MxedgeProxy",
                        "description": "Network proxy settings used by the Mist Edge\n"
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of services enabled to run on the Mist Edge\n"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Identifier of the site when the Mist Edge is site-scoped\n"
                    },
                    "tuntermDhcpdConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/MxedgeTuntermDhcpdConfig:MxedgeTuntermDhcpdConfig"
                        },
                        "description": "DHCP relay or server settings for Mist Tunneled VLANs\n"
                    },
                    "tuntermExtraRoutes": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/MxedgeTuntermExtraRoutes:MxedgeTuntermExtraRoutes"
                        },
                        "description": "Extra routes for Mist Tunneled VLAN traffic; property key is a CIDR\n"
                    },
                    "tuntermIgmpSnoopingConfig": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermIgmpSnoopingConfig:MxedgeTuntermIgmpSnoopingConfig",
                        "description": "IGMP snooping settings for Mist Tunneled VLANs\n"
                    },
                    "tuntermIpConfig": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermIpConfig:MxedgeTuntermIpConfig",
                        "description": "Tunnel termination IP configuration for the Mist Edge\n"
                    },
                    "tuntermMonitorings": {
                        "type": "array",
                        "items": {
                            "type": "array",
                            "items": {
                                "$ref": "#/types/junipermist:org/MxedgeTuntermMonitoring:MxedgeTuntermMonitoring"
                            }
                        },
                        "description": "Monitoring checks for tunnel termination reachability\n"
                    },
                    "tuntermMulticastConfig": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermMulticastConfig:MxedgeTuntermMulticastConfig",
                        "description": "Multicast forwarding settings for tunnel termination\n"
                    },
                    "tuntermOtherIpConfigs": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/MxedgeTuntermOtherIpConfigs:MxedgeTuntermOtherIpConfigs"
                        },
                        "description": "IPconfigs by VLAN ID. Property key is the VLAN ID\n"
                    },
                    "tuntermPortConfig": {
                        "$ref": "#/types/junipermist:org/MxedgeTuntermPortConfig:MxedgeTuntermPortConfig",
                        "description": "Port configuration for tunnel termination traffic\n"
                    },
                    "tuntermRegistered": {
                        "type": "boolean",
                        "description": "Whether the tunnel termination service has registered with Mist cloud\n"
                    },
                    "tuntermSwitchConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/MxedgeTuntermSwitchConfig:MxedgeTuntermSwitchConfig"
                        },
                        "description": "Switch VLAN settings for tunnel termination\n"
                    },
                    "versions": {
                        "$ref": "#/types/junipermist:org/MxedgeVersions:MxedgeVersions",
                        "description": "Service version information reported by the Mist Edge\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/mxtunnel:Mxtunnel": {
            "description": "This resource manages Mist Tunnels in the Mist Organization.\n\nA Mist Tunnel (MxTunnel) defines tunneling configuration used to carry AP user VLANs to Mist Edge clusters.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst mxtunnelOne = new junipermist.org.Mxtunnel(\"mxtunnel_one\", {\n    orgId: terraformTest.id,\n    name: \"mxtunnel_one\",\n    protocol: \"udp\",\n    helloInterval: 60,\n    helloRetries: 7,\n    mtu: 0,\n    vlanIds: [\n        10,\n        20,\n        30,\n    ],\n    mxclusterIds: [mxclusterOne.id],\n    autoPreemption: {\n        enabled: true,\n        dayOfWeek: \"mon\",\n        timeOfDay: \"02:00\",\n    },\n    ipsec: {\n        enabled: true,\n        splitTunnel: true,\n        useMxedge: true,\n        dnsServers: [\n            \"8.8.8.8\",\n            \"8.8.4.4\",\n        ],\n        dnsSuffixes: [\"corp.example.com\"],\n        extraRoutes: [{\n            dest: \"10.0.0.0/8\",\n            nextHop: \"192.168.1.1\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nmxtunnel_one = junipermist.org.Mxtunnel(\"mxtunnel_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"mxtunnel_one\",\n    protocol=\"udp\",\n    hello_interval=60,\n    hello_retries=7,\n    mtu=0,\n    vlan_ids=[\n        10,\n        20,\n        30,\n    ],\n    mxcluster_ids=[mxcluster_one[\"id\"]],\n    auto_preemption={\n        \"enabled\": True,\n        \"day_of_week\": \"mon\",\n        \"time_of_day\": \"02:00\",\n    },\n    ipsec={\n        \"enabled\": True,\n        \"split_tunnel\": True,\n        \"use_mxedge\": True,\n        \"dns_servers\": [\n            \"8.8.8.8\",\n            \"8.8.4.4\",\n        ],\n        \"dns_suffixes\": [\"corp.example.com\"],\n        \"extra_routes\": [{\n            \"dest\": \"10.0.0.0/8\",\n            \"next_hop\": \"192.168.1.1\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mxtunnelOne = new JuniperMist.Org.Mxtunnel(\"mxtunnel_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"mxtunnel_one\",\n        Protocol = \"udp\",\n        HelloInterval = 60,\n        HelloRetries = 7,\n        Mtu = 0,\n        VlanIds = new[]\n        {\n            10,\n            20,\n            30,\n        },\n        MxclusterIds = new[]\n        {\n            mxclusterOne.Id,\n        },\n        AutoPreemption = new JuniperMist.Org.Inputs.MxtunnelAutoPreemptionArgs\n        {\n            Enabled = true,\n            DayOfWeek = \"mon\",\n            TimeOfDay = \"02:00\",\n        },\n        Ipsec = new JuniperMist.Org.Inputs.MxtunnelIpsecArgs\n        {\n            Enabled = true,\n            SplitTunnel = true,\n            UseMxedge = true,\n            DnsServers = new[]\n            {\n                \"8.8.8.8\",\n                \"8.8.4.4\",\n            },\n            DnsSuffixes = new[]\n            {\n                \"corp.example.com\",\n            },\n            ExtraRoutes = new[]\n            {\n                new JuniperMist.Org.Inputs.MxtunnelIpsecExtraRouteArgs\n                {\n                    Dest = \"10.0.0.0/8\",\n                    NextHop = \"192.168.1.1\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewMxtunnel(ctx, \"mxtunnel_one\", \u0026org.MxtunnelArgs{\n\t\t\tOrgId:         pulumi.Any(terraformTest.Id),\n\t\t\tName:          pulumi.String(\"mxtunnel_one\"),\n\t\t\tProtocol:      pulumi.String(\"udp\"),\n\t\t\tHelloInterval: pulumi.Int(60),\n\t\t\tHelloRetries:  pulumi.Int(7),\n\t\t\tMtu:           pulumi.Int(0),\n\t\t\tVlanIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(10),\n\t\t\t\tpulumi.Int(20),\n\t\t\t\tpulumi.Int(30),\n\t\t\t},\n\t\t\tMxclusterIds: pulumi.StringArray{\n\t\t\t\tmxclusterOne.Id,\n\t\t\t},\n\t\t\tAutoPreemption: \u0026org.MxtunnelAutoPreemptionArgs{\n\t\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\t\tDayOfWeek: pulumi.String(\"mon\"),\n\t\t\t\tTimeOfDay: pulumi.String(\"02:00\"),\n\t\t\t},\n\t\t\tIpsec: \u0026org.MxtunnelIpsecArgs{\n\t\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\t\tSplitTunnel: pulumi.Bool(true),\n\t\t\t\tUseMxedge:   pulumi.Bool(true),\n\t\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\t},\n\t\t\t\tDnsSuffixes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"corp.example.com\"),\n\t\t\t\t},\n\t\t\t\tExtraRoutes: org.MxtunnelIpsecExtraRouteArray{\n\t\t\t\t\t\u0026org.MxtunnelIpsecExtraRouteArgs{\n\t\t\t\t\t\tDest:    pulumi.String(\"10.0.0.0/8\"),\n\t\t\t\t\t\tNextHop: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_mxtunnel\" \"mxtunnel_one\" {\n  org_id         = terraformTest.id\n  name           = \"mxtunnel_one\"\n  protocol       = \"udp\"\n  hello_interval = 60\n  hello_retries  = 7\n  mtu            = 0\n  vlan_ids       = [10, 20, 30]\n  mxcluster_ids  = [mxclusterOne.id]\n  auto_preemption = {\n    enabled     = true\n    day_of_week = \"mon\"\n    time_of_day = \"02:00\"\n  }\n  ipsec = {\n    enabled      = true\n    split_tunnel = true\n    use_mxedge   = true\n    dns_servers  = [\"8.8.8.8\", \"8.8.4.4\"]\n    dns_suffixes = [\"corp.example.com\"]\n    extra_routes = [{\n      \"dest\"    = \"10.0.0.0/8\"\n      \"nextHop\" = \"192.168.1.1\"\n    }]\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Mxtunnel;\nimport com.pulumi.junipermist.org.MxtunnelArgs;\nimport com.pulumi.junipermist.org.inputs.MxtunnelAutoPreemptionArgs;\nimport com.pulumi.junipermist.org.inputs.MxtunnelIpsecArgs;\nimport com.pulumi.junipermist.org.inputs.MxtunnelIpsecExtraRouteArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var mxtunnelOne = new Mxtunnel(\"mxtunnelOne\", MxtunnelArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"mxtunnel_one\")\n            .protocol(\"udp\")\n            .helloInterval(60)\n            .helloRetries(7)\n            .mtu(0)\n            .vlanIds(            \n                10,\n                20,\n                30)\n            .mxclusterIds(mxclusterOne.id())\n            .autoPreemption(MxtunnelAutoPreemptionArgs.builder()\n                .enabled(true)\n                .dayOfWeek(\"mon\")\n                .timeOfDay(\"02:00\")\n                .build())\n            .ipsec(MxtunnelIpsecArgs.builder()\n                .enabled(true)\n                .splitTunnel(true)\n                .useMxedge(true)\n                .dnsServers(                \n                    \"8.8.8.8\",\n                    \"8.8.4.4\")\n                .dnsSuffixes(\"corp.example.com\")\n                .extraRoutes(MxtunnelIpsecExtraRouteArgs.builder()\n                    .dest(\"10.0.0.0/8\")\n                    .nextHop(\"192.168.1.1\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mxtunnelOne:\n    type: junipermist:org:Mxtunnel\n    name: mxtunnel_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: mxtunnel_one\n      protocol: udp\n      helloInterval: 60\n      helloRetries: 7\n      mtu: 0\n      vlanIds:\n        - 10\n        - 20\n        - 30\n      mxclusterIds:\n        - ${mxclusterOne.id}\n      autoPreemption:\n        enabled: true\n        dayOfWeek: mon\n        timeOfDay: 02:00\n      ipsec:\n        enabled: true\n        splitTunnel: true\n        useMxedge: true\n        dnsServers:\n          - 8.8.8.8\n          - 8.8.4.4\n        dnsSuffixes:\n          - corp.example.com\n        extraRoutes:\n          - dest: 10.0.0.0/8\n            nextHop: 192.168.1.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Mxtunnel`\" pulumi-lang-dotnet=\"`junipermist.org.Mxtunnel`\" pulumi-lang-go=\"`org.Mxtunnel`\" pulumi-lang-python=\"`org.Mxtunnel`\" pulumi-lang-yaml=\"`junipermist.org.Mxtunnel`\" pulumi-lang-java=\"`junipermist.org.Mxtunnel`\" pulumi-lang-hcl=\"`mist_org_mxtunnel`\"\u003e`junipermist.org.Mxtunnel`\u003c/span\u003e with:\nMist Org MxTunnel can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" mxtunnelId\n\" pulumi-lang-dotnet=\" MxtunnelId\n\" pulumi-lang-go=\" mxtunnelId\n\" pulumi-lang-python=\" mxtunnel_id\n\" pulumi-lang-yaml=\" mxtunnelId\n\" pulumi-lang-java=\" mxtunnelId\n\" pulumi-lang-hcl=\" mxtunnel_id\n\"\u003e mxtunnelId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/mxtunnel:Mxtunnel mxtunnel_one 17f90707-aebe-4274-af42-f42952a665a3.d3c42998-9012-4859-9743-6a9f30d68218\n```\n\n",
            "properties": {
                "anchorMxtunnelIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IDs of anchor Mist Tunnels used for edge-to-edge tunnel formation\n"
                },
                "autoPreemption": {
                    "$ref": "#/types/junipermist:org/MxtunnelAutoPreemption:MxtunnelAutoPreemption",
                    "description": "Preemption behavior for restoring preferred tunnel peers after failover\n"
                },
                "helloInterval": {
                    "type": "integer",
                    "description": "In seconds, used as heartbeat to detect if a tunnel is alive. AP will try another peer after missing N hellos specified by \u003cspan pulumi-lang-nodejs=\"`helloRetries`\" pulumi-lang-dotnet=\"`HelloRetries`\" pulumi-lang-go=\"`helloRetries`\" pulumi-lang-python=\"`hello_retries`\" pulumi-lang-yaml=\"`helloRetries`\" pulumi-lang-java=\"`helloRetries`\" pulumi-lang-hcl=\"`hello_retries`\"\u003e`helloRetries`\u003c/span\u003e.\n"
                },
                "helloRetries": {
                    "type": "integer",
                    "description": "Number of missed hello heartbeats before an AP tries another tunnel peer\n"
                },
                "ipsec": {
                    "$ref": "#/types/junipermist:org/MxtunnelIpsec:MxtunnelIpsec",
                    "description": "Security settings for IPsec support on this Mist Tunnel\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "0 to enable PMTU, 552-1500 to start PMTU with a lower MTU\n"
                },
                "mxclusterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Edge cluster IDs that host this Mist Tunnel\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the Mist Tunnel\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Identifier of the org that owns the Mist Tunnel\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Encapsulation protocol used for the Mist Tunnel\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of VLAN IDs carried by this Mist Tunnel\n"
                }
            },
            "required": [
                "name",
                "orgId"
            ],
            "inputProperties": {
                "anchorMxtunnelIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IDs of anchor Mist Tunnels used for edge-to-edge tunnel formation\n"
                },
                "autoPreemption": {
                    "$ref": "#/types/junipermist:org/MxtunnelAutoPreemption:MxtunnelAutoPreemption",
                    "description": "Preemption behavior for restoring preferred tunnel peers after failover\n"
                },
                "helloInterval": {
                    "type": "integer",
                    "description": "In seconds, used as heartbeat to detect if a tunnel is alive. AP will try another peer after missing N hellos specified by \u003cspan pulumi-lang-nodejs=\"`helloRetries`\" pulumi-lang-dotnet=\"`HelloRetries`\" pulumi-lang-go=\"`helloRetries`\" pulumi-lang-python=\"`hello_retries`\" pulumi-lang-yaml=\"`helloRetries`\" pulumi-lang-java=\"`helloRetries`\" pulumi-lang-hcl=\"`hello_retries`\"\u003e`helloRetries`\u003c/span\u003e.\n"
                },
                "helloRetries": {
                    "type": "integer",
                    "description": "Number of missed hello heartbeats before an AP tries another tunnel peer\n"
                },
                "ipsec": {
                    "$ref": "#/types/junipermist:org/MxtunnelIpsec:MxtunnelIpsec",
                    "description": "Security settings for IPsec support on this Mist Tunnel\n"
                },
                "mtu": {
                    "type": "integer",
                    "description": "0 to enable PMTU, 552-1500 to start PMTU with a lower MTU\n"
                },
                "mxclusterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Edge cluster IDs that host this Mist Tunnel\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the Mist Tunnel\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Identifier of the org that owns the Mist Tunnel\n"
                },
                "protocol": {
                    "type": "string",
                    "description": "Encapsulation protocol used for the Mist Tunnel\n"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of VLAN IDs carried by this Mist Tunnel\n"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Mxtunnel resources.\n",
                "properties": {
                    "anchorMxtunnelIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "IDs of anchor Mist Tunnels used for edge-to-edge tunnel formation\n"
                    },
                    "autoPreemption": {
                        "$ref": "#/types/junipermist:org/MxtunnelAutoPreemption:MxtunnelAutoPreemption",
                        "description": "Preemption behavior for restoring preferred tunnel peers after failover\n"
                    },
                    "helloInterval": {
                        "type": "integer",
                        "description": "In seconds, used as heartbeat to detect if a tunnel is alive. AP will try another peer after missing N hellos specified by \u003cspan pulumi-lang-nodejs=\"`helloRetries`\" pulumi-lang-dotnet=\"`HelloRetries`\" pulumi-lang-go=\"`helloRetries`\" pulumi-lang-python=\"`hello_retries`\" pulumi-lang-yaml=\"`helloRetries`\" pulumi-lang-java=\"`helloRetries`\" pulumi-lang-hcl=\"`hello_retries`\"\u003e`helloRetries`\u003c/span\u003e.\n"
                    },
                    "helloRetries": {
                        "type": "integer",
                        "description": "Number of missed hello heartbeats before an AP tries another tunnel peer\n"
                    },
                    "ipsec": {
                        "$ref": "#/types/junipermist:org/MxtunnelIpsec:MxtunnelIpsec",
                        "description": "Security settings for IPsec support on this Mist Tunnel\n"
                    },
                    "mtu": {
                        "type": "integer",
                        "description": "0 to enable PMTU, 552-1500 to start PMTU with a lower MTU\n"
                    },
                    "mxclusterIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Mist Edge cluster IDs that host this Mist Tunnel\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the Mist Tunnel\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Identifier of the org that owns the Mist Tunnel\n"
                    },
                    "protocol": {
                        "type": "string",
                        "description": "Encapsulation protocol used for the Mist Tunnel\n"
                    },
                    "vlanIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "List of VLAN IDs carried by this Mist Tunnel\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/nacEndpoint:NacEndpoint": {
            "description": "This resource manages the NAC Endpoints (User MACs).\n\nNAC Endpoints (User MACs) provide a database of endpoints identified by their MAC addresses. They can be used assign each endpoint with various attributes, such as name, VLAN, role and client label.  Once an endpoint is labeled, the label name can be used to create \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Nactag`\" pulumi-lang-dotnet=\"`junipermist.org.Nactag`\" pulumi-lang-go=\"`org.Nactag`\" pulumi-lang-python=\"`org.Nactag`\" pulumi-lang-yaml=\"`junipermist.org.Nactag`\" pulumi-lang-java=\"`junipermist.org.Nactag`\" pulumi-lang-hcl=\"`mist_org_nactag`\"\u003e`junipermist.org.Nactag`\u003c/span\u003e resource as match criteria.\n\nThe \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Nactag`\" pulumi-lang-dotnet=\"`junipermist.org.Nactag`\" pulumi-lang-go=\"`org.Nactag`\" pulumi-lang-python=\"`org.Nactag`\" pulumi-lang-yaml=\"`junipermist.org.Nactag`\" pulumi-lang-java=\"`junipermist.org.Nactag`\" pulumi-lang-hcl=\"`mist_org_nactag`\"\u003e`junipermist.org.Nactag`\u003c/span\u003e resource can be used to create Tags regrouping one or multiple endpoint MAC Addresses, but the use of the User MACs provides additional features:\n* possibility to assign specific attributes, like a Name, a Radius Group, a VLAN ID, ...\n* possibility to assign one or multiple Tags (Labels) to a User MAC\n* improved management for large list of MAC Addresses\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst endpointOne = new junipermist.org.NacEndpoint(\"endpoint_one\", {\n    mac: \"921b638445cd\",\n    labels: [\n        \"byod\",\n        \"flr1\",\n    ],\n    vlan: \"30\",\n    notes: \"mac address refers to Canon printers\",\n    name: \"endpoint_one\",\n    radiusGroup: \"VIP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nendpoint_one = junipermist.org.NacEndpoint(\"endpoint_one\",\n    mac=\"921b638445cd\",\n    labels=[\n        \"byod\",\n        \"flr1\",\n    ],\n    vlan=\"30\",\n    notes=\"mac address refers to Canon printers\",\n    name=\"endpoint_one\",\n    radius_group=\"VIP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var endpointOne = new JuniperMist.Org.NacEndpoint(\"endpoint_one\", new()\n    {\n        Mac = \"921b638445cd\",\n        Labels = new[]\n        {\n            \"byod\",\n            \"flr1\",\n        },\n        Vlan = \"30\",\n        Notes = \"mac address refers to Canon printers\",\n        Name = \"endpoint_one\",\n        RadiusGroup = \"VIP\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewNacEndpoint(ctx, \"endpoint_one\", \u0026org.NacEndpointArgs{\n\t\t\tMac: pulumi.String(\"921b638445cd\"),\n\t\t\tLabels: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"byod\"),\n\t\t\t\tpulumi.String(\"flr1\"),\n\t\t\t},\n\t\t\tVlan:        pulumi.String(\"30\"),\n\t\t\tNotes:       pulumi.String(\"mac address refers to Canon printers\"),\n\t\t\tName:        pulumi.String(\"endpoint_one\"),\n\t\t\tRadiusGroup: pulumi.String(\"VIP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_nacendpoint\" \"endpoint_one\" {\n  mac          = \"921b638445cd\"\n  labels       = [\"byod\", \"flr1\"]\n  vlan         = \"30\"\n  notes        = \"mac address refers to Canon printers\"\n  name         = \"endpoint_one\"\n  radius_group = \"VIP\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.NacEndpoint;\nimport com.pulumi.junipermist.org.NacEndpointArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var endpointOne = new NacEndpoint(\"endpointOne\", NacEndpointArgs.builder()\n            .mac(\"921b638445cd\")\n            .labels(            \n                \"byod\",\n                \"flr1\")\n            .vlan(\"30\")\n            .notes(\"mac address refers to Canon printers\")\n            .name(\"endpoint_one\")\n            .radiusGroup(\"VIP\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  endpointOne:\n    type: junipermist:org:NacEndpoint\n    name: endpoint_one\n    properties:\n      mac: 921b638445cd\n      labels:\n        - byod\n        - flr1\n      vlan: '30'\n      notes: mac address refers to Canon printers\n      name: endpoint_one\n      radiusGroup: VIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.NacEndpoint`\" pulumi-lang-dotnet=\"`junipermist.org.NacEndpoint`\" pulumi-lang-go=\"`org.NacEndpoint`\" pulumi-lang-python=\"`org.NacEndpoint`\" pulumi-lang-yaml=\"`junipermist.org.NacEndpoint`\" pulumi-lang-java=\"`junipermist.org.NacEndpoint`\" pulumi-lang-hcl=\"`mist_org_nac_endpoint`\"\u003e`junipermist.org.NacEndpoint`\u003c/span\u003e with:\nNAC Endpoint can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" nacEndpointId\n\" pulumi-lang-dotnet=\" NacEndpointId\n\" pulumi-lang-go=\" nacEndpointId\n\" pulumi-lang-python=\" nac_endpoint_id\n\" pulumi-lang-yaml=\" nacEndpointId\n\" pulumi-lang-java=\" nacEndpointId\n\" pulumi-lang-hcl=\" nac_endpoint_id\n\"\u003e nacEndpointId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/nacEndpoint:NacEndpoint endpoint_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "labels": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Applied labels for this user MAC entry\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Client MAC address for this entry. Only non-local-admin MAC addresses are accepted\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for this user MAC entry\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Free-form notes about this user MAC entry\n"
                },
                "orgId": {
                    "type": "string"
                },
                "radiusGroup": {
                    "type": "string",
                    "description": "RADIUS group associated with this user MAC entry\n"
                },
                "vlan": {
                    "type": "string",
                    "description": "Network VLAN value associated with this user MAC entry\n"
                }
            },
            "required": [
                "labels",
                "mac",
                "name",
                "notes",
                "orgId",
                "radiusGroup",
                "vlan"
            ],
            "inputProperties": {
                "labels": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Applied labels for this user MAC entry\n"
                },
                "mac": {
                    "type": "string",
                    "description": "Client MAC address for this entry. Only non-local-admin MAC addresses are accepted\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for this user MAC entry\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Free-form notes about this user MAC entry\n"
                },
                "orgId": {
                    "type": "string"
                },
                "radiusGroup": {
                    "type": "string",
                    "description": "RADIUS group associated with this user MAC entry\n"
                },
                "vlan": {
                    "type": "string",
                    "description": "Network VLAN value associated with this user MAC entry\n"
                }
            },
            "requiredInputs": [
                "mac",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering NacEndpoint resources.\n",
                "properties": {
                    "labels": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Applied labels for this user MAC entry\n"
                    },
                    "mac": {
                        "type": "string",
                        "description": "Client MAC address for this entry. Only non-local-admin MAC addresses are accepted\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name for this user MAC entry\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Free-form notes about this user MAC entry\n"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "radiusGroup": {
                        "type": "string",
                        "description": "RADIUS group associated with this user MAC entry\n"
                    },
                    "vlan": {
                        "type": "string",
                        "description": "Network VLAN value associated with this user MAC entry\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/nacPortal:NacPortal": {
            "description": "This resource manages Org NAC Portals.\n\nNAC Portal configuration defines the authentication portal for network access control.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst guestPortal = new junipermist.org.NacPortal(\"guest_portal\", {\n    orgId: terraformTest.id,\n    name: \"Guest Portal\",\n    type: \"marvis_client\",\n    accessType: \"wireless+wired\",\n    ssid: \"Guest-Network\",\n    certExpireTime: 365,\n    eapType: \"wpa3\",\n    enableTelemetry: true,\n    expiryNotificationTime: 30,\n    notifyExpiry: true,\n    tos: \"By using this network, you agree to our terms of service and privacy policy.\",\n    additionalCacerts: [`-----BEGIN CERTIFICATE-----\nMIIC...certificate...content\n-----END CERTIFICATE-----`],\n    additionalNacServerNames: [\n        \"nac1.example.com\",\n        \"nac2.example.com\",\n    ],\n    portal: {\n        auth: \"multi\",\n        expire: 43200,\n        externalPortalUrl: \"https://portal.example.com/external\",\n        forceReconnect: false,\n        forward: true,\n        forwardUrl: \"https://example.com/portal/welcome\",\n        maxNumDevices: 10,\n        privacy: true,\n    },\n    sso: {\n        idpCert: `-----BEGIN CERTIFICATE-----\nMIIC...idp...cert\n-----END CERTIFICATE-----`,\n        idpSignAlgo: \"sha384\",\n        idpSsoUrl: \"https://idp.example.com/saml/sso\",\n        issuer: \"https://idp.example.com\",\n        nameidFormat: \"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\n        useSsoRoleForCert: false,\n        ssoRoleMatchings: [\n            {\n                match: \"Administrator\",\n                assigned: \"full-access\",\n            },\n            {\n                match: \"Manager\",\n                assigned: \"manager-access\",\n            },\n            {\n                match: \"Employee\",\n                assigned: \"employee-access\",\n            },\n            {\n                match: \"Guest\",\n                assigned: \"guest-access\",\n            },\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nguest_portal = junipermist.org.NacPortal(\"guest_portal\",\n    org_id=terraform_test[\"id\"],\n    name=\"Guest Portal\",\n    type=\"marvis_client\",\n    access_type=\"wireless+wired\",\n    ssid=\"Guest-Network\",\n    cert_expire_time=365,\n    eap_type=\"wpa3\",\n    enable_telemetry=True,\n    expiry_notification_time=30,\n    notify_expiry=True,\n    tos=\"By using this network, you agree to our terms of service and privacy policy.\",\n    additional_cacerts=[\"\"\"-----BEGIN CERTIFICATE-----\nMIIC...certificate...content\n-----END CERTIFICATE-----\"\"\"],\n    additional_nac_server_names=[\n        \"nac1.example.com\",\n        \"nac2.example.com\",\n    ],\n    portal={\n        \"auth\": \"multi\",\n        \"expire\": 43200,\n        \"external_portal_url\": \"https://portal.example.com/external\",\n        \"force_reconnect\": False,\n        \"forward\": True,\n        \"forward_url\": \"https://example.com/portal/welcome\",\n        \"max_num_devices\": 10,\n        \"privacy\": True,\n    },\n    sso={\n        \"idp_cert\": \"\"\"-----BEGIN CERTIFICATE-----\nMIIC...idp...cert\n-----END CERTIFICATE-----\"\"\",\n        \"idp_sign_algo\": \"sha384\",\n        \"idp_sso_url\": \"https://idp.example.com/saml/sso\",\n        \"issuer\": \"https://idp.example.com\",\n        \"nameid_format\": \"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\n        \"use_sso_role_for_cert\": False,\n        \"sso_role_matchings\": [\n            {\n                \"match\": \"Administrator\",\n                \"assigned\": \"full-access\",\n            },\n            {\n                \"match\": \"Manager\",\n                \"assigned\": \"manager-access\",\n            },\n            {\n                \"match\": \"Employee\",\n                \"assigned\": \"employee-access\",\n            },\n            {\n                \"match\": \"Guest\",\n                \"assigned\": \"guest-access\",\n            },\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var guestPortal = new JuniperMist.Org.NacPortal(\"guest_portal\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"Guest Portal\",\n        Type = \"marvis_client\",\n        AccessType = \"wireless+wired\",\n        Ssid = \"Guest-Network\",\n        CertExpireTime = 365,\n        EapType = \"wpa3\",\n        EnableTelemetry = true,\n        ExpiryNotificationTime = 30,\n        NotifyExpiry = true,\n        Tos = \"By using this network, you agree to our terms of service and privacy policy.\",\n        AdditionalCacerts = new[]\n        {\n            @\"-----BEGIN CERTIFICATE-----\nMIIC...certificate...content\n-----END CERTIFICATE-----\",\n        },\n        AdditionalNacServerNames = new[]\n        {\n            \"nac1.example.com\",\n            \"nac2.example.com\",\n        },\n        Portal = new JuniperMist.Org.Inputs.NacPortalPortalArgs\n        {\n            Auth = \"multi\",\n            Expire = 43200,\n            ExternalPortalUrl = \"https://portal.example.com/external\",\n            ForceReconnect = false,\n            Forward = true,\n            ForwardUrl = \"https://example.com/portal/welcome\",\n            MaxNumDevices = 10,\n            Privacy = true,\n        },\n        Sso = new JuniperMist.Org.Inputs.NacPortalSsoArgs\n        {\n            IdpCert = @\"-----BEGIN CERTIFICATE-----\nMIIC...idp...cert\n-----END CERTIFICATE-----\",\n            IdpSignAlgo = \"sha384\",\n            IdpSsoUrl = \"https://idp.example.com/saml/sso\",\n            Issuer = \"https://idp.example.com\",\n            NameidFormat = \"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\n            UseSsoRoleForCert = false,\n            SsoRoleMatchings = new[]\n            {\n                new JuniperMist.Org.Inputs.NacPortalSsoSsoRoleMatchingArgs\n                {\n                    Match = \"Administrator\",\n                    Assigned = \"full-access\",\n                },\n                new JuniperMist.Org.Inputs.NacPortalSsoSsoRoleMatchingArgs\n                {\n                    Match = \"Manager\",\n                    Assigned = \"manager-access\",\n                },\n                new JuniperMist.Org.Inputs.NacPortalSsoSsoRoleMatchingArgs\n                {\n                    Match = \"Employee\",\n                    Assigned = \"employee-access\",\n                },\n                new JuniperMist.Org.Inputs.NacPortalSsoSsoRoleMatchingArgs\n                {\n                    Match = \"Guest\",\n                    Assigned = \"guest-access\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewNacPortal(ctx, \"guest_portal\", \u0026org.NacPortalArgs{\n\t\t\tOrgId:                  pulumi.Any(terraformTest.Id),\n\t\t\tName:                   pulumi.String(\"Guest Portal\"),\n\t\t\tType:                   pulumi.String(\"marvis_client\"),\n\t\t\tAccessType:             pulumi.String(\"wireless+wired\"),\n\t\t\tSsid:                   pulumi.String(\"Guest-Network\"),\n\t\t\tCertExpireTime:         pulumi.Int(365),\n\t\t\tEapType:                pulumi.String(\"wpa3\"),\n\t\t\tEnableTelemetry:        pulumi.Bool(true),\n\t\t\tExpiryNotificationTime: pulumi.Int(30),\n\t\t\tNotifyExpiry:           pulumi.Bool(true),\n\t\t\tTos:                    pulumi.String(\"By using this network, you agree to our terms of service and privacy policy.\"),\n\t\t\tAdditionalCacerts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"-----BEGIN CERTIFICATE-----\\nMIIC...certificate...content\\n-----END CERTIFICATE-----\"),\n\t\t\t},\n\t\t\tAdditionalNacServerNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"nac1.example.com\"),\n\t\t\t\tpulumi.String(\"nac2.example.com\"),\n\t\t\t},\n\t\t\tPortal: \u0026org.NacPortalPortalArgs{\n\t\t\t\tAuth:              pulumi.String(\"multi\"),\n\t\t\t\tExpire:            pulumi.Int(43200),\n\t\t\t\tExternalPortalUrl: pulumi.String(\"https://portal.example.com/external\"),\n\t\t\t\tForceReconnect:    pulumi.Bool(false),\n\t\t\t\tForward:           pulumi.Bool(true),\n\t\t\t\tForwardUrl:        pulumi.String(\"https://example.com/portal/welcome\"),\n\t\t\t\tMaxNumDevices:     pulumi.Int(10),\n\t\t\t\tPrivacy:           pulumi.Bool(true),\n\t\t\t},\n\t\t\tSso: \u0026org.NacPortalSsoArgs{\n\t\t\t\tIdpCert:           pulumi.String(\"-----BEGIN CERTIFICATE-----\\nMIIC...idp...cert\\n-----END CERTIFICATE-----\"),\n\t\t\t\tIdpSignAlgo:       pulumi.String(\"sha384\"),\n\t\t\t\tIdpSsoUrl:         pulumi.String(\"https://idp.example.com/saml/sso\"),\n\t\t\t\tIssuer:            pulumi.String(\"https://idp.example.com\"),\n\t\t\t\tNameidFormat:      pulumi.String(\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\"),\n\t\t\t\tUseSsoRoleForCert: pulumi.Bool(false),\n\t\t\t\tSsoRoleMatchings: org.NacPortalSsoSsoRoleMatchingArray{\n\t\t\t\t\t\u0026org.NacPortalSsoSsoRoleMatchingArgs{\n\t\t\t\t\t\tMatch:    pulumi.String(\"Administrator\"),\n\t\t\t\t\t\tAssigned: pulumi.String(\"full-access\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026org.NacPortalSsoSsoRoleMatchingArgs{\n\t\t\t\t\t\tMatch:    pulumi.String(\"Manager\"),\n\t\t\t\t\t\tAssigned: pulumi.String(\"manager-access\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026org.NacPortalSsoSsoRoleMatchingArgs{\n\t\t\t\t\t\tMatch:    pulumi.String(\"Employee\"),\n\t\t\t\t\t\tAssigned: pulumi.String(\"employee-access\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026org.NacPortalSsoSsoRoleMatchingArgs{\n\t\t\t\t\t\tMatch:    pulumi.String(\"Guest\"),\n\t\t\t\t\t\tAssigned: pulumi.String(\"guest-access\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_nacportal\" \"guest_portal\" {\n  org_id                      = terraformTest.id\n  name                        = \"Guest Portal\"\n  type                        = \"marvis_client\"\n  access_type                 = \"wireless+wired\"\n  ssid                        = \"Guest-Network\"\n  cert_expire_time            = 365\n  eap_type                    = \"wpa3\"\n  enable_telemetry            = true\n  expiry_notification_time    = 30\n  notify_expiry               = true\n  tos                         = \"By using this network, you agree to our terms of service and privacy policy.\"\n  additional_cacerts          = [\"-----BEGIN CERTIFICATE-----\\nMIIC...certificate...content\\n-----END CERTIFICATE-----\"]\n  additional_nac_server_names = [\"nac1.example.com\", \"nac2.example.com\"]\n  portal = {\n    auth                = \"multi\"\n    expire              = 43200\n    external_portal_url = \"https://portal.example.com/external\"\n    force_reconnect     = false\n    forward             = true\n    forward_url         = \"https://example.com/portal/welcome\"\n    max_num_devices     = 10\n    privacy             = true\n  }\n  sso = {\n    idp_cert              = \"-----BEGIN CERTIFICATE-----\\nMIIC...idp...cert\\n-----END CERTIFICATE-----\"\n    idp_sign_algo         = \"sha384\"\n    idp_sso_url           = \"https://idp.example.com/saml/sso\"\n    issuer                = \"https://idp.example.com\"\n    nameid_format         = \"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\"\n    use_sso_role_for_cert = false\n    sso_role_matchings = [{\n      \"match\"    = \"Administrator\"\n      \"assigned\" = \"full-access\"\n      }, {\n      \"match\"    = \"Manager\"\n      \"assigned\" = \"manager-access\"\n      }, {\n      \"match\"    = \"Employee\"\n      \"assigned\" = \"employee-access\"\n      }, {\n      \"match\"    = \"Guest\"\n      \"assigned\" = \"guest-access\"\n    }]\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.NacPortal;\nimport com.pulumi.junipermist.org.NacPortalArgs;\nimport com.pulumi.junipermist.org.inputs.NacPortalPortalArgs;\nimport com.pulumi.junipermist.org.inputs.NacPortalSsoArgs;\nimport com.pulumi.junipermist.org.inputs.NacPortalSsoSsoRoleMatchingArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var guestPortal = new NacPortal(\"guestPortal\", NacPortalArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"Guest Portal\")\n            .type(\"marvis_client\")\n            .accessType(\"wireless+wired\")\n            .ssid(\"Guest-Network\")\n            .certExpireTime(365)\n            .eapType(\"wpa3\")\n            .enableTelemetry(true)\n            .expiryNotificationTime(30)\n            .notifyExpiry(true)\n            .tos(\"By using this network, you agree to our terms of service and privacy policy.\")\n            .additionalCacerts(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIC...certificate...content\n-----END CERTIFICATE-----            \"\"\")\n            .additionalNacServerNames(            \n                \"nac1.example.com\",\n                \"nac2.example.com\")\n            .portal(NacPortalPortalArgs.builder()\n                .auth(\"multi\")\n                .expire(43200)\n                .externalPortalUrl(\"https://portal.example.com/external\")\n                .forceReconnect(false)\n                .forward(true)\n                .forwardUrl(\"https://example.com/portal/welcome\")\n                .maxNumDevices(10)\n                .privacy(true)\n                .build())\n            .sso(NacPortalSsoArgs.builder()\n                .idpCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIC...idp...cert\n-----END CERTIFICATE-----                \"\"\")\n                .idpSignAlgo(\"sha384\")\n                .idpSsoUrl(\"https://idp.example.com/saml/sso\")\n                .issuer(\"https://idp.example.com\")\n                .nameidFormat(\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\")\n                .useSsoRoleForCert(false)\n                .ssoRoleMatchings(                \n                    NacPortalSsoSsoRoleMatchingArgs.builder()\n                        .match(\"Administrator\")\n                        .assigned(\"full-access\")\n                        .build(),\n                    NacPortalSsoSsoRoleMatchingArgs.builder()\n                        .match(\"Manager\")\n                        .assigned(\"manager-access\")\n                        .build(),\n                    NacPortalSsoSsoRoleMatchingArgs.builder()\n                        .match(\"Employee\")\n                        .assigned(\"employee-access\")\n                        .build(),\n                    NacPortalSsoSsoRoleMatchingArgs.builder()\n                        .match(\"Guest\")\n                        .assigned(\"guest-access\")\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  guestPortal:\n    type: junipermist:org:NacPortal\n    name: guest_portal\n    properties:\n      orgId: ${terraformTest.id}\n      name: Guest Portal\n      type: marvis_client\n      accessType: wireless+wired\n      ssid: Guest-Network\n      certExpireTime: 365\n      eapType: wpa3\n      enableTelemetry: true\n      expiryNotificationTime: 30\n      notifyExpiry: true\n      tos: By using this network, you agree to our terms of service and privacy policy.\n      additionalCacerts:\n        - |-\n          -----BEGIN CERTIFICATE-----\n          MIIC...certificate...content\n          -----END CERTIFICATE-----\n      additionalNacServerNames:\n        - nac1.example.com\n        - nac2.example.com\n      portal:\n        auth: multi\n        expire: 43200\n        externalPortalUrl: https://portal.example.com/external\n        forceReconnect: false\n        forward: true\n        forwardUrl: https://example.com/portal/welcome\n        maxNumDevices: 10\n        privacy: true\n      sso:\n        idpCert: |-\n          -----BEGIN CERTIFICATE-----\n          MIIC...idp...cert\n          -----END CERTIFICATE-----\n        idpSignAlgo: sha384\n        idpSsoUrl: https://idp.example.com/saml/sso\n        issuer: https://idp.example.com\n        nameidFormat: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n        useSsoRoleForCert: false\n        ssoRoleMatchings:\n          - match: Administrator\n            assigned: full-access\n          - match: Manager\n            assigned: manager-access\n          - match: Employee\n            assigned: employee-access\n          - match: Guest\n            assigned: guest-access\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "accessType": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`marvisClient`\" pulumi-lang-dotnet=\"`MarvisClient`\" pulumi-lang-go=\"`marvisClient`\" pulumi-lang-python=\"`marvis_client`\" pulumi-lang-yaml=\"`marvisClient`\" pulumi-lang-java=\"`marvisClient`\" pulumi-lang-hcl=\"`marvis_client`\"\u003e`marvisClient`\u003c/span\u003e, whether onboarding applies to wireless clients or both wireless and wired clients\n"
                },
                "additionalCacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CA certificates trusted during NAC portal certificate onboarding\n"
                },
                "additionalNacServerNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional list of additional NAC server names\n"
                },
                "certExpireTime": {
                    "type": "integer",
                    "description": "Validity duration for portal-issued client certificates, in days\n"
                },
                "eapType": {
                    "type": "string",
                    "description": "EAP mode used when onboarding wireless clients through the NAC portal\n"
                },
                "enableTelemetry": {
                    "type": "boolean",
                    "description": "Model, version, fingering, events (connecting, disconnect, roaming), which ap\n"
                },
                "expiryNotificationTime": {
                    "type": "integer",
                    "description": "Number of days before certificate expiration to start sending reminder notifications\n"
                },
                "name": {
                    "type": "string",
                    "description": "Human-readable name of the NAC portal\n"
                },
                "notifyExpiry": {
                    "type": "boolean",
                    "description": "Whether to send reminder notifications before portal-issued certificates expire\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this NAC portal\n"
                },
                "portal": {
                    "$ref": "#/types/junipermist:org/NacPortalPortal:NacPortalPortal",
                    "description": "Guest portal settings used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`guestPortal`\" pulumi-lang-dotnet=\"`GuestPortal`\" pulumi-lang-go=\"`guestPortal`\" pulumi-lang-python=\"`guest_portal`\" pulumi-lang-yaml=\"`guestPortal`\" pulumi-lang-java=\"`guestPortal`\" pulumi-lang-hcl=\"`guest_portal`\"\u003e`guestPortal`\u003c/span\u003e\n"
                },
                "ssid": {
                    "type": "string",
                    "description": "Wireless SSID associated with the NAC portal\n"
                },
                "sso": {
                    "$ref": "#/types/junipermist:org/NacPortalSso:NacPortalSso",
                    "description": "SAML SSO settings for NAC portal authentication and role mapping\n"
                },
                "tos": {
                    "type": "string",
                    "description": "Terms of service text shown in the NAC portal\n"
                },
                "type": {
                    "type": "string",
                    "description": "NAC portal mode, such as guest admin, guest portal, or Marvis client onboarding\n"
                }
            },
            "required": [
                "accessType",
                "eapType",
                "name",
                "orgId"
            ],
            "inputProperties": {
                "accessType": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`marvisClient`\" pulumi-lang-dotnet=\"`MarvisClient`\" pulumi-lang-go=\"`marvisClient`\" pulumi-lang-python=\"`marvis_client`\" pulumi-lang-yaml=\"`marvisClient`\" pulumi-lang-java=\"`marvisClient`\" pulumi-lang-hcl=\"`marvis_client`\"\u003e`marvisClient`\u003c/span\u003e, whether onboarding applies to wireless clients or both wireless and wired clients\n"
                },
                "additionalCacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CA certificates trusted during NAC portal certificate onboarding\n"
                },
                "additionalNacServerNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional list of additional NAC server names\n"
                },
                "certExpireTime": {
                    "type": "integer",
                    "description": "Validity duration for portal-issued client certificates, in days\n"
                },
                "eapType": {
                    "type": "string",
                    "description": "EAP mode used when onboarding wireless clients through the NAC portal\n"
                },
                "enableTelemetry": {
                    "type": "boolean",
                    "description": "Model, version, fingering, events (connecting, disconnect, roaming), which ap\n"
                },
                "expiryNotificationTime": {
                    "type": "integer",
                    "description": "Number of days before certificate expiration to start sending reminder notifications\n"
                },
                "name": {
                    "type": "string",
                    "description": "Human-readable name of the NAC portal\n"
                },
                "notifyExpiry": {
                    "type": "boolean",
                    "description": "Whether to send reminder notifications before portal-issued certificates expire\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this NAC portal\n"
                },
                "portal": {
                    "$ref": "#/types/junipermist:org/NacPortalPortal:NacPortalPortal",
                    "description": "Guest portal settings used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`guestPortal`\" pulumi-lang-dotnet=\"`GuestPortal`\" pulumi-lang-go=\"`guestPortal`\" pulumi-lang-python=\"`guest_portal`\" pulumi-lang-yaml=\"`guestPortal`\" pulumi-lang-java=\"`guestPortal`\" pulumi-lang-hcl=\"`guest_portal`\"\u003e`guestPortal`\u003c/span\u003e\n"
                },
                "ssid": {
                    "type": "string",
                    "description": "Wireless SSID associated with the NAC portal\n"
                },
                "sso": {
                    "$ref": "#/types/junipermist:org/NacPortalSso:NacPortalSso",
                    "description": "SAML SSO settings for NAC portal authentication and role mapping\n"
                },
                "tos": {
                    "type": "string",
                    "description": "Terms of service text shown in the NAC portal\n"
                },
                "type": {
                    "type": "string",
                    "description": "NAC portal mode, such as guest admin, guest portal, or Marvis client onboarding\n"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering NacPortal resources.\n",
                "properties": {
                    "accessType": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`marvisClient`\" pulumi-lang-dotnet=\"`MarvisClient`\" pulumi-lang-go=\"`marvisClient`\" pulumi-lang-python=\"`marvis_client`\" pulumi-lang-yaml=\"`marvisClient`\" pulumi-lang-java=\"`marvisClient`\" pulumi-lang-hcl=\"`marvis_client`\"\u003e`marvisClient`\u003c/span\u003e, whether onboarding applies to wireless clients or both wireless and wired clients\n"
                    },
                    "additionalCacerts": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Additional CA certificates trusted during NAC portal certificate onboarding\n"
                    },
                    "additionalNacServerNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Optional list of additional NAC server names\n"
                    },
                    "certExpireTime": {
                        "type": "integer",
                        "description": "Validity duration for portal-issued client certificates, in days\n"
                    },
                    "eapType": {
                        "type": "string",
                        "description": "EAP mode used when onboarding wireless clients through the NAC portal\n"
                    },
                    "enableTelemetry": {
                        "type": "boolean",
                        "description": "Model, version, fingering, events (connecting, disconnect, roaming), which ap\n"
                    },
                    "expiryNotificationTime": {
                        "type": "integer",
                        "description": "Number of days before certificate expiration to start sending reminder notifications\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Human-readable name of the NAC portal\n"
                    },
                    "notifyExpiry": {
                        "type": "boolean",
                        "description": "Whether to send reminder notifications before portal-issued certificates expire\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this NAC portal\n"
                    },
                    "portal": {
                        "$ref": "#/types/junipermist:org/NacPortalPortal:NacPortalPortal",
                        "description": "Guest portal settings used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`guestPortal`\" pulumi-lang-dotnet=\"`GuestPortal`\" pulumi-lang-go=\"`guestPortal`\" pulumi-lang-python=\"`guest_portal`\" pulumi-lang-yaml=\"`guestPortal`\" pulumi-lang-java=\"`guestPortal`\" pulumi-lang-hcl=\"`guest_portal`\"\u003e`guestPortal`\u003c/span\u003e\n"
                    },
                    "ssid": {
                        "type": "string",
                        "description": "Wireless SSID associated with the NAC portal\n"
                    },
                    "sso": {
                        "$ref": "#/types/junipermist:org/NacPortalSso:NacPortalSso",
                        "description": "SAML SSO settings for NAC portal authentication and role mapping\n"
                    },
                    "tos": {
                        "type": "string",
                        "description": "Terms of service text shown in the NAC portal\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "NAC portal mode, such as guest admin, guest portal, or Marvis client onboarding\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/nacPortalImage:NacPortalImage": {
            "description": "This resource is used to upload a NAC Portal background image.\n\n\n",
            "properties": {
                "file": {
                    "type": "string",
                    "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                },
                "nacportalId": {
                    "type": "string",
                    "description": "Org NAC Portal ID\n"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "required": [
                "file",
                "nacportalId",
                "orgId"
            ],
            "inputProperties": {
                "file": {
                    "type": "string",
                    "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                },
                "nacportalId": {
                    "type": "string",
                    "description": "Org NAC Portal ID\n"
                },
                "orgId": {
                    "type": "string"
                }
            },
            "requiredInputs": [
                "file",
                "nacportalId",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering NacPortalImage resources.\n",
                "properties": {
                    "file": {
                        "type": "string",
                        "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                    },
                    "nacportalId": {
                        "type": "string",
                        "description": "Org NAC Portal ID\n"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/nacPortalTemplate:NacPortalTemplate": {
            "description": "This resource is used to customize the NAC Portal.\n\nThe NAC Portal Template can be used to define:\n\n* The portal alignment, color scheme, and logo\n\n* , and whether to display the \"Powered by Juniper Mist\" footer.\n\n**Notes:**\n\n* There is no feedback from the API, so there is no possibility to validate the changes. The resource state is directly generated based on the resource plan. Deleting this resource will revert the NAC Portal Template to its default values. Once removed from state, it is possible to create a new one, which will replace the previous template.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\n// Create a NAC Portal first\nconst guestPortal = new junipermist.org.NacPortal(\"guest_portal\", {\n    orgId: terraformTest.id,\n    name: \"Guest Portal\",\n    type: \"guest_portal\",\n    accessType: \"wireless\",\n    ssid: \"Guest-Network\",\n});\n// Example 1: Basic NAC Portal Template with centered alignment\nconst centeredTemplate = new junipermist.org.NacPortalTemplate(\"centered_template\", {\n    orgId: terraformTest.id,\n    nacportalId: guestPortal.id,\n    alignment: \"center\",\n    color: \"#1074bc\",\n    poweredBy: false,\n});\n// Example 2: NAC Portal Template with logo and left alignment\nconst logoTemplate = new junipermist.org.NacPortalTemplate(\"logo_template\", {\n    orgId: terraformTest.id,\n    nacportalId: guestPortal.id,\n    alignment: \"left\",\n    color: \"#ff6600\",\n    logo: \"logo.png\",\n    poweredBy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\n# Create a NAC Portal first\nguest_portal = junipermist.org.NacPortal(\"guest_portal\",\n    org_id=terraform_test[\"id\"],\n    name=\"Guest Portal\",\n    type=\"guest_portal\",\n    access_type=\"wireless\",\n    ssid=\"Guest-Network\")\n# Example 1: Basic NAC Portal Template with centered alignment\ncentered_template = junipermist.org.NacPortalTemplate(\"centered_template\",\n    org_id=terraform_test[\"id\"],\n    nacportal_id=guest_portal.id,\n    alignment=\"center\",\n    color=\"#1074bc\",\n    powered_by=False)\n# Example 2: NAC Portal Template with logo and left alignment\nlogo_template = junipermist.org.NacPortalTemplate(\"logo_template\",\n    org_id=terraform_test[\"id\"],\n    nacportal_id=guest_portal.id,\n    alignment=\"left\",\n    color=\"#ff6600\",\n    logo=\"logo.png\",\n    powered_by=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a NAC Portal first\n    var guestPortal = new JuniperMist.Org.NacPortal(\"guest_portal\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"Guest Portal\",\n        Type = \"guest_portal\",\n        AccessType = \"wireless\",\n        Ssid = \"Guest-Network\",\n    });\n\n    // Example 1: Basic NAC Portal Template with centered alignment\n    var centeredTemplate = new JuniperMist.Org.NacPortalTemplate(\"centered_template\", new()\n    {\n        OrgId = terraformTest.Id,\n        NacportalId = guestPortal.Id,\n        Alignment = \"center\",\n        Color = \"#1074bc\",\n        PoweredBy = false,\n    });\n\n    // Example 2: NAC Portal Template with logo and left alignment\n    var logoTemplate = new JuniperMist.Org.NacPortalTemplate(\"logo_template\", new()\n    {\n        OrgId = terraformTest.Id,\n        NacportalId = guestPortal.Id,\n        Alignment = \"left\",\n        Color = \"#ff6600\",\n        Logo = \"logo.png\",\n        PoweredBy = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a NAC Portal first\n\t\tguestPortal, err := org.NewNacPortal(ctx, \"guest_portal\", \u0026org.NacPortalArgs{\n\t\t\tOrgId:      pulumi.Any(terraformTest.Id),\n\t\t\tName:       pulumi.String(\"Guest Portal\"),\n\t\t\tType:       pulumi.String(\"guest_portal\"),\n\t\t\tAccessType: pulumi.String(\"wireless\"),\n\t\t\tSsid:       pulumi.String(\"Guest-Network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example 1: Basic NAC Portal Template with centered alignment\n\t\t_, err = org.NewNacPortalTemplate(ctx, \"centered_template\", \u0026org.NacPortalTemplateArgs{\n\t\t\tOrgId:       pulumi.Any(terraformTest.Id),\n\t\t\tNacportalId: guestPortal.ID(),\n\t\t\tAlignment:   pulumi.String(\"center\"),\n\t\t\tColor:       pulumi.String(\"#1074bc\"),\n\t\t\tPoweredBy:   pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example 2: NAC Portal Template with logo and left alignment\n\t\t_, err = org.NewNacPortalTemplate(ctx, \"logo_template\", \u0026org.NacPortalTemplateArgs{\n\t\t\tOrgId:       pulumi.Any(terraformTest.Id),\n\t\t\tNacportalId: guestPortal.ID(),\n\t\t\tAlignment:   pulumi.String(\"left\"),\n\t\t\tColor:       pulumi.String(\"#ff6600\"),\n\t\t\tLogo:        pulumi.String(\"logo.png\"),\n\t\t\tPoweredBy:   pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\n# Create a NAC Portal first\nresource \"junipermist_org_nacportal\" \"guest_portal\" {\n  org_id      = terraformTest.id\n  name        = \"Guest Portal\"\n  type        = \"guest_portal\"\n  access_type = \"wireless\"\n  ssid        = \"Guest-Network\"\n}\n# Example 1: Basic NAC Portal Template with centered alignment\nresource \"junipermist_org_nacportaltemplate\" \"centered_template\" {\n  org_id       = terraformTest.id\n  nacportal_id = junipermist_org_nacportal.guest_portal.id\n  alignment    = \"center\"\n  color        = \"#1074bc\"\n  powered_by   = false\n}\n# Example 2: NAC Portal Template with logo and left alignment\nresource \"junipermist_org_nacportaltemplate\" \"logo_template\" {\n  org_id       = terraformTest.id\n  nacportal_id = junipermist_org_nacportal.guest_portal.id\n  alignment    = \"left\"\n  color        = \"#ff6600\"\n  logo         = \"logo.png\"\n  powered_by   = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.NacPortal;\nimport com.pulumi.junipermist.org.NacPortalArgs;\nimport com.pulumi.junipermist.org.NacPortalTemplate;\nimport com.pulumi.junipermist.org.NacPortalTemplateArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a NAC Portal first\n        var guestPortal = new NacPortal(\"guestPortal\", NacPortalArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"Guest Portal\")\n            .type(\"guest_portal\")\n            .accessType(\"wireless\")\n            .ssid(\"Guest-Network\")\n            .build());\n\n        // Example 1: Basic NAC Portal Template with centered alignment\n        var centeredTemplate = new NacPortalTemplate(\"centeredTemplate\", NacPortalTemplateArgs.builder()\n            .orgId(terraformTest.id())\n            .nacportalId(guestPortal.id())\n            .alignment(\"center\")\n            .color(\"#1074bc\")\n            .poweredBy(false)\n            .build());\n\n        // Example 2: NAC Portal Template with logo and left alignment\n        var logoTemplate = new NacPortalTemplate(\"logoTemplate\", NacPortalTemplateArgs.builder()\n            .orgId(terraformTest.id())\n            .nacportalId(guestPortal.id())\n            .alignment(\"left\")\n            .color(\"#ff6600\")\n            .logo(\"logo.png\")\n            .poweredBy(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a NAC Portal first\n  guestPortal:\n    type: junipermist:org:NacPortal\n    name: guest_portal\n    properties:\n      orgId: ${terraformTest.id}\n      name: Guest Portal\n      type: guest_portal\n      accessType: wireless\n      ssid: Guest-Network\n  # Example 1: Basic NAC Portal Template with centered alignment\n  centeredTemplate:\n    type: junipermist:org:NacPortalTemplate\n    name: centered_template\n    properties:\n      orgId: ${terraformTest.id}\n      nacportalId: ${guestPortal.id}\n      alignment: center\n      color: '#1074bc'\n      poweredBy: false\n  # Example 2: NAC Portal Template with logo and left alignment\n  logoTemplate:\n    type: junipermist:org:NacPortalTemplate\n    name: logo_template\n    properties:\n      orgId: ${terraformTest.id}\n      nacportalId: ${guestPortal.id}\n      alignment: left\n      color: '#ff6600'\n      logo: logo.png\n      poweredBy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "alignment": {
                    "type": "string",
                    "description": "Text and content alignment for the NAC portal page\n"
                },
                "color": {
                    "type": "string",
                    "description": "Primary color used by the NAC portal template\n"
                },
                "logo": {
                    "type": "string",
                    "description": "path to the logo image file. File must be a \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image less than 100kB and image dimension must be less 500px x 200px (width x height).\n"
                },
                "nacportalId": {
                    "type": "string",
                    "description": "Org NAC Portal ID\n"
                },
                "orgId": {
                    "type": "string"
                },
                "poweredBy": {
                    "type": "boolean",
                    "description": "Whether to hide \"Powered by Juniper Mist\" and email footers\n"
                }
            },
            "required": [
                "alignment",
                "color",
                "nacportalId",
                "orgId",
                "poweredBy"
            ],
            "inputProperties": {
                "alignment": {
                    "type": "string",
                    "description": "Text and content alignment for the NAC portal page\n"
                },
                "color": {
                    "type": "string",
                    "description": "Primary color used by the NAC portal template\n"
                },
                "logo": {
                    "type": "string",
                    "description": "path to the logo image file. File must be a \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image less than 100kB and image dimension must be less 500px x 200px (width x height).\n"
                },
                "nacportalId": {
                    "type": "string",
                    "description": "Org NAC Portal ID\n"
                },
                "orgId": {
                    "type": "string"
                },
                "poweredBy": {
                    "type": "boolean",
                    "description": "Whether to hide \"Powered by Juniper Mist\" and email footers\n"
                }
            },
            "requiredInputs": [
                "nacportalId",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering NacPortalTemplate resources.\n",
                "properties": {
                    "alignment": {
                        "type": "string",
                        "description": "Text and content alignment for the NAC portal page\n"
                    },
                    "color": {
                        "type": "string",
                        "description": "Primary color used by the NAC portal template\n"
                    },
                    "logo": {
                        "type": "string",
                        "description": "path to the logo image file. File must be a \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image less than 100kB and image dimension must be less 500px x 200px (width x height).\n"
                    },
                    "nacportalId": {
                        "type": "string",
                        "description": "Org NAC Portal ID\n"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "poweredBy": {
                        "type": "boolean",
                        "description": "Whether to hide \"Powered by Juniper Mist\" and email footers\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/nacidp:Nacidp": {
            "description": "This resource manages NAC IDPs (Identity Providers).\n\nThe NAC IDPs are used to validate NAC client accounts against an IDP with OAuth2.0, LDAP/LDAPS, or a local Mist Edge.  \nMist Access Assurance can also retrieve group membership from the IDP, and use this information in the NAC Rules (\u003cspan pulumi-lang-nodejs=\"`junipermist.org.Nacrule`\" pulumi-lang-dotnet=\"`junipermist.org.Nacrule`\" pulumi-lang-go=\"`org.Nacrule`\" pulumi-lang-python=\"`org.Nacrule`\" pulumi-lang-yaml=\"`junipermist.org.Nacrule`\" pulumi-lang-java=\"`junipermist.org.Nacrule`\" pulumi-lang-hcl=\"`mist_org_nacrule`\"\u003e`junipermist.org.Nacrule`\u003c/span\u003e resource)\n\nIMPORTANT:\n* Once created, the NAC IDP must be registered in the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Setting`\" pulumi-lang-dotnet=\"`junipermist.org.Setting`\" pulumi-lang-go=\"`org.Setting`\" pulumi-lang-python=\"`org.Setting`\" pulumi-lang-yaml=\"`junipermist.org.Setting`\" pulumi-lang-java=\"`junipermist.org.Setting`\" pulumi-lang-hcl=\"`mist_org_setting`\"\u003e`junipermist.org.Setting`\u003c/span\u003e resource (full path: `mist_org_setting.mist_nac.idps`).\n* The associated REALMS are configured under `mist_org_setting.mist_nac.idps`\n* To make the IDP the Default IDP, set the IDP ID under `mist_org_setting.mist_nac.default_idp_id`\n\nFor SAML IDP, the NAC IDP Metadata can be retrieved with the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.getNacidpMetadata`\" pulumi-lang-dotnet=\"`junipermist.org.getNacidpMetadata`\" pulumi-lang-go=\"`org.getNacidpMetadata`\" pulumi-lang-python=\"`org_get_nacidp_metadata`\" pulumi-lang-yaml=\"`junipermist.org.getNacidpMetadata`\" pulumi-lang-java=\"`junipermist.org.getNacidpMetadata`\" pulumi-lang-hcl=\"`data.mist_org_nacidp_metadata`\"\u003e`junipermist.org.getNacidpMetadata`\u003c/span\u003e data source.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\n// OAuth with Azure Example\nconst idpAzure = new junipermist.org.Nacidp(\"idp_azure\", {\n    orgId: terraformTest.id,\n    name: \"idp_azure\",\n    idpType: \"oauth\",\n    oauthCcClientId: \"client_id\",\n    oauthCcClientSecret: \"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\",\n    oauthRopcClientId: \"ropc_client_id\",\n    oauthRopcClientSecret: \"ropc_client_secret\",\n    oauthTenantId: \"tenant_id\",\n    oauthType: \"azure\",\n});\n// Custom LDAP Example\nconst idpLdap = new junipermist.org.Nacidp(\"idp_ldap\", {\n    orgId: terraformTest.id,\n    name: \"idp_ldap\",\n    idpType: \"ldap\",\n    ldapType: \"custom\",\n    groupFilter: \"memberOf\",\n    memberFilter: \"memberOf\",\n    ldapUserFilter: \"(mail=%s)\",\n    ldapServerHosts: [\n        \"ldap.mycorp.com\",\n        \"1.2.3.4\",\n    ],\n    ldapBaseDn: \"DC=abc,DC=com\",\n    ldapBindDn: \"CN=admin,CN=users,DC=abc,DC=com\",\n    ldapBindPassword: \"secret!password\",\n    ldapCacerts: [\n        `-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----`,\n        `-----BEGIN CERTIFICATE-----\nBhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----`,\n    ],\n    ldapClientCert: `-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----`,\n    ldapClientKey: \"-----BEGIN PRI...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\n# OAuth with Azure Example\nidp_azure = junipermist.org.Nacidp(\"idp_azure\",\n    org_id=terraform_test[\"id\"],\n    name=\"idp_azure\",\n    idp_type=\"oauth\",\n    oauth_cc_client_id=\"client_id\",\n    oauth_cc_client_secret=\"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\",\n    oauth_ropc_client_id=\"ropc_client_id\",\n    oauth_ropc_client_secret=\"ropc_client_secret\",\n    oauth_tenant_id=\"tenant_id\",\n    oauth_type=\"azure\")\n# Custom LDAP Example\nidp_ldap = junipermist.org.Nacidp(\"idp_ldap\",\n    org_id=terraform_test[\"id\"],\n    name=\"idp_ldap\",\n    idp_type=\"ldap\",\n    ldap_type=\"custom\",\n    group_filter=\"memberOf\",\n    member_filter=\"memberOf\",\n    ldap_user_filter=\"(mail=%s)\",\n    ldap_server_hosts=[\n        \"ldap.mycorp.com\",\n        \"1.2.3.4\",\n    ],\n    ldap_base_dn=\"DC=abc,DC=com\",\n    ldap_bind_dn=\"CN=admin,CN=users,DC=abc,DC=com\",\n    ldap_bind_password=\"secret!password\",\n    ldap_cacerts=[\n        \"\"\"-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----\"\"\",\n        \"\"\"-----BEGIN CERTIFICATE-----\nBhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----\"\"\",\n    ],\n    ldap_client_cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----\"\"\",\n    ldap_client_key=\"-----BEGIN PRI...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // OAuth with Azure Example\n    var idpAzure = new JuniperMist.Org.Nacidp(\"idp_azure\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"idp_azure\",\n        IdpType = \"oauth\",\n        OauthCcClientId = \"client_id\",\n        OauthCcClientSecret = \"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\",\n        OauthRopcClientId = \"ropc_client_id\",\n        OauthRopcClientSecret = \"ropc_client_secret\",\n        OauthTenantId = \"tenant_id\",\n        OauthType = \"azure\",\n    });\n\n    // Custom LDAP Example\n    var idpLdap = new JuniperMist.Org.Nacidp(\"idp_ldap\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"idp_ldap\",\n        IdpType = \"ldap\",\n        LdapType = \"custom\",\n        GroupFilter = \"memberOf\",\n        MemberFilter = \"memberOf\",\n        LdapUserFilter = \"(mail=%s)\",\n        LdapServerHosts = new[]\n        {\n            \"ldap.mycorp.com\",\n            \"1.2.3.4\",\n        },\n        LdapBaseDn = \"DC=abc,DC=com\",\n        LdapBindDn = \"CN=admin,CN=users,DC=abc,DC=com\",\n        LdapBindPassword = \"secret!password\",\n        LdapCacerts = new[]\n        {\n            @\"-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----\",\n            @\"-----BEGIN CERTIFICATE-----\nBhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----\",\n        },\n        LdapClientCert = @\"-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----\",\n        LdapClientKey = \"-----BEGIN PRI...\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// OAuth with Azure Example\n\t\t_, err := org.NewNacidp(ctx, \"idp_azure\", \u0026org.NacidpArgs{\n\t\t\tOrgId:                 pulumi.Any(terraformTest.Id),\n\t\t\tName:                  pulumi.String(\"idp_azure\"),\n\t\t\tIdpType:               pulumi.String(\"oauth\"),\n\t\t\tOauthCcClientId:       pulumi.String(\"client_id\"),\n\t\t\tOauthCcClientSecret:   pulumi.String(\"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\"),\n\t\t\tOauthRopcClientId:     pulumi.String(\"ropc_client_id\"),\n\t\t\tOauthRopcClientSecret: pulumi.String(\"ropc_client_secret\"),\n\t\t\tOauthTenantId:         pulumi.String(\"tenant_id\"),\n\t\t\tOauthType:             pulumi.String(\"azure\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Custom LDAP Example\n\t\t_, err = org.NewNacidp(ctx, \"idp_ldap\", \u0026org.NacidpArgs{\n\t\t\tOrgId:          pulumi.Any(terraformTest.Id),\n\t\t\tName:           pulumi.String(\"idp_ldap\"),\n\t\t\tIdpType:        pulumi.String(\"ldap\"),\n\t\t\tLdapType:       pulumi.String(\"custom\"),\n\t\t\tGroupFilter:    pulumi.String(\"memberOf\"),\n\t\t\tMemberFilter:   pulumi.String(\"memberOf\"),\n\t\t\tLdapUserFilter: pulumi.String(\"(mail=%s)\"),\n\t\t\tLdapServerHosts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldap.mycorp.com\"),\n\t\t\t\tpulumi.String(\"1.2.3.4\"),\n\t\t\t},\n\t\t\tLdapBaseDn:       pulumi.String(\"DC=abc,DC=com\"),\n\t\t\tLdapBindDn:       pulumi.String(\"CN=admin,CN=users,DC=abc,DC=com\"),\n\t\t\tLdapBindPassword: pulumi.String(\"secret!password\"),\n\t\t\tLdapCacerts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"-----BEGIN CERTIFICATE-----\\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\\n-----END CERTIFICATE-----\"),\n\t\t\t\tpulumi.String(\"-----BEGIN CERTIFICATE-----\\nBhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----\"),\n\t\t\t},\n\t\t\tLdapClientCert: pulumi.String(\"-----BEGIN CERTIFICATE-----\\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\\n-----END CERTIFICATE-----\"),\n\t\t\tLdapClientKey:  pulumi.String(\"-----BEGIN PRI...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\n// OAuth with Azure Example\nresource \"junipermist_org_nacidp\" \"idp_azure\" {\n  org_id                   = terraformTest.id\n  name                     = \"idp_azure\"\n  idp_type                 = \"oauth\"\n  oauth_cc_client_id       = \"client_id\"\n  oauth_cc_client_secret   = \"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\"\n  oauth_ropc_client_id     = \"ropc_client_id\"\n  oauth_ropc_client_secret = \"ropc_client_secret\"\n  oauth_tenant_id          = \"tenant_id\"\n  oauth_type               = \"azure\"\n}\n// Custom LDAP Example\nresource \"junipermist_org_nacidp\" \"idp_ldap\" {\n  org_id             = terraformTest.id\n  name               = \"idp_ldap\"\n  idp_type           = \"ldap\"\n  ldap_type          = \"custom\"\n  group_filter       = \"memberOf\"\n  member_filter      = \"memberOf\"\n  ldap_user_filter   = \"(mail=%s)\"\n  ldap_server_hosts  = [\"ldap.mycorp.com\", \"1.2.3.4\"]\n  ldap_base_dn       = \"DC=abc,DC=com\"\n  ldap_bind_dn       = \"CN=admin,CN=users,DC=abc,DC=com\"\n  ldap_bind_password = \"secret!password\"\n  ldap_cacerts       = [\"-----BEGIN CERTIFICATE-----\\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\\n-----END CERTIFICATE-----\", \"-----BEGIN CERTIFICATE-----\\nBhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----\"]\n  ldap_client_cert   = \"-----BEGIN CERTIFICATE-----\\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\\n-----END CERTIFICATE-----\"\n  ldap_client_key    = \"-----BEGIN PRI...\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Nacidp;\nimport com.pulumi.junipermist.org.NacidpArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // OAuth with Azure Example\n        var idpAzure = new Nacidp(\"idpAzure\", NacidpArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"idp_azure\")\n            .idpType(\"oauth\")\n            .oauthCcClientId(\"client_id\")\n            .oauthCcClientSecret(\"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\")\n            .oauthRopcClientId(\"ropc_client_id\")\n            .oauthRopcClientSecret(\"ropc_client_secret\")\n            .oauthTenantId(\"tenant_id\")\n            .oauthType(\"azure\")\n            .build());\n\n        // Custom LDAP Example\n        var idpLdap = new Nacidp(\"idpLdap\", NacidpArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"idp_ldap\")\n            .idpType(\"ldap\")\n            .ldapType(\"custom\")\n            .groupFilter(\"memberOf\")\n            .memberFilter(\"memberOf\")\n            .ldapUserFilter(\"(mail=%s)\")\n            .ldapServerHosts(            \n                \"ldap.mycorp.com\",\n                \"1.2.3.4\")\n            .ldapBaseDn(\"DC=abc,DC=com\")\n            .ldapBindDn(\"CN=admin,CN=users,DC=abc,DC=com\")\n            .ldapBindPassword(\"secret!password\")\n            .ldapCacerts(            \n                \"\"\"\n-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----                \"\"\",\n                \"\"\"\n-----BEGIN CERTIFICATE-----\nBhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----                \"\"\")\n            .ldapClientCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----            \"\"\")\n            .ldapClientKey(\"-----BEGIN PRI...\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # OAuth with Azure Example\n  idpAzure:\n    type: junipermist:org:Nacidp\n    name: idp_azure\n    properties:\n      orgId: ${terraformTest.id}\n      name: idp_azure\n      idpType: oauth\n      oauthCcClientId: client_id\n      oauthCcClientSecret: '-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----'\n      oauthRopcClientId: ropc_client_id\n      oauthRopcClientSecret: ropc_client_secret\n      oauthTenantId: tenant_id\n      oauthType: azure\n  # Custom LDAP Example\n  idpLdap:\n    type: junipermist:org:Nacidp\n    name: idp_ldap\n    properties:\n      orgId: ${terraformTest.id}\n      name: idp_ldap\n      idpType: ldap\n      ldapType: custom\n      groupFilter: memberOf\n      memberFilter: memberOf\n      ldapUserFilter: (mail=%s)\n      ldapServerHosts:\n        - ldap.mycorp.com\n        - 1.2.3.4\n      ldapBaseDn: DC=abc,DC=com\n      ldapBindDn: CN=admin,CN=users,DC=abc,DC=com\n      ldapBindPassword: secret!password\n      ldapCacerts:\n        - |-\n          -----BEGIN CERTIFICATE-----\n          MIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n          -----END CERTIFICATE-----\n        - |-\n          -----BEGIN CERTIFICATE-----\n          BhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----\n      ldapClientCert: |-\n        -----BEGIN CERTIFICATE-----\n        MIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n        -----END CERTIFICATE-----\n      ldapClientKey: '-----BEGIN PRI...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Nacidp`\" pulumi-lang-dotnet=\"`junipermist.org.Nacidp`\" pulumi-lang-go=\"`org.Nacidp`\" pulumi-lang-python=\"`org.Nacidp`\" pulumi-lang-yaml=\"`junipermist.org.Nacidp`\" pulumi-lang-java=\"`junipermist.org.Nacidp`\" pulumi-lang-hcl=\"`mist_org_nacidp`\"\u003e`junipermist.org.Nacidp`\u003c/span\u003e with:\nOrg PSK can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" nacidpId\n\" pulumi-lang-dotnet=\" NacidpId\n\" pulumi-lang-go=\" nacidpId\n\" pulumi-lang-python=\" nacidp_id\n\" pulumi-lang-yaml=\" nacidpId\n\" pulumi-lang-java=\" nacidpId\n\" pulumi-lang-hcl=\" nacidp_id\n\"\u003e nacidpId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/nacidp:Nacidp idp_azure 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "groupFilter": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, LDAP filter that will identify the type of group\n"
                },
                "idpType": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxedgeProxy`\" pulumi-lang-dotnet=\"`MxedgeProxy`\" pulumi-lang-go=\"`mxedgeProxy`\" pulumi-lang-python=\"`mxedge_proxy`\" pulumi-lang-yaml=\"`mxedgeProxy`\" pulumi-lang-java=\"`mxedgeProxy`\" pulumi-lang-hcl=\"`mxedge_proxy`\"\u003e`mxedgeProxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`openroaming`\" pulumi-lang-dotnet=\"`Openroaming`\" pulumi-lang-go=\"`openroaming`\" pulumi-lang-python=\"`openroaming`\" pulumi-lang-yaml=\"`openroaming`\" pulumi-lang-java=\"`openroaming`\" pulumi-lang-hcl=\"`openroaming`\"\u003e`openroaming`\u003c/span\u003e\n"
                },
                "ldapBaseDn": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, whole domain or a specific organization unit (container) in Search base to specify where users and groups are found in the LDAP tree\n"
                },
                "ldapBindDn": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, the account used to authenticate against the LDAP\n"
                },
                "ldapBindPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, the password used to authenticate against the LDAP\n"
                },
                "ldapCacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CA certificates used to validate LDAP or LDAPS server certificates. Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e\n"
                },
                "ldapClientCert": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, LDAPS Client certificate\n"
                },
                "ldapClientKey": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, Key for the \u003cspan pulumi-lang-nodejs=\"`ldapClientCert`\" pulumi-lang-dotnet=\"`LdapClientCert`\" pulumi-lang-go=\"`ldapClientCert`\" pulumi-lang-python=\"`ldap_client_cert`\" pulumi-lang-yaml=\"`ldapClientCert`\" pulumi-lang-java=\"`ldapClientCert`\" pulumi-lang-hcl=\"`ldap_client_cert`\"\u003e`ldapClientCert`\u003c/span\u003e\n"
                },
                "ldapGroupAttr": {
                    "type": "string",
                    "description": "Group attribute used to resolve LDAP memberships. If \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "ldapGroupDn": {
                    "type": "string",
                    "description": "Group search base used for custom LDAP group lookup. If \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "ldapResolveGroups": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, whether to recursively resolve LDAP groups\n"
                },
                "ldapServerHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Server hostnames or IP addresses for LDAP or LDAPS when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e\n"
                },
                "ldapType": {
                    "type": "string",
                    "description": "Provider template for LDAP SSO when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e\n"
                },
                "ldapUserFilter": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, LDAP filter that will identify the type of user\n"
                },
                "memberFilter": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e,LDAP filter that will identify the type of member\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the NAC IDP configuration\n"
                },
                "oauthCcClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, Client Credentials\n"
                },
                "oauthCcClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, oauth*cc*client_secret is RSA private key, of the form \"-----BEGIN RSA PRIVATE KEY--....\"\n",
                    "secret": true
                },
                "oauthDiscoveryUrl": {
                    "type": "string",
                    "description": "OAuth discovery document URL used when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e\n"
                },
                "oauthPingIdentityRegion": {
                    "type": "string",
                    "description": "Ping Identity region for OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pingIdentity`\" pulumi-lang-dotnet=\"`PingIdentity`\" pulumi-lang-go=\"`pingIdentity`\" pulumi-lang-python=\"`ping_identity`\" pulumi-lang-yaml=\"`pingIdentity`\" pulumi-lang-java=\"`pingIdentity`\" pulumi-lang-hcl=\"`ping_identity`\"\u003e`pingIdentity`\u003c/span\u003e\n"
                },
                "oauthProviderDomain": {
                    "type": "string",
                    "description": "Provider domain for Okta OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`okta`\" pulumi-lang-dotnet=\"`Okta`\" pulumi-lang-go=\"`okta`\" pulumi-lang-python=\"`okta`\" pulumi-lang-yaml=\"`okta`\" pulumi-lang-java=\"`okta`\" pulumi-lang-hcl=\"`okta`\"\u003e`okta`\u003c/span\u003e\n"
                },
                "oauthRopcClientId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, ropc = Resource Owner Password Credentials\n"
                },
                "oauthRopcClientSecret": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\" pulumi-lang-hcl=\"`azure`\"\u003e`azure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==`azure-gov`. oauth*ropc*client_secret can be empty\n",
                    "secret": true
                },
                "oauthTenantId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, oauth*tenant*id\n"
                },
                "oauthType": {
                    "type": "string",
                    "description": "Provider type for OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e\n"
                },
                "openroamingSsids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSIDs that support OpenRoaming, used when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`openroaming`\" pulumi-lang-dotnet=\"`Openroaming`\" pulumi-lang-go=\"`openroaming`\" pulumi-lang-python=\"`openroaming`\" pulumi-lang-yaml=\"`openroaming`\" pulumi-lang-java=\"`openroaming`\" pulumi-lang-hcl=\"`openroaming`\"\u003e`openroaming`\u003c/span\u003e\n"
                },
                "openroamingWbaClientCert": {
                    "type": "string",
                    "description": "Optional WBA-issued client certificate for OpenRoaming. If not provided, the default WBA-issued certificate for Juniper will be used.\n",
                    "secret": true
                },
                "openroamingWbaClientKey": {
                    "type": "string",
                    "description": "Optional WBA-issued client private key for OpenRoaming. If not provided, the default WBA-issued key for Juniper will be used.\n",
                    "secret": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization identifier for this NAC IDP configuration\n"
                },
                "scimEnabled": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, indicates if SCIM provisioning is enabled for the OAuth IDP\n"
                },
                "scimSecretToken": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, scim*secret*token (auto-generated when not provided by caller and \u003cspan pulumi-lang-nodejs=\"`scimEnabled`\" pulumi-lang-dotnet=\"`ScimEnabled`\" pulumi-lang-go=\"`scimEnabled`\" pulumi-lang-python=\"`scim_enabled`\" pulumi-lang-yaml=\"`scimEnabled`\" pulumi-lang-java=\"`scimEnabled`\" pulumi-lang-hcl=\"`scim_enabled`\"\u003e`scimEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, empty string when \u003cspan pulumi-lang-nodejs=\"`scimEnabled`\" pulumi-lang-dotnet=\"`ScimEnabled`\" pulumi-lang-go=\"`scimEnabled`\" pulumi-lang-python=\"`scim_enabled`\" pulumi-lang-yaml=\"`scimEnabled`\" pulumi-lang-java=\"`scimEnabled`\" pulumi-lang-hcl=\"`scim_enabled`\"\u003e`scimEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e) is used as the Bearer token in the Authorization header of SCIM provisioning requests by the IDP\n",
                    "secret": true
                }
            },
            "required": [
                "idpType",
                "ldapResolveGroups",
                "name",
                "oauthPingIdentityRegion",
                "oauthProviderDomain",
                "oauthType",
                "orgId",
                "scimEnabled",
                "scimSecretToken"
            ],
            "inputProperties": {
                "groupFilter": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, LDAP filter that will identify the type of group\n"
                },
                "idpType": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxedgeProxy`\" pulumi-lang-dotnet=\"`MxedgeProxy`\" pulumi-lang-go=\"`mxedgeProxy`\" pulumi-lang-python=\"`mxedge_proxy`\" pulumi-lang-yaml=\"`mxedgeProxy`\" pulumi-lang-java=\"`mxedgeProxy`\" pulumi-lang-hcl=\"`mxedge_proxy`\"\u003e`mxedgeProxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`openroaming`\" pulumi-lang-dotnet=\"`Openroaming`\" pulumi-lang-go=\"`openroaming`\" pulumi-lang-python=\"`openroaming`\" pulumi-lang-yaml=\"`openroaming`\" pulumi-lang-java=\"`openroaming`\" pulumi-lang-hcl=\"`openroaming`\"\u003e`openroaming`\u003c/span\u003e\n"
                },
                "ldapBaseDn": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, whole domain or a specific organization unit (container) in Search base to specify where users and groups are found in the LDAP tree\n"
                },
                "ldapBindDn": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, the account used to authenticate against the LDAP\n"
                },
                "ldapBindPassword": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, the password used to authenticate against the LDAP\n"
                },
                "ldapCacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CA certificates used to validate LDAP or LDAPS server certificates. Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e\n"
                },
                "ldapClientCert": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, LDAPS Client certificate\n"
                },
                "ldapClientKey": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, Key for the \u003cspan pulumi-lang-nodejs=\"`ldapClientCert`\" pulumi-lang-dotnet=\"`LdapClientCert`\" pulumi-lang-go=\"`ldapClientCert`\" pulumi-lang-python=\"`ldap_client_cert`\" pulumi-lang-yaml=\"`ldapClientCert`\" pulumi-lang-java=\"`ldapClientCert`\" pulumi-lang-hcl=\"`ldap_client_cert`\"\u003e`ldapClientCert`\u003c/span\u003e\n"
                },
                "ldapGroupAttr": {
                    "type": "string",
                    "description": "Group attribute used to resolve LDAP memberships. If \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "ldapGroupDn": {
                    "type": "string",
                    "description": "Group search base used for custom LDAP group lookup. If \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "ldapResolveGroups": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, whether to recursively resolve LDAP groups\n"
                },
                "ldapServerHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Server hostnames or IP addresses for LDAP or LDAPS when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e\n"
                },
                "ldapType": {
                    "type": "string",
                    "description": "Provider template for LDAP SSO when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e\n"
                },
                "ldapUserFilter": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, LDAP filter that will identify the type of user\n"
                },
                "memberFilter": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e,LDAP filter that will identify the type of member\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the NAC IDP configuration\n"
                },
                "oauthCcClientId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, Client Credentials\n"
                },
                "oauthCcClientSecret": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, oauth*cc*client_secret is RSA private key, of the form \"-----BEGIN RSA PRIVATE KEY--....\"\n",
                    "secret": true
                },
                "oauthDiscoveryUrl": {
                    "type": "string",
                    "description": "OAuth discovery document URL used when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e\n"
                },
                "oauthPingIdentityRegion": {
                    "type": "string",
                    "description": "Ping Identity region for OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pingIdentity`\" pulumi-lang-dotnet=\"`PingIdentity`\" pulumi-lang-go=\"`pingIdentity`\" pulumi-lang-python=\"`ping_identity`\" pulumi-lang-yaml=\"`pingIdentity`\" pulumi-lang-java=\"`pingIdentity`\" pulumi-lang-hcl=\"`ping_identity`\"\u003e`pingIdentity`\u003c/span\u003e\n"
                },
                "oauthProviderDomain": {
                    "type": "string",
                    "description": "Provider domain for Okta OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`okta`\" pulumi-lang-dotnet=\"`Okta`\" pulumi-lang-go=\"`okta`\" pulumi-lang-python=\"`okta`\" pulumi-lang-yaml=\"`okta`\" pulumi-lang-java=\"`okta`\" pulumi-lang-hcl=\"`okta`\"\u003e`okta`\u003c/span\u003e\n"
                },
                "oauthRopcClientId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, ropc = Resource Owner Password Credentials\n"
                },
                "oauthRopcClientSecret": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\" pulumi-lang-hcl=\"`azure`\"\u003e`azure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==`azure-gov`. oauth*ropc*client_secret can be empty\n",
                    "secret": true
                },
                "oauthTenantId": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, oauth*tenant*id\n"
                },
                "oauthType": {
                    "type": "string",
                    "description": "Provider type for OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e\n"
                },
                "openroamingSsids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSIDs that support OpenRoaming, used when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`openroaming`\" pulumi-lang-dotnet=\"`Openroaming`\" pulumi-lang-go=\"`openroaming`\" pulumi-lang-python=\"`openroaming`\" pulumi-lang-yaml=\"`openroaming`\" pulumi-lang-java=\"`openroaming`\" pulumi-lang-hcl=\"`openroaming`\"\u003e`openroaming`\u003c/span\u003e\n"
                },
                "openroamingWbaClientCert": {
                    "type": "string",
                    "description": "Optional WBA-issued client certificate for OpenRoaming. If not provided, the default WBA-issued certificate for Juniper will be used.\n",
                    "secret": true
                },
                "openroamingWbaClientKey": {
                    "type": "string",
                    "description": "Optional WBA-issued client private key for OpenRoaming. If not provided, the default WBA-issued key for Juniper will be used.\n",
                    "secret": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization identifier for this NAC IDP configuration\n"
                },
                "scimEnabled": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, indicates if SCIM provisioning is enabled for the OAuth IDP\n"
                },
                "scimSecretToken": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, scim*secret*token (auto-generated when not provided by caller and \u003cspan pulumi-lang-nodejs=\"`scimEnabled`\" pulumi-lang-dotnet=\"`ScimEnabled`\" pulumi-lang-go=\"`scimEnabled`\" pulumi-lang-python=\"`scim_enabled`\" pulumi-lang-yaml=\"`scimEnabled`\" pulumi-lang-java=\"`scimEnabled`\" pulumi-lang-hcl=\"`scim_enabled`\"\u003e`scimEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, empty string when \u003cspan pulumi-lang-nodejs=\"`scimEnabled`\" pulumi-lang-dotnet=\"`ScimEnabled`\" pulumi-lang-go=\"`scimEnabled`\" pulumi-lang-python=\"`scim_enabled`\" pulumi-lang-yaml=\"`scimEnabled`\" pulumi-lang-java=\"`scimEnabled`\" pulumi-lang-hcl=\"`scim_enabled`\"\u003e`scimEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e) is used as the Bearer token in the Authorization header of SCIM provisioning requests by the IDP\n",
                    "secret": true
                }
            },
            "requiredInputs": [
                "idpType",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Nacidp resources.\n",
                "properties": {
                    "groupFilter": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, LDAP filter that will identify the type of group\n"
                    },
                    "idpType": {
                        "type": "string",
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mxedgeProxy`\" pulumi-lang-dotnet=\"`MxedgeProxy`\" pulumi-lang-go=\"`mxedgeProxy`\" pulumi-lang-python=\"`mxedge_proxy`\" pulumi-lang-yaml=\"`mxedgeProxy`\" pulumi-lang-java=\"`mxedgeProxy`\" pulumi-lang-hcl=\"`mxedge_proxy`\"\u003e`mxedgeProxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`openroaming`\" pulumi-lang-dotnet=\"`Openroaming`\" pulumi-lang-go=\"`openroaming`\" pulumi-lang-python=\"`openroaming`\" pulumi-lang-yaml=\"`openroaming`\" pulumi-lang-java=\"`openroaming`\" pulumi-lang-hcl=\"`openroaming`\"\u003e`openroaming`\u003c/span\u003e\n"
                    },
                    "ldapBaseDn": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, whole domain or a specific organization unit (container) in Search base to specify where users and groups are found in the LDAP tree\n"
                    },
                    "ldapBindDn": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, the account used to authenticate against the LDAP\n"
                    },
                    "ldapBindPassword": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, the password used to authenticate against the LDAP\n"
                    },
                    "ldapCacerts": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "CA certificates used to validate LDAP or LDAPS server certificates. Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e\n"
                    },
                    "ldapClientCert": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, LDAPS Client certificate\n"
                    },
                    "ldapClientKey": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, Key for the \u003cspan pulumi-lang-nodejs=\"`ldapClientCert`\" pulumi-lang-dotnet=\"`LdapClientCert`\" pulumi-lang-go=\"`ldapClientCert`\" pulumi-lang-python=\"`ldap_client_cert`\" pulumi-lang-yaml=\"`ldapClientCert`\" pulumi-lang-java=\"`ldapClientCert`\" pulumi-lang-hcl=\"`ldap_client_cert`\"\u003e`ldapClientCert`\u003c/span\u003e\n"
                    },
                    "ldapGroupAttr": {
                        "type": "string",
                        "description": "Group attribute used to resolve LDAP memberships. If \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                    },
                    "ldapGroupDn": {
                        "type": "string",
                        "description": "Group search base used for custom LDAP group lookup. If \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                    },
                    "ldapResolveGroups": {
                        "type": "boolean",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e, whether to recursively resolve LDAP groups\n"
                    },
                    "ldapServerHosts": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Server hostnames or IP addresses for LDAP or LDAPS when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e\n"
                    },
                    "ldapType": {
                        "type": "string",
                        "description": "Provider template for LDAP SSO when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`ldap`\" pulumi-lang-dotnet=\"`Ldap`\" pulumi-lang-go=\"`ldap`\" pulumi-lang-python=\"`ldap`\" pulumi-lang-yaml=\"`ldap`\" pulumi-lang-java=\"`ldap`\" pulumi-lang-hcl=\"`ldap`\"\u003e`ldap`\u003c/span\u003e\n"
                    },
                    "ldapUserFilter": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e, LDAP filter that will identify the type of user\n"
                    },
                    "memberFilter": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`ldapType`\" pulumi-lang-dotnet=\"`LdapType`\" pulumi-lang-go=\"`ldapType`\" pulumi-lang-python=\"`ldap_type`\" pulumi-lang-yaml=\"`ldapType`\" pulumi-lang-java=\"`ldapType`\" pulumi-lang-hcl=\"`ldap_type`\"\u003e`ldapType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e,LDAP filter that will identify the type of member\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the NAC IDP configuration\n"
                    },
                    "oauthCcClientId": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, Client Credentials\n"
                    },
                    "oauthCcClientSecret": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, oauth*cc*client_secret is RSA private key, of the form \"-----BEGIN RSA PRIVATE KEY--....\"\n",
                        "secret": true
                    },
                    "oauthDiscoveryUrl": {
                        "type": "string",
                        "description": "OAuth discovery document URL used when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e\n"
                    },
                    "oauthPingIdentityRegion": {
                        "type": "string",
                        "description": "Ping Identity region for OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`pingIdentity`\" pulumi-lang-dotnet=\"`PingIdentity`\" pulumi-lang-go=\"`pingIdentity`\" pulumi-lang-python=\"`ping_identity`\" pulumi-lang-yaml=\"`pingIdentity`\" pulumi-lang-java=\"`pingIdentity`\" pulumi-lang-hcl=\"`ping_identity`\"\u003e`pingIdentity`\u003c/span\u003e\n"
                    },
                    "oauthProviderDomain": {
                        "type": "string",
                        "description": "Provider domain for Okta OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`okta`\" pulumi-lang-dotnet=\"`Okta`\" pulumi-lang-go=\"`okta`\" pulumi-lang-python=\"`okta`\" pulumi-lang-yaml=\"`okta`\" pulumi-lang-java=\"`okta`\" pulumi-lang-hcl=\"`okta`\"\u003e`okta`\u003c/span\u003e\n"
                    },
                    "oauthRopcClientId": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, ropc = Resource Owner Password Credentials\n"
                    },
                    "oauthRopcClientSecret": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\" pulumi-lang-hcl=\"`azure`\"\u003e`azure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==`azure-gov`. oauth*ropc*client_secret can be empty\n",
                        "secret": true
                    },
                    "oauthTenantId": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, oauth*tenant*id\n"
                    },
                    "oauthType": {
                        "type": "string",
                        "description": "Provider type for OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e\n"
                    },
                    "openroamingSsids": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "SSIDs that support OpenRoaming, used when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`openroaming`\" pulumi-lang-dotnet=\"`Openroaming`\" pulumi-lang-go=\"`openroaming`\" pulumi-lang-python=\"`openroaming`\" pulumi-lang-yaml=\"`openroaming`\" pulumi-lang-java=\"`openroaming`\" pulumi-lang-hcl=\"`openroaming`\"\u003e`openroaming`\u003c/span\u003e\n"
                    },
                    "openroamingWbaClientCert": {
                        "type": "string",
                        "description": "Optional WBA-issued client certificate for OpenRoaming. If not provided, the default WBA-issued certificate for Juniper will be used.\n",
                        "secret": true
                    },
                    "openroamingWbaClientKey": {
                        "type": "string",
                        "description": "Optional WBA-issued client private key for OpenRoaming. If not provided, the default WBA-issued key for Juniper will be used.\n",
                        "secret": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Owning organization identifier for this NAC IDP configuration\n"
                    },
                    "scimEnabled": {
                        "type": "boolean",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, indicates if SCIM provisioning is enabled for the OAuth IDP\n"
                    },
                    "scimSecretToken": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e, scim*secret*token (auto-generated when not provided by caller and \u003cspan pulumi-lang-nodejs=\"`scimEnabled`\" pulumi-lang-dotnet=\"`ScimEnabled`\" pulumi-lang-go=\"`scimEnabled`\" pulumi-lang-python=\"`scim_enabled`\" pulumi-lang-yaml=\"`scimEnabled`\" pulumi-lang-java=\"`scimEnabled`\" pulumi-lang-hcl=\"`scim_enabled`\"\u003e`scimEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, empty string when \u003cspan pulumi-lang-nodejs=\"`scimEnabled`\" pulumi-lang-dotnet=\"`ScimEnabled`\" pulumi-lang-go=\"`scimEnabled`\" pulumi-lang-python=\"`scim_enabled`\" pulumi-lang-yaml=\"`scimEnabled`\" pulumi-lang-java=\"`scimEnabled`\" pulumi-lang-hcl=\"`scim_enabled`\"\u003e`scimEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e) is used as the Bearer token in the Authorization header of SCIM provisioning requests by the IDP\n",
                        "secret": true
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/nacrule:Nacrule": {
            "description": "This resource manages the NAC Rules (Auth Policies).\n\nA NAC Rule defines a list of criteria (NAC Tag) the network client must match to execute the Rule, an action (Allow/Deny)and a list of RADIUS Attributes (NAC Tags) to return\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst nacruleOne = new junipermist.org.Nacrule(\"nacrule_one\", {\n    name: \"rule_one\",\n    action: \"allow\",\n    orgId: terraformTest.id,\n    matching: {\n        portTypes: [\"wired\"],\n        authType: \"mab\",\n        nactags: [\"c055c60b-351a-4311-8ee5-9b7be5e5f902\"],\n    },\n    applyTags: [\n        \"61c11327-5e1b-40ed-bbbf-5e95642c4f59\",\n        \"3f292454-ac5f-4a36-9aff-d0518d90b47a\",\n    ],\n    enabled: true,\n    order: 9,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nnacrule_one = junipermist.org.Nacrule(\"nacrule_one\",\n    name=\"rule_one\",\n    action=\"allow\",\n    org_id=terraform_test[\"id\"],\n    matching={\n        \"port_types\": [\"wired\"],\n        \"auth_type\": \"mab\",\n        \"nactags\": [\"c055c60b-351a-4311-8ee5-9b7be5e5f902\"],\n    },\n    apply_tags=[\n        \"61c11327-5e1b-40ed-bbbf-5e95642c4f59\",\n        \"3f292454-ac5f-4a36-9aff-d0518d90b47a\",\n    ],\n    enabled=True,\n    order=9)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nacruleOne = new JuniperMist.Org.Nacrule(\"nacrule_one\", new()\n    {\n        Name = \"rule_one\",\n        Action = \"allow\",\n        OrgId = terraformTest.Id,\n        Matching = new JuniperMist.Org.Inputs.NacruleMatchingArgs\n        {\n            PortTypes = new[]\n            {\n                \"wired\",\n            },\n            AuthType = \"mab\",\n            Nactags = new[]\n            {\n                \"c055c60b-351a-4311-8ee5-9b7be5e5f902\",\n            },\n        },\n        ApplyTags = new[]\n        {\n            \"61c11327-5e1b-40ed-bbbf-5e95642c4f59\",\n            \"3f292454-ac5f-4a36-9aff-d0518d90b47a\",\n        },\n        Enabled = true,\n        Order = 9,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewNacrule(ctx, \"nacrule_one\", \u0026org.NacruleArgs{\n\t\t\tName:   pulumi.String(\"rule_one\"),\n\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\tOrgId:  pulumi.Any(terraformTest.Id),\n\t\t\tMatching: \u0026org.NacruleMatchingArgs{\n\t\t\t\tPortTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"wired\"),\n\t\t\t\t},\n\t\t\t\tAuthType: pulumi.String(\"mab\"),\n\t\t\t\tNactags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"c055c60b-351a-4311-8ee5-9b7be5e5f902\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tApplyTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"61c11327-5e1b-40ed-bbbf-5e95642c4f59\"),\n\t\t\t\tpulumi.String(\"3f292454-ac5f-4a36-9aff-d0518d90b47a\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tOrder:   pulumi.Int(9),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_nacrule\" \"nacrule_one\" {\n  name   = \"rule_one\"\n  action = \"allow\"\n  org_id = terraformTest.id\n  matching = {\n    port_types = [\"wired\"]\n    auth_type  = \"mab\"\n    nactags    = [\"c055c60b-351a-4311-8ee5-9b7be5e5f902\"]\n  }\n  apply_tags = [\"61c11327-5e1b-40ed-bbbf-5e95642c4f59\", \"3f292454-ac5f-4a36-9aff-d0518d90b47a\"]\n  enabled    = true\n  order      = 9\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Nacrule;\nimport com.pulumi.junipermist.org.NacruleArgs;\nimport com.pulumi.junipermist.org.inputs.NacruleMatchingArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var nacruleOne = new Nacrule(\"nacruleOne\", NacruleArgs.builder()\n            .name(\"rule_one\")\n            .action(\"allow\")\n            .orgId(terraformTest.id())\n            .matching(NacruleMatchingArgs.builder()\n                .portTypes(\"wired\")\n                .authType(\"mab\")\n                .nactags(\"c055c60b-351a-4311-8ee5-9b7be5e5f902\")\n                .build())\n            .applyTags(            \n                \"61c11327-5e1b-40ed-bbbf-5e95642c4f59\",\n                \"3f292454-ac5f-4a36-9aff-d0518d90b47a\")\n            .enabled(true)\n            .order(9)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  nacruleOne:\n    type: junipermist:org:Nacrule\n    name: nacrule_one\n    properties:\n      name: rule_one\n      action: allow\n      orgId: ${terraformTest.id}\n      matching:\n        portTypes:\n          - wired\n        authType: mab\n        nactags:\n          - c055c60b-351a-4311-8ee5-9b7be5e5f902\n      applyTags:\n        - 61c11327-5e1b-40ed-bbbf-5e95642c4f59\n        - 3f292454-ac5f-4a36-9aff-d0518d90b47a\n      enabled: true\n      order: 9\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Nacrule`\" pulumi-lang-dotnet=\"`junipermist.org.Nacrule`\" pulumi-lang-go=\"`org.Nacrule`\" pulumi-lang-python=\"`org.Nacrule`\" pulumi-lang-yaml=\"`junipermist.org.Nacrule`\" pulumi-lang-java=\"`junipermist.org.Nacrule`\" pulumi-lang-hcl=\"`mist_org_nacrule`\"\u003e`junipermist.org.Nacrule`\u003c/span\u003e with:\nNAC Rule can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" nacruleId\n\" pulumi-lang-dotnet=\" NacruleId\n\" pulumi-lang-go=\" nacruleId\n\" pulumi-lang-python=\" nacrule_id\n\" pulumi-lang-yaml=\" nacruleId\n\" pulumi-lang-java=\" nacruleId\n\" pulumi-lang-hcl=\" nacrule_id\n\"\u003e nacruleId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/nacrule:Nacrule nacrule_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Allow or block decision applied when the NAC rule matches\n"
                },
                "applyTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NAC tag IDs to include in the Access-Accept when the rule allows access\n"
                },
                "dryRun": {
                    "type": "boolean",
                    "description": "Whether the NAC rule is in dry-run mode, where matches are logged but the action is not enforced\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the NAC rule is evaluated during policy matching\n"
                },
                "guestAuthState": {
                    "type": "string",
                    "description": "Guest portal authorization state condition for the rule\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:org/NacruleMatching:NacruleMatching",
                    "description": "Criteria that must match for the NAC rule to apply\n"
                },
                "name": {
                    "type": "string",
                    "description": "Human-readable name of the NAC rule\n"
                },
                "notMatching": {
                    "$ref": "#/types/junipermist:org/NacruleNotMatching:NacruleNotMatching",
                    "description": "Criteria that must not match for the NAC rule to apply\n"
                },
                "order": {
                    "type": "integer",
                    "description": "Rule priority; lower values are evaluated with higher priority\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Org identifier that owns the NAC rule\n"
                }
            },
            "required": [
                "action",
                "applyTags",
                "enabled",
                "name",
                "order",
                "orgId"
            ],
            "inputProperties": {
                "action": {
                    "type": "string",
                    "description": "Allow or block decision applied when the NAC rule matches\n"
                },
                "applyTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NAC tag IDs to include in the Access-Accept when the rule allows access\n"
                },
                "dryRun": {
                    "type": "boolean",
                    "description": "Whether the NAC rule is in dry-run mode, where matches are logged but the action is not enforced\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the NAC rule is evaluated during policy matching\n"
                },
                "guestAuthState": {
                    "type": "string",
                    "description": "Guest portal authorization state condition for the rule\n"
                },
                "matching": {
                    "$ref": "#/types/junipermist:org/NacruleMatching:NacruleMatching",
                    "description": "Criteria that must match for the NAC rule to apply\n"
                },
                "name": {
                    "type": "string",
                    "description": "Human-readable name of the NAC rule\n"
                },
                "notMatching": {
                    "$ref": "#/types/junipermist:org/NacruleNotMatching:NacruleNotMatching",
                    "description": "Criteria that must not match for the NAC rule to apply\n"
                },
                "order": {
                    "type": "integer",
                    "description": "Rule priority; lower values are evaluated with higher priority\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Org identifier that owns the NAC rule\n"
                }
            },
            "requiredInputs": [
                "action",
                "order",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Nacrule resources.\n",
                "properties": {
                    "action": {
                        "type": "string",
                        "description": "Allow or block decision applied when the NAC rule matches\n"
                    },
                    "applyTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "NAC tag IDs to include in the Access-Accept when the rule allows access\n"
                    },
                    "dryRun": {
                        "type": "boolean",
                        "description": "Whether the NAC rule is in dry-run mode, where matches are logged but the action is not enforced\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether the NAC rule is evaluated during policy matching\n"
                    },
                    "guestAuthState": {
                        "type": "string",
                        "description": "Guest portal authorization state condition for the rule\n"
                    },
                    "matching": {
                        "$ref": "#/types/junipermist:org/NacruleMatching:NacruleMatching",
                        "description": "Criteria that must match for the NAC rule to apply\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Human-readable name of the NAC rule\n"
                    },
                    "notMatching": {
                        "$ref": "#/types/junipermist:org/NacruleNotMatching:NacruleNotMatching",
                        "description": "Criteria that must not match for the NAC rule to apply\n"
                    },
                    "order": {
                        "type": "integer",
                        "description": "Rule priority; lower values are evaluated with higher priority\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Org identifier that owns the NAC rule\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/nactag:Nactag": {
            "description": "This resource manages NAC Tags (Auth Policy Labels).\n\nThe NAC Tags can be used in the NAC Rules to define the matching criteria or the returned RADIUS Attributes\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst tagOne = new junipermist.org.Nactag(\"tag_one\", {\n    name: \"tag_one\",\n    type: \"match\",\n    match: \"client_mac\",\n    orgId: terraformTest.id,\n    values: [\"5c5b35*\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\ntag_one = junipermist.org.Nactag(\"tag_one\",\n    name=\"tag_one\",\n    type=\"match\",\n    match=\"client_mac\",\n    org_id=terraform_test[\"id\"],\n    values=[\"5c5b35*\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var tagOne = new JuniperMist.Org.Nactag(\"tag_one\", new()\n    {\n        Name = \"tag_one\",\n        Type = \"match\",\n        Match = \"client_mac\",\n        OrgId = terraformTest.Id,\n        Values = new[]\n        {\n            \"5c5b35*\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewNactag(ctx, \"tag_one\", \u0026org.NactagArgs{\n\t\t\tName:  pulumi.String(\"tag_one\"),\n\t\t\tType:  pulumi.String(\"match\"),\n\t\t\tMatch: pulumi.String(\"client_mac\"),\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"5c5b35*\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_nactag\" \"tag_one\" {\n  name   = \"tag_one\"\n  type   = \"match\"\n  match  = \"client_mac\"\n  org_id = terraformTest.id\n  values = [\"5c5b35*\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Nactag;\nimport com.pulumi.junipermist.org.NactagArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var tagOne = new Nactag(\"tagOne\", NactagArgs.builder()\n            .name(\"tag_one\")\n            .type(\"match\")\n            .match(\"client_mac\")\n            .orgId(terraformTest.id())\n            .values(\"5c5b35*\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tagOne:\n    type: junipermist:org:Nactag\n    name: tag_one\n    properties:\n      name: tag_one\n      type: match\n      match: client_mac\n      orgId: ${terraformTest.id}\n      values:\n        - 5c5b35*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Nactag`\" pulumi-lang-dotnet=\"`junipermist.org.Nactag`\" pulumi-lang-go=\"`org.Nactag`\" pulumi-lang-python=\"`org.Nactag`\" pulumi-lang-yaml=\"`junipermist.org.Nactag`\" pulumi-lang-java=\"`junipermist.org.Nactag`\" pulumi-lang-hcl=\"`mist_org_nactag`\"\u003e`junipermist.org.Nactag`\u003c/span\u003e with:\nNAC Tag can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" nactagId\n\" pulumi-lang-dotnet=\" NactagId\n\" pulumi-lang-go=\" nactagId\n\" pulumi-lang-python=\" nactag_id\n\" pulumi-lang-yaml=\" nactagId\n\" pulumi-lang-java=\" nactagId\n\" pulumi-lang-hcl=\" nactag_id\n\"\u003e nactagId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/nactag:Nactag nactag_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "allowUsermacOverride": {
                    "type": "boolean",
                    "description": "Whether usermac result values can override this NAC tag when the result type is also supported by usermac"
                },
                "egressVlanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`egressVlanNames`\" pulumi-lang-dotnet=\"`EgressVlanNames`\" pulumi-lang-go=\"`egressVlanNames`\" pulumi-lang-python=\"`egress_vlan_names`\" pulumi-lang-yaml=\"`egressVlanNames`\" pulumi-lang-java=\"`egressVlanNames`\" pulumi-lang-hcl=\"`egress_vlan_names`\"\u003e`egressVlanNames`\u003c/span\u003e, list of egress VLAN names returned by the NAC rule"
                },
                "gbpTag": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gbpTag`\" pulumi-lang-dotnet=\"`GbpTag`\" pulumi-lang-go=\"`gbpTag`\" pulumi-lang-python=\"`gbp_tag`\" pulumi-lang-yaml=\"`gbpTag`\" pulumi-lang-java=\"`gbpTag`\" pulumi-lang-hcl=\"`gbp_tag`\"\u003e`gbpTag`\u003c/span\u003e, GBP tag value returned by the NAC rule"
                },
                "match": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e, client or authentication attribute used for rule matching"
                },
                "matchAll": {
                    "type": "boolean",
                    "description": "This field is applicable only when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: means it is sufficient to match any of the values (i.e., match-any behavior)\n  * \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: means all values should be matched (i.e., match-all behavior)\n\n\nCurrently it makes sense to set this field to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e only if the \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`idpRole`\" pulumi-lang-dotnet=\"`IdpRole`\" pulumi-lang-go=\"`idpRole`\" pulumi-lang-python=\"`idp_role`\" pulumi-lang-yaml=\"`idpRole`\" pulumi-lang-java=\"`idpRole`\" pulumi-lang-hcl=\"`idp_role`\"\u003e`idpRole`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`usermacLabel`\" pulumi-lang-dotnet=\"`UsermacLabel`\" pulumi-lang-go=\"`usermacLabel`\" pulumi-lang-python=\"`usermac_label`\" pulumi-lang-yaml=\"`usermacLabel`\" pulumi-lang-java=\"`usermacLabel`\" pulumi-lang-hcl=\"`usermac_label`\"\u003e`usermacLabel`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`edrStatus`\" pulumi-lang-dotnet=\"`EdrStatus`\" pulumi-lang-go=\"`edrStatus`\" pulumi-lang-python=\"`edr_status`\" pulumi-lang-yaml=\"`edrStatus`\" pulumi-lang-java=\"`edrStatus`\" pulumi-lang-hcl=\"`edr_status`\"\u003e`edrStatus`\u003c/span\u003e"
                },
                "nacportalId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`redirectNacportalId`\" pulumi-lang-dotnet=\"`RedirectNacportalId`\" pulumi-lang-go=\"`redirectNacportalId`\" pulumi-lang-python=\"`redirect_nacportal_id`\" pulumi-lang-yaml=\"`redirectNacportalId`\" pulumi-lang-java=\"`redirectNacportalId`\" pulumi-lang-hcl=\"`redirect_nacportal_id`\"\u003e`redirectNacportalId`\u003c/span\u003e, NAC portal ID used for client redirection"
                },
                "name": {
                    "type": "string",
                    "description": "Human-readable name of the NAC tag"
                },
                "orgId": {
                    "type": "string",
                    "description": "Org identifier that owns the NAC tag"
                },
                "radiusAttrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusAttrs`\" pulumi-lang-dotnet=\"`RadiusAttrs`\" pulumi-lang-go=\"`radiusAttrs`\" pulumi-lang-python=\"`radius_attrs`\" pulumi-lang-yaml=\"`radiusAttrs`\" pulumi-lang-java=\"`radiusAttrs`\" pulumi-lang-hcl=\"`radius_attrs`\"\u003e`radiusAttrs`\u003c/span\u003e, standard RADIUS attributes returned by the NAC rule"
                },
                "radiusGroup": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e, RADIUS group value returned by the NAC rule"
                },
                "radiusVendorAttrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusVendorAttrs`\" pulumi-lang-dotnet=\"`RadiusVendorAttrs`\" pulumi-lang-go=\"`radiusVendorAttrs`\" pulumi-lang-python=\"`radius_vendor_attrs`\" pulumi-lang-yaml=\"`radiusVendorAttrs`\" pulumi-lang-java=\"`radiusVendorAttrs`\" pulumi-lang-hcl=\"`radius_vendor_attrs`\"\u003e`radiusVendorAttrs`\u003c/span\u003e, vendor-specific RADIUS attributes returned by the NAC rule"
                },
                "sessionTimeout": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sessionTimeout`\" pulumi-lang-dotnet=\"`SessionTimeout`\" pulumi-lang-go=\"`sessionTimeout`\" pulumi-lang-python=\"`session_timeout`\" pulumi-lang-yaml=\"`sessionTimeout`\" pulumi-lang-java=\"`sessionTimeout`\" pulumi-lang-hcl=\"`session_timeout`\"\u003e`sessionTimeout`\u003c/span\u003e, session timeout returned by the NAC rule, in seconds"
                },
                "type": {
                    "type": "string",
                    "description": "NAC tag type that determines whether the tag is a matcher or a result attribute"
                },
                "usernameAttr": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`usernameAttr`\" pulumi-lang-dotnet=\"`UsernameAttr`\" pulumi-lang-go=\"`usernameAttr`\" pulumi-lang-python=\"`username_attr`\" pulumi-lang-yaml=\"`usernameAttr`\" pulumi-lang-java=\"`usernameAttr`\" pulumi-lang-hcl=\"`username_attr`\"\u003e`usernameAttr`\u003c/span\u003e, attribute used to derive the username returned by the NAC rule"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e, attribute values used by the NAC tag matcher"
                },
                "vlan": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e, VLAN name or ID returned by the NAC rule"
                }
            },
            "required": [
                "name",
                "orgId",
                "type"
            ],
            "inputProperties": {
                "allowUsermacOverride": {
                    "type": "boolean",
                    "description": "Whether usermac result values can override this NAC tag when the result type is also supported by usermac"
                },
                "egressVlanNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`egressVlanNames`\" pulumi-lang-dotnet=\"`EgressVlanNames`\" pulumi-lang-go=\"`egressVlanNames`\" pulumi-lang-python=\"`egress_vlan_names`\" pulumi-lang-yaml=\"`egressVlanNames`\" pulumi-lang-java=\"`egressVlanNames`\" pulumi-lang-hcl=\"`egress_vlan_names`\"\u003e`egressVlanNames`\u003c/span\u003e, list of egress VLAN names returned by the NAC rule"
                },
                "gbpTag": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gbpTag`\" pulumi-lang-dotnet=\"`GbpTag`\" pulumi-lang-go=\"`gbpTag`\" pulumi-lang-python=\"`gbp_tag`\" pulumi-lang-yaml=\"`gbpTag`\" pulumi-lang-java=\"`gbpTag`\" pulumi-lang-hcl=\"`gbp_tag`\"\u003e`gbpTag`\u003c/span\u003e, GBP tag value returned by the NAC rule"
                },
                "match": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e, client or authentication attribute used for rule matching"
                },
                "matchAll": {
                    "type": "boolean",
                    "description": "This field is applicable only when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: means it is sufficient to match any of the values (i.e., match-any behavior)\n  * \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: means all values should be matched (i.e., match-all behavior)\n\n\nCurrently it makes sense to set this field to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e only if the \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`idpRole`\" pulumi-lang-dotnet=\"`IdpRole`\" pulumi-lang-go=\"`idpRole`\" pulumi-lang-python=\"`idp_role`\" pulumi-lang-yaml=\"`idpRole`\" pulumi-lang-java=\"`idpRole`\" pulumi-lang-hcl=\"`idp_role`\"\u003e`idpRole`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`usermacLabel`\" pulumi-lang-dotnet=\"`UsermacLabel`\" pulumi-lang-go=\"`usermacLabel`\" pulumi-lang-python=\"`usermac_label`\" pulumi-lang-yaml=\"`usermacLabel`\" pulumi-lang-java=\"`usermacLabel`\" pulumi-lang-hcl=\"`usermac_label`\"\u003e`usermacLabel`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`edrStatus`\" pulumi-lang-dotnet=\"`EdrStatus`\" pulumi-lang-go=\"`edrStatus`\" pulumi-lang-python=\"`edr_status`\" pulumi-lang-yaml=\"`edrStatus`\" pulumi-lang-java=\"`edrStatus`\" pulumi-lang-hcl=\"`edr_status`\"\u003e`edrStatus`\u003c/span\u003e"
                },
                "nacportalId": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`redirectNacportalId`\" pulumi-lang-dotnet=\"`RedirectNacportalId`\" pulumi-lang-go=\"`redirectNacportalId`\" pulumi-lang-python=\"`redirect_nacportal_id`\" pulumi-lang-yaml=\"`redirectNacportalId`\" pulumi-lang-java=\"`redirectNacportalId`\" pulumi-lang-hcl=\"`redirect_nacportal_id`\"\u003e`redirectNacportalId`\u003c/span\u003e, NAC portal ID used for client redirection"
                },
                "name": {
                    "type": "string",
                    "description": "Human-readable name of the NAC tag"
                },
                "orgId": {
                    "type": "string",
                    "description": "Org identifier that owns the NAC tag"
                },
                "radiusAttrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusAttrs`\" pulumi-lang-dotnet=\"`RadiusAttrs`\" pulumi-lang-go=\"`radiusAttrs`\" pulumi-lang-python=\"`radius_attrs`\" pulumi-lang-yaml=\"`radiusAttrs`\" pulumi-lang-java=\"`radiusAttrs`\" pulumi-lang-hcl=\"`radius_attrs`\"\u003e`radiusAttrs`\u003c/span\u003e, standard RADIUS attributes returned by the NAC rule"
                },
                "radiusGroup": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e, RADIUS group value returned by the NAC rule"
                },
                "radiusVendorAttrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusVendorAttrs`\" pulumi-lang-dotnet=\"`RadiusVendorAttrs`\" pulumi-lang-go=\"`radiusVendorAttrs`\" pulumi-lang-python=\"`radius_vendor_attrs`\" pulumi-lang-yaml=\"`radiusVendorAttrs`\" pulumi-lang-java=\"`radiusVendorAttrs`\" pulumi-lang-hcl=\"`radius_vendor_attrs`\"\u003e`radiusVendorAttrs`\u003c/span\u003e, vendor-specific RADIUS attributes returned by the NAC rule"
                },
                "sessionTimeout": {
                    "type": "integer",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sessionTimeout`\" pulumi-lang-dotnet=\"`SessionTimeout`\" pulumi-lang-go=\"`sessionTimeout`\" pulumi-lang-python=\"`session_timeout`\" pulumi-lang-yaml=\"`sessionTimeout`\" pulumi-lang-java=\"`sessionTimeout`\" pulumi-lang-hcl=\"`session_timeout`\"\u003e`sessionTimeout`\u003c/span\u003e, session timeout returned by the NAC rule, in seconds"
                },
                "type": {
                    "type": "string",
                    "description": "NAC tag type that determines whether the tag is a matcher or a result attribute"
                },
                "usernameAttr": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`usernameAttr`\" pulumi-lang-dotnet=\"`UsernameAttr`\" pulumi-lang-go=\"`usernameAttr`\" pulumi-lang-python=\"`username_attr`\" pulumi-lang-yaml=\"`usernameAttr`\" pulumi-lang-java=\"`usernameAttr`\" pulumi-lang-hcl=\"`username_attr`\"\u003e`usernameAttr`\u003c/span\u003e, attribute used to derive the username returned by the NAC rule"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e, attribute values used by the NAC tag matcher"
                },
                "vlan": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e, VLAN name or ID returned by the NAC rule"
                }
            },
            "requiredInputs": [
                "orgId",
                "type"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Nactag resources.\n",
                "properties": {
                    "allowUsermacOverride": {
                        "type": "boolean",
                        "description": "Whether usermac result values can override this NAC tag when the result type is also supported by usermac"
                    },
                    "egressVlanNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`egressVlanNames`\" pulumi-lang-dotnet=\"`EgressVlanNames`\" pulumi-lang-go=\"`egressVlanNames`\" pulumi-lang-python=\"`egress_vlan_names`\" pulumi-lang-yaml=\"`egressVlanNames`\" pulumi-lang-java=\"`egressVlanNames`\" pulumi-lang-hcl=\"`egress_vlan_names`\"\u003e`egressVlanNames`\u003c/span\u003e, list of egress VLAN names returned by the NAC rule"
                    },
                    "gbpTag": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`gbpTag`\" pulumi-lang-dotnet=\"`GbpTag`\" pulumi-lang-go=\"`gbpTag`\" pulumi-lang-python=\"`gbp_tag`\" pulumi-lang-yaml=\"`gbpTag`\" pulumi-lang-java=\"`gbpTag`\" pulumi-lang-hcl=\"`gbp_tag`\"\u003e`gbpTag`\u003c/span\u003e, GBP tag value returned by the NAC rule"
                    },
                    "match": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e, client or authentication attribute used for rule matching"
                    },
                    "matchAll": {
                        "type": "boolean",
                        "description": "This field is applicable only when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e: means it is sufficient to match any of the values (i.e., match-any behavior)\n  * \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e: means all values should be matched (i.e., match-all behavior)\n\n\nCurrently it makes sense to set this field to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e only if the \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`idpRole`\" pulumi-lang-dotnet=\"`IdpRole`\" pulumi-lang-go=\"`idpRole`\" pulumi-lang-python=\"`idp_role`\" pulumi-lang-yaml=\"`idpRole`\" pulumi-lang-java=\"`idpRole`\" pulumi-lang-hcl=\"`idp_role`\"\u003e`idpRole`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`usermacLabel`\" pulumi-lang-dotnet=\"`UsermacLabel`\" pulumi-lang-go=\"`usermacLabel`\" pulumi-lang-python=\"`usermac_label`\" pulumi-lang-yaml=\"`usermacLabel`\" pulumi-lang-java=\"`usermacLabel`\" pulumi-lang-hcl=\"`usermac_label`\"\u003e`usermacLabel`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`edrStatus`\" pulumi-lang-dotnet=\"`EdrStatus`\" pulumi-lang-go=\"`edrStatus`\" pulumi-lang-python=\"`edr_status`\" pulumi-lang-yaml=\"`edrStatus`\" pulumi-lang-java=\"`edrStatus`\" pulumi-lang-hcl=\"`edr_status`\"\u003e`edrStatus`\u003c/span\u003e"
                    },
                    "nacportalId": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`redirectNacportalId`\" pulumi-lang-dotnet=\"`RedirectNacportalId`\" pulumi-lang-go=\"`redirectNacportalId`\" pulumi-lang-python=\"`redirect_nacportal_id`\" pulumi-lang-yaml=\"`redirectNacportalId`\" pulumi-lang-java=\"`redirectNacportalId`\" pulumi-lang-hcl=\"`redirect_nacportal_id`\"\u003e`redirectNacportalId`\u003c/span\u003e, NAC portal ID used for client redirection"
                    },
                    "name": {
                        "type": "string",
                        "description": "Human-readable name of the NAC tag"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Org identifier that owns the NAC tag"
                    },
                    "radiusAttrs": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusAttrs`\" pulumi-lang-dotnet=\"`RadiusAttrs`\" pulumi-lang-go=\"`radiusAttrs`\" pulumi-lang-python=\"`radius_attrs`\" pulumi-lang-yaml=\"`radiusAttrs`\" pulumi-lang-java=\"`radiusAttrs`\" pulumi-lang-hcl=\"`radius_attrs`\"\u003e`radiusAttrs`\u003c/span\u003e, standard RADIUS attributes returned by the NAC rule"
                    },
                    "radiusGroup": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusGroup`\" pulumi-lang-dotnet=\"`RadiusGroup`\" pulumi-lang-go=\"`radiusGroup`\" pulumi-lang-python=\"`radius_group`\" pulumi-lang-yaml=\"`radiusGroup`\" pulumi-lang-java=\"`radiusGroup`\" pulumi-lang-hcl=\"`radius_group`\"\u003e`radiusGroup`\u003c/span\u003e, RADIUS group value returned by the NAC rule"
                    },
                    "radiusVendorAttrs": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`radiusVendorAttrs`\" pulumi-lang-dotnet=\"`RadiusVendorAttrs`\" pulumi-lang-go=\"`radiusVendorAttrs`\" pulumi-lang-python=\"`radius_vendor_attrs`\" pulumi-lang-yaml=\"`radiusVendorAttrs`\" pulumi-lang-java=\"`radiusVendorAttrs`\" pulumi-lang-hcl=\"`radius_vendor_attrs`\"\u003e`radiusVendorAttrs`\u003c/span\u003e, vendor-specific RADIUS attributes returned by the NAC rule"
                    },
                    "sessionTimeout": {
                        "type": "integer",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`sessionTimeout`\" pulumi-lang-dotnet=\"`SessionTimeout`\" pulumi-lang-go=\"`sessionTimeout`\" pulumi-lang-python=\"`session_timeout`\" pulumi-lang-yaml=\"`sessionTimeout`\" pulumi-lang-java=\"`sessionTimeout`\" pulumi-lang-hcl=\"`session_timeout`\"\u003e`sessionTimeout`\u003c/span\u003e, session timeout returned by the NAC rule, in seconds"
                    },
                    "type": {
                        "type": "string",
                        "description": "NAC tag type that determines whether the tag is a matcher or a result attribute"
                    },
                    "usernameAttr": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`usernameAttr`\" pulumi-lang-dotnet=\"`UsernameAttr`\" pulumi-lang-go=\"`usernameAttr`\" pulumi-lang-python=\"`username_attr`\" pulumi-lang-yaml=\"`usernameAttr`\" pulumi-lang-java=\"`usernameAttr`\" pulumi-lang-hcl=\"`username_attr`\"\u003e`usernameAttr`\u003c/span\u003e, attribute used to derive the username returned by the NAC rule"
                    },
                    "values": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e, attribute values used by the NAC tag matcher"
                    },
                    "vlan": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e, VLAN name or ID returned by the NAC rule"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/network:Network": {
            "description": "This resource manages the WAN Assurance Networks.\n\nThe Networks are used in the \u003cspan pulumi-lang-nodejs=\"`servicePolicies`\" pulumi-lang-dotnet=\"`ServicePolicies`\" pulumi-lang-go=\"`servicePolicies`\" pulumi-lang-python=\"`service_policies`\" pulumi-lang-yaml=\"`servicePolicies`\" pulumi-lang-java=\"`servicePolicies`\" pulumi-lang-hcl=\"`service_policies`\"\u003e`servicePolicies`\u003c/span\u003e from the Gateway configuration, Gateway templates or HUB Profiles\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst networkOne = new junipermist.org.Network(\"network_one\", {\n    orgId: terraformTest.id,\n    name: \"network_one\",\n    subnet: \"10.4.0.0/24\",\n    disallowMistServices: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nnetwork_one = junipermist.org.Network(\"network_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"network_one\",\n    subnet=\"10.4.0.0/24\",\n    disallow_mist_services=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var networkOne = new JuniperMist.Org.Network(\"network_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"network_one\",\n        Subnet = \"10.4.0.0/24\",\n        DisallowMistServices = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewNetwork(ctx, \"network_one\", \u0026org.NetworkArgs{\n\t\t\tOrgId:                pulumi.Any(terraformTest.Id),\n\t\t\tName:                 pulumi.String(\"network_one\"),\n\t\t\tSubnet:               pulumi.String(\"10.4.0.0/24\"),\n\t\t\tDisallowMistServices: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_network\" \"network_one\" {\n  org_id                 = terraformTest.id\n  name                   = \"network_one\"\n  subnet                 = \"10.4.0.0/24\"\n  disallow_mist_services = false\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Network;\nimport com.pulumi.junipermist.org.NetworkArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var networkOne = new Network(\"networkOne\", NetworkArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"network_one\")\n            .subnet(\"10.4.0.0/24\")\n            .disallowMistServices(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  networkOne:\n    type: junipermist:org:Network\n    name: network_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: network_one\n      subnet: 10.4.0.0/24\n      disallowMistServices: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Network`\" pulumi-lang-dotnet=\"`junipermist.org.Network`\" pulumi-lang-go=\"`org.Network`\" pulumi-lang-python=\"`org.Network`\" pulumi-lang-yaml=\"`junipermist.org.Network`\" pulumi-lang-java=\"`junipermist.org.Network`\" pulumi-lang-hcl=\"`mist_org_network`\"\u003e`junipermist.org.Network`\u003c/span\u003e with:\nOrg Network can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" networkId\n\" pulumi-lang-dotnet=\" NetworkId\n\" pulumi-lang-go=\" networkId\n\" pulumi-lang-python=\" network_id\n\" pulumi-lang-yaml=\" networkId\n\" pulumi-lang-java=\" networkId\n\" pulumi-lang-hcl=\" network_id\n\"\u003e networkId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/network:Network network_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "disallowMistServices": {
                    "type": "boolean",
                    "description": "Whether to disallow Mist Devices in the network\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "IPv4 gateway address for this network\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "IPv6 gateway address for this network\n"
                },
                "internalAccess": {
                    "$ref": "#/types/junipermist:org/NetworkInternalAccess:NetworkInternalAccess",
                    "description": "Internal access settings for this network\n"
                },
                "internetAccess": {
                    "$ref": "#/types/junipermist:org/NetworkInternetAccess:NetworkInternetAccess",
                    "description": "Direct internet access and NAT settings for this network\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to allow clients in the network to talk to each other\n"
                },
                "multicast": {
                    "$ref": "#/types/junipermist:org/NetworkMulticast:NetworkMulticast",
                    "description": "Settings for multicast routing on this network\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the organization network\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this network\n"
                },
                "routedForNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Other network names this network can route to, for example through BGP, OSPF or static routes\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "IPv4 subnet CIDR for this network\n"
                },
                "subnet6": {
                    "type": "string",
                    "description": "IPv6 subnet CIDR for this network\n"
                },
                "tenants": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworkTenants:NetworkTenants"
                    },
                    "description": "Tenant address mappings associated with this network\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID or variable associated with this network\n"
                },
                "vpnAccess": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworkVpnAccess:NetworkVpnAccess"
                    },
                    "description": "VPN access settings keyed by VPN name for this network\n"
                }
            },
            "required": [
                "disallowMistServices",
                "name",
                "orgId",
                "routedForNetworks",
                "subnet"
            ],
            "inputProperties": {
                "disallowMistServices": {
                    "type": "boolean",
                    "description": "Whether to disallow Mist Devices in the network\n"
                },
                "gateway": {
                    "type": "string",
                    "description": "IPv4 gateway address for this network\n"
                },
                "gateway6": {
                    "type": "string",
                    "description": "IPv6 gateway address for this network\n"
                },
                "internalAccess": {
                    "$ref": "#/types/junipermist:org/NetworkInternalAccess:NetworkInternalAccess",
                    "description": "Internal access settings for this network\n"
                },
                "internetAccess": {
                    "$ref": "#/types/junipermist:org/NetworkInternetAccess:NetworkInternetAccess",
                    "description": "Direct internet access and NAT settings for this network\n"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to allow clients in the network to talk to each other\n"
                },
                "multicast": {
                    "$ref": "#/types/junipermist:org/NetworkMulticast:NetworkMulticast",
                    "description": "Settings for multicast routing on this network\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the organization network\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this network\n"
                },
                "routedForNetworks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Other network names this network can route to, for example through BGP, OSPF or static routes\n"
                },
                "subnet": {
                    "type": "string",
                    "description": "IPv4 subnet CIDR for this network\n"
                },
                "subnet6": {
                    "type": "string",
                    "description": "IPv6 subnet CIDR for this network\n"
                },
                "tenants": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworkTenants:NetworkTenants"
                    },
                    "description": "Tenant address mappings associated with this network\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID or variable associated with this network\n"
                },
                "vpnAccess": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworkVpnAccess:NetworkVpnAccess"
                    },
                    "description": "VPN access settings keyed by VPN name for this network\n"
                }
            },
            "requiredInputs": [
                "orgId",
                "subnet"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Network resources.\n",
                "properties": {
                    "disallowMistServices": {
                        "type": "boolean",
                        "description": "Whether to disallow Mist Devices in the network\n"
                    },
                    "gateway": {
                        "type": "string",
                        "description": "IPv4 gateway address for this network\n"
                    },
                    "gateway6": {
                        "type": "string",
                        "description": "IPv6 gateway address for this network\n"
                    },
                    "internalAccess": {
                        "$ref": "#/types/junipermist:org/NetworkInternalAccess:NetworkInternalAccess",
                        "description": "Internal access settings for this network\n"
                    },
                    "internetAccess": {
                        "$ref": "#/types/junipermist:org/NetworkInternetAccess:NetworkInternetAccess",
                        "description": "Direct internet access and NAT settings for this network\n"
                    },
                    "isolation": {
                        "type": "boolean",
                        "description": "Whether to allow clients in the network to talk to each other\n"
                    },
                    "multicast": {
                        "$ref": "#/types/junipermist:org/NetworkMulticast:NetworkMulticast",
                        "description": "Settings for multicast routing on this network\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the organization network\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this network\n"
                    },
                    "routedForNetworks": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Other network names this network can route to, for example through BGP, OSPF or static routes\n"
                    },
                    "subnet": {
                        "type": "string",
                        "description": "IPv4 subnet CIDR for this network\n"
                    },
                    "subnet6": {
                        "type": "string",
                        "description": "IPv6 subnet CIDR for this network\n"
                    },
                    "tenants": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworkTenants:NetworkTenants"
                        },
                        "description": "Tenant address mappings associated with this network\n"
                    },
                    "vlanId": {
                        "type": "string",
                        "description": "VLAN ID or variable associated with this network\n"
                    },
                    "vpnAccess": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworkVpnAccess:NetworkVpnAccess"
                        },
                        "description": "VPN access settings keyed by VPN name for this network\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/networktemplate:Networktemplate": {
            "description": "This resource managed the Org Network Templates (Switch templates).\n\nA network template is a predefined configuration that provides a consistent and reusable set of network settings for devices within an organization. It includes various parameters such as ip addressing, vlan configurations, routing protocols, security policies, and other network-specific settings.  \nNetwork templates simplify the deployment and management of switches by ensuring consistent configurations across multiple devices and sites. They help enforce standardization, reduce human error, and streamline troubleshooting and maintenance tasks.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst networktemplateOne = new junipermist.org.Networktemplate(\"networktemplate_one\", {\n    name: \"networktemplate_one\",\n    orgId: terraformTest.id,\n    dnsServers: [\n        \"8.8.8.8\",\n        \"1.1.1.1\",\n    ],\n    dnsSuffixes: [\"mycorp.com\"],\n    ntpServers: [\"pool.ntp.org\"],\n    additionalConfigCmds: [\n        \"set system hostname test\",\n        \"set system services ssh root-login allow\",\n    ],\n    networks: {\n        network_one: {\n            vlanId: \"10\",\n        },\n        network_two: {\n            vlanId: \"11\",\n        },\n    },\n    portUsages: {\n        trunk: {\n            allNetworks: true,\n            enableQos: true,\n            mode: \"port_usage_one\",\n            portNetwork: \"network_one\",\n        },\n    },\n    radiusConfig: {\n        acctInterimInterval: 60,\n        coaEnabled: true,\n        network: \"network_one\",\n        acctServers: [{\n            host: \"1.2.3.4\",\n            secret: \"secret\",\n        }],\n        authServers: [{\n            host: \"1.2.3.4\",\n            secret: \"secret\",\n        }],\n    },\n    switchMatching: {\n        enable: true,\n        rules: [{\n            name: \"switch_rule_one\",\n            matchName: \"corp\",\n            matchNameOffset: 3,\n            matchRole: \"core\",\n            portConfig: {\n                \"ge-0/0/0-10\": {\n                    usage: \"port_usage_one\",\n                },\n            },\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nnetworktemplate_one = junipermist.org.Networktemplate(\"networktemplate_one\",\n    name=\"networktemplate_one\",\n    org_id=terraform_test[\"id\"],\n    dns_servers=[\n        \"8.8.8.8\",\n        \"1.1.1.1\",\n    ],\n    dns_suffixes=[\"mycorp.com\"],\n    ntp_servers=[\"pool.ntp.org\"],\n    additional_config_cmds=[\n        \"set system hostname test\",\n        \"set system services ssh root-login allow\",\n    ],\n    networks={\n        \"network_one\": {\n            \"vlan_id\": \"10\",\n        },\n        \"network_two\": {\n            \"vlan_id\": \"11\",\n        },\n    },\n    port_usages={\n        \"trunk\": {\n            \"all_networks\": True,\n            \"enable_qos\": True,\n            \"mode\": \"port_usage_one\",\n            \"port_network\": \"network_one\",\n        },\n    },\n    radius_config={\n        \"acct_interim_interval\": 60,\n        \"coa_enabled\": True,\n        \"network\": \"network_one\",\n        \"acct_servers\": [{\n            \"host\": \"1.2.3.4\",\n            \"secret\": \"secret\",\n        }],\n        \"auth_servers\": [{\n            \"host\": \"1.2.3.4\",\n            \"secret\": \"secret\",\n        }],\n    },\n    switch_matching={\n        \"enable\": True,\n        \"rules\": [{\n            \"name\": \"switch_rule_one\",\n            \"match_name\": \"corp\",\n            \"match_name_offset\": 3,\n            \"match_role\": \"core\",\n            \"port_config\": {\n                \"ge-0/0/0-10\": {\n                    \"usage\": \"port_usage_one\",\n                },\n            },\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var networktemplateOne = new JuniperMist.Org.Networktemplate(\"networktemplate_one\", new()\n    {\n        Name = \"networktemplate_one\",\n        OrgId = terraformTest.Id,\n        DnsServers = new[]\n        {\n            \"8.8.8.8\",\n            \"1.1.1.1\",\n        },\n        DnsSuffixes = new[]\n        {\n            \"mycorp.com\",\n        },\n        NtpServers = new[]\n        {\n            \"pool.ntp.org\",\n        },\n        AdditionalConfigCmds = new[]\n        {\n            \"set system hostname test\",\n            \"set system services ssh root-login allow\",\n        },\n        Networks = \n        {\n            { \"network_one\", new JuniperMist.Org.Inputs.NetworktemplateNetworksArgs\n            {\n                VlanId = \"10\",\n            } },\n            { \"network_two\", new JuniperMist.Org.Inputs.NetworktemplateNetworksArgs\n            {\n                VlanId = \"11\",\n            } },\n        },\n        PortUsages = \n        {\n            { \"trunk\", new JuniperMist.Org.Inputs.NetworktemplatePortUsagesArgs\n            {\n                AllNetworks = true,\n                EnableQos = true,\n                Mode = \"port_usage_one\",\n                PortNetwork = \"network_one\",\n            } },\n        },\n        RadiusConfig = new JuniperMist.Org.Inputs.NetworktemplateRadiusConfigArgs\n        {\n            AcctInterimInterval = 60,\n            CoaEnabled = true,\n            Network = \"network_one\",\n            AcctServers = new[]\n            {\n                new JuniperMist.Org.Inputs.NetworktemplateRadiusConfigAcctServerArgs\n                {\n                    Host = \"1.2.3.4\",\n                    Secret = \"secret\",\n                },\n            },\n            AuthServers = new[]\n            {\n                new JuniperMist.Org.Inputs.NetworktemplateRadiusConfigAuthServerArgs\n                {\n                    Host = \"1.2.3.4\",\n                    Secret = \"secret\",\n                },\n            },\n        },\n        SwitchMatching = new JuniperMist.Org.Inputs.NetworktemplateSwitchMatchingArgs\n        {\n            Enable = true,\n            Rules = new[]\n            {\n                new JuniperMist.Org.Inputs.NetworktemplateSwitchMatchingRuleArgs\n                {\n                    Name = \"switch_rule_one\",\n                    MatchName = \"corp\",\n                    MatchNameOffset = 3,\n                    MatchRole = \"core\",\n                    PortConfig = \n                    {\n                        { \"ge-0/0/0-10\", new JuniperMist.Org.Inputs.NetworktemplateSwitchMatchingRulePortConfigArgs\n                        {\n                            Usage = \"port_usage_one\",\n                        } },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewNetworktemplate(ctx, \"networktemplate_one\", \u0026org.NetworktemplateArgs{\n\t\t\tName:  pulumi.String(\"networktemplate_one\"),\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tDnsSuffixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mycorp.com\"),\n\t\t\t},\n\t\t\tNtpServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"pool.ntp.org\"),\n\t\t\t},\n\t\t\tAdditionalConfigCmds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"set system hostname test\"),\n\t\t\t\tpulumi.String(\"set system services ssh root-login allow\"),\n\t\t\t},\n\t\t\tNetworks: org.NetworktemplateNetworksMap{\n\t\t\t\t\"network_one\": \u0026org.NetworktemplateNetworksArgs{\n\t\t\t\t\tVlanId: pulumi.String(\"10\"),\n\t\t\t\t},\n\t\t\t\t\"network_two\": \u0026org.NetworktemplateNetworksArgs{\n\t\t\t\t\tVlanId: pulumi.String(\"11\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPortUsages: org.NetworktemplatePortUsagesMap{\n\t\t\t\t\"trunk\": \u0026org.NetworktemplatePortUsagesArgs{\n\t\t\t\t\tAllNetworks: pulumi.Bool(true),\n\t\t\t\t\tEnableQos:   pulumi.Bool(true),\n\t\t\t\t\tMode:        pulumi.String(\"port_usage_one\"),\n\t\t\t\t\tPortNetwork: pulumi.String(\"network_one\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRadiusConfig: \u0026org.NetworktemplateRadiusConfigArgs{\n\t\t\t\tAcctInterimInterval: pulumi.Int(60),\n\t\t\t\tCoaEnabled:          pulumi.Bool(true),\n\t\t\t\tNetwork:             pulumi.String(\"network_one\"),\n\t\t\t\tAcctServers: org.NetworktemplateRadiusConfigAcctServerArray{\n\t\t\t\t\t\u0026org.NetworktemplateRadiusConfigAcctServerArgs{\n\t\t\t\t\t\tHost:   pulumi.String(\"1.2.3.4\"),\n\t\t\t\t\t\tSecret: pulumi.String(\"secret\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAuthServers: org.NetworktemplateRadiusConfigAuthServerArray{\n\t\t\t\t\t\u0026org.NetworktemplateRadiusConfigAuthServerArgs{\n\t\t\t\t\t\tHost:   pulumi.String(\"1.2.3.4\"),\n\t\t\t\t\t\tSecret: pulumi.String(\"secret\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSwitchMatching: \u0026org.NetworktemplateSwitchMatchingArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tRules: org.NetworktemplateSwitchMatchingRuleArray{\n\t\t\t\t\t\u0026org.NetworktemplateSwitchMatchingRuleArgs{\n\t\t\t\t\t\tName:            pulumi.String(\"switch_rule_one\"),\n\t\t\t\t\t\tMatchName:       pulumi.String(\"corp\"),\n\t\t\t\t\t\tMatchNameOffset: pulumi.Int(3),\n\t\t\t\t\t\tMatchRole:       pulumi.String(\"core\"),\n\t\t\t\t\t\tPortConfig: org.NetworktemplateSwitchMatchingRulePortConfigMap{\n\t\t\t\t\t\t\t\"ge-0/0/0-10\": \u0026org.NetworktemplateSwitchMatchingRulePortConfigArgs{\n\t\t\t\t\t\t\t\tUsage: pulumi.String(\"port_usage_one\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_networktemplate\" \"networktemplate_one\" {\n  name                   = \"networktemplate_one\"\n  org_id                 = terraformTest.id\n  dns_servers            = [\"8.8.8.8\", \"1.1.1.1\"]\n  dns_suffixes           = [\"mycorp.com\"]\n  ntp_servers            = [\"pool.ntp.org\"]\n  additional_config_cmds = [\"set system hostname test\", \"set system services ssh root-login allow\"]\n  networks = {\n    \"network_one\" = {\n      vlan_id = 10\n    }\n    \"network_two\" = {\n      vlan_id = 11\n    }\n  }\n  port_usages = {\n    \"trunk\" = {\n      all_networks = true\n      enable_qos   = true\n      mode         = \"port_usage_one\"\n      port_network = \"network_one\"\n    }\n  }\n  radius_config = {\n    acct_interim_interval = 60\n    coa_enabled           = true\n    network               = \"network_one\"\n    acct_servers = [{\n      \"host\"   = \"1.2.3.4\"\n      \"secret\" = \"secret\"\n    }]\n    auth_servers = [{\n      \"host\"   = \"1.2.3.4\"\n      \"secret\" = \"secret\"\n    }]\n  }\n  switch_matching = {\n    enable = true\n    rules = [{\n      \"name\"            = \"switch_rule_one\"\n      \"matchName\"       = \"corp\"\n      \"matchNameOffset\" = 3\n      \"matchRole\"       = \"core\"\n      \"portConfig\" = {\n        \"ge-0/0/0-10\" = {\n          \"usage\" = \"port_usage_one\"\n        }\n      }\n    }]\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Networktemplate;\nimport com.pulumi.junipermist.org.NetworktemplateArgs;\nimport com.pulumi.junipermist.org.inputs.NetworktemplateNetworksArgs;\nimport com.pulumi.junipermist.org.inputs.NetworktemplatePortUsagesArgs;\nimport com.pulumi.junipermist.org.inputs.NetworktemplateRadiusConfigArgs;\nimport com.pulumi.junipermist.org.inputs.NetworktemplateRadiusConfigAcctServerArgs;\nimport com.pulumi.junipermist.org.inputs.NetworktemplateRadiusConfigAuthServerArgs;\nimport com.pulumi.junipermist.org.inputs.NetworktemplateSwitchMatchingArgs;\nimport com.pulumi.junipermist.org.inputs.NetworktemplateSwitchMatchingRuleArgs;\nimport com.pulumi.junipermist.org.inputs.NetworktemplateSwitchMatchingRulePortConfigArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var networktemplateOne = new Networktemplate(\"networktemplateOne\", NetworktemplateArgs.builder()\n            .name(\"networktemplate_one\")\n            .orgId(terraformTest.id())\n            .dnsServers(            \n                \"8.8.8.8\",\n                \"1.1.1.1\")\n            .dnsSuffixes(\"mycorp.com\")\n            .ntpServers(\"pool.ntp.org\")\n            .additionalConfigCmds(            \n                \"set system hostname test\",\n                \"set system services ssh root-login allow\")\n            .networks(Map.ofEntries(\n                Map.entry(\"network_one\", NetworktemplateNetworksArgs.builder()\n                    .vlanId(\"10\")\n                    .build()),\n                Map.entry(\"network_two\", NetworktemplateNetworksArgs.builder()\n                    .vlanId(\"11\")\n                    .build())\n            ))\n            .portUsages(Map.of(\"trunk\", NetworktemplatePortUsagesArgs.builder()\n                .allNetworks(true)\n                .enableQos(true)\n                .mode(\"port_usage_one\")\n                .portNetwork(\"network_one\")\n                .build()))\n            .radiusConfig(NetworktemplateRadiusConfigArgs.builder()\n                .acctInterimInterval(60)\n                .coaEnabled(true)\n                .network(\"network_one\")\n                .acctServers(NetworktemplateRadiusConfigAcctServerArgs.builder()\n                    .host(\"1.2.3.4\")\n                    .secret(\"secret\")\n                    .build())\n                .authServers(NetworktemplateRadiusConfigAuthServerArgs.builder()\n                    .host(\"1.2.3.4\")\n                    .secret(\"secret\")\n                    .build())\n                .build())\n            .switchMatching(NetworktemplateSwitchMatchingArgs.builder()\n                .enable(true)\n                .rules(NetworktemplateSwitchMatchingRuleArgs.builder()\n                    .name(\"switch_rule_one\")\n                    .matchName(\"corp\")\n                    .matchNameOffset(3)\n                    .matchRole(\"core\")\n                    .portConfig(Map.of(\"ge-0/0/0-10\", NetworktemplateSwitchMatchingRulePortConfigArgs.builder()\n                        .usage(\"port_usage_one\")\n                        .build()))\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  networktemplateOne:\n    type: junipermist:org:Networktemplate\n    name: networktemplate_one\n    properties:\n      name: networktemplate_one\n      orgId: ${terraformTest.id}\n      dnsServers:\n        - 8.8.8.8\n        - 1.1.1.1\n      dnsSuffixes:\n        - mycorp.com\n      ntpServers:\n        - pool.ntp.org\n      additionalConfigCmds:\n        - set system hostname test\n        - set system services ssh root-login allow\n      networks:\n        network_one:\n          vlanId: 10\n        network_two:\n          vlanId: 11\n      portUsages:\n        trunk:\n          allNetworks: true\n          enableQos: true\n          mode: port_usage_one\n          portNetwork: network_one\n      radiusConfig:\n        acctInterimInterval: 60\n        coaEnabled: true\n        network: network_one\n        acctServers:\n          - host: 1.2.3.4\n            secret: secret\n        authServers:\n          - host: 1.2.3.4\n            secret: secret\n      switchMatching:\n        enable: true\n        rules:\n          - name: switch_rule_one\n            matchName: corp\n            matchNameOffset: 3\n            matchRole: core\n            portConfig:\n              ge-0/0/0-10:\n                usage: port_usage_one\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Networktemplate`\" pulumi-lang-dotnet=\"`junipermist.org.Networktemplate`\" pulumi-lang-go=\"`org.Networktemplate`\" pulumi-lang-python=\"`org.Networktemplate`\" pulumi-lang-yaml=\"`junipermist.org.Networktemplate`\" pulumi-lang-java=\"`junipermist.org.Networktemplate`\" pulumi-lang-hcl=\"`mist_org_networktemplate`\"\u003e`junipermist.org.Networktemplate`\u003c/span\u003e with:\nOrg Network Template can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" networktemplateId\n\" pulumi-lang-dotnet=\" NetworktemplateId\n\" pulumi-lang-go=\" networktemplateId\n\" pulumi-lang-python=\" networktemplate_id\n\" pulumi-lang-yaml=\" networktemplateId\n\" pulumi-lang-java=\" networktemplateId\n\" pulumi-lang-hcl=\" networktemplate_id\n\"\u003e networktemplateId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/networktemplate:Networktemplate networktemplate_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "aclPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateAclPolicy:NetworktemplateAclPolicy"
                    },
                    "description": "ACL policy defaults provided by this network template"
                },
                "aclTags": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateAclTags:NetworktemplateAclTags"
                    },
                    "description": "ACL tags available to access policies in this network template"
                },
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands provided by this network template"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateBgpConfig:NetworktemplateBgpConfig"
                    },
                    "description": "BGP routing defaults for this network template. Property key is the BGP session name"
                },
                "dhcpSnooping": {
                    "$ref": "#/types/junipermist:org/NetworktemplateDhcpSnooping:NetworktemplateDhcpSnooping",
                    "description": "DHCP snooping defaults provided by this network template"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers provided by this network template"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes provided by this network template"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateExtraRoutes:NetworktemplateExtraRoutes"
                    },
                    "description": "Additional IPv4 route defaults in this network template"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateExtraRoutes6:NetworktemplateExtraRoutes6"
                    },
                    "description": "Additional IPv6 route defaults in this network template"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/NetworktemplateMistNac:NetworktemplateMistNac",
                    "description": "Mist NAC defaults applied by this network template"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the network template"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateNetworks:NetworktemplateNetworks"
                    },
                    "description": "Layer 3 networks configured by this network template"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers provided by this network template"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this network template"
                },
                "ospfAreas": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateOspfAreas:NetworktemplateOspfAreas"
                    },
                    "description": "OSPF area defaults provided by this network template"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplatePortMirroring:NetworktemplatePortMirroring"
                    },
                    "description": "Port mirroring defaults provided by this network template"
                },
                "portUsages": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplatePortUsages:NetworktemplatePortUsages"
                    },
                    "description": "Reusable switch port usage profiles provided by this network template"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:org/NetworktemplateRadiusConfig:NetworktemplateRadiusConfig",
                    "description": "RADIUS authentication and accounting defaults in this network template"
                },
                "remoteSyslog": {
                    "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslog:NetworktemplateRemoteSyslog",
                    "description": "Remote syslog defaults provided by this network template"
                },
                "removeExistingConfigs": {
                    "type": "boolean",
                    "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed."
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRoutingPolicies:NetworktemplateRoutingPolicies"
                    },
                    "description": "Routing policy defaults applied by this network template"
                },
                "snmpConfig": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfig:NetworktemplateSnmpConfig",
                    "description": "SNMP defaults provided by this network template"
                },
                "switchMatching": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSwitchMatching:NetworktemplateSwitchMatching",
                    "description": "Matching rules that select switches for this network template"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSwitchMgmt:NetworktemplateSwitchMgmt",
                    "description": "Management-plane defaults provided by this network template"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:org/NetworktemplateVrfConfig:NetworktemplateVrfConfig",
                    "description": "VRF defaults applied by this network template"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateVrfInstances:NetworktemplateVrfInstances"
                    },
                    "description": "VRF instances configured by this network template"
                }
            },
            "required": [
                "dnsServers",
                "dnsSuffixes",
                "name",
                "ntpServers",
                "orgId"
            ],
            "inputProperties": {
                "aclPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/NetworktemplateAclPolicy:NetworktemplateAclPolicy"
                    },
                    "description": "ACL policy defaults provided by this network template"
                },
                "aclTags": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateAclTags:NetworktemplateAclTags"
                    },
                    "description": "ACL tags available to access policies in this network template"
                },
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional CLI configuration commands provided by this network template"
                },
                "bgpConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateBgpConfig:NetworktemplateBgpConfig"
                    },
                    "description": "BGP routing defaults for this network template. Property key is the BGP session name"
                },
                "dhcpSnooping": {
                    "$ref": "#/types/junipermist:org/NetworktemplateDhcpSnooping:NetworktemplateDhcpSnooping",
                    "description": "DHCP snooping defaults provided by this network template"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS servers provided by this network template"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "DNS search suffixes provided by this network template"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateExtraRoutes:NetworktemplateExtraRoutes"
                    },
                    "description": "Additional IPv4 route defaults in this network template"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateExtraRoutes6:NetworktemplateExtraRoutes6"
                    },
                    "description": "Additional IPv6 route defaults in this network template"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/NetworktemplateMistNac:NetworktemplateMistNac",
                    "description": "Mist NAC defaults applied by this network template"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the network template"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateNetworks:NetworktemplateNetworks"
                    },
                    "description": "Layer 3 networks configured by this network template"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "NTP servers provided by this network template"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this network template"
                },
                "ospfAreas": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateOspfAreas:NetworktemplateOspfAreas"
                    },
                    "description": "OSPF area defaults provided by this network template"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplatePortMirroring:NetworktemplatePortMirroring"
                    },
                    "description": "Port mirroring defaults provided by this network template"
                },
                "portUsages": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplatePortUsages:NetworktemplatePortUsages"
                    },
                    "description": "Reusable switch port usage profiles provided by this network template"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:org/NetworktemplateRadiusConfig:NetworktemplateRadiusConfig",
                    "description": "RADIUS authentication and accounting defaults in this network template"
                },
                "remoteSyslog": {
                    "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslog:NetworktemplateRemoteSyslog",
                    "description": "Remote syslog defaults provided by this network template"
                },
                "removeExistingConfigs": {
                    "type": "boolean",
                    "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed."
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRoutingPolicies:NetworktemplateRoutingPolicies"
                    },
                    "description": "Routing policy defaults applied by this network template"
                },
                "snmpConfig": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfig:NetworktemplateSnmpConfig",
                    "description": "SNMP defaults provided by this network template"
                },
                "switchMatching": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSwitchMatching:NetworktemplateSwitchMatching",
                    "description": "Matching rules that select switches for this network template"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:org/NetworktemplateSwitchMgmt:NetworktemplateSwitchMgmt",
                    "description": "Management-plane defaults provided by this network template"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:org/NetworktemplateVrfConfig:NetworktemplateVrfConfig",
                    "description": "VRF defaults applied by this network template"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/NetworktemplateVrfInstances:NetworktemplateVrfInstances"
                    },
                    "description": "VRF instances configured by this network template"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Networktemplate resources.\n",
                "properties": {
                    "aclPolicies": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/NetworktemplateAclPolicy:NetworktemplateAclPolicy"
                        },
                        "description": "ACL policy defaults provided by this network template"
                    },
                    "aclTags": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplateAclTags:NetworktemplateAclTags"
                        },
                        "description": "ACL tags available to access policies in this network template"
                    },
                    "additionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Additional CLI configuration commands provided by this network template"
                    },
                    "bgpConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplateBgpConfig:NetworktemplateBgpConfig"
                        },
                        "description": "BGP routing defaults for this network template. Property key is the BGP session name"
                    },
                    "dhcpSnooping": {
                        "$ref": "#/types/junipermist:org/NetworktemplateDhcpSnooping:NetworktemplateDhcpSnooping",
                        "description": "DHCP snooping defaults provided by this network template"
                    },
                    "dnsServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS servers provided by this network template"
                    },
                    "dnsSuffixes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "DNS search suffixes provided by this network template"
                    },
                    "extraRoutes": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplateExtraRoutes:NetworktemplateExtraRoutes"
                        },
                        "description": "Additional IPv4 route defaults in this network template"
                    },
                    "extraRoutes6": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplateExtraRoutes6:NetworktemplateExtraRoutes6"
                        },
                        "description": "Additional IPv6 route defaults in this network template"
                    },
                    "mistNac": {
                        "$ref": "#/types/junipermist:org/NetworktemplateMistNac:NetworktemplateMistNac",
                        "description": "Mist NAC defaults applied by this network template"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the network template"
                    },
                    "networks": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplateNetworks:NetworktemplateNetworks"
                        },
                        "description": "Layer 3 networks configured by this network template"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "NTP servers provided by this network template"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this network template"
                    },
                    "ospfAreas": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplateOspfAreas:NetworktemplateOspfAreas"
                        },
                        "description": "OSPF area defaults provided by this network template"
                    },
                    "portMirroring": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplatePortMirroring:NetworktemplatePortMirroring"
                        },
                        "description": "Port mirroring defaults provided by this network template"
                    },
                    "portUsages": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplatePortUsages:NetworktemplatePortUsages"
                        },
                        "description": "Reusable switch port usage profiles provided by this network template"
                    },
                    "radiusConfig": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRadiusConfig:NetworktemplateRadiusConfig",
                        "description": "RADIUS authentication and accounting defaults in this network template"
                    },
                    "remoteSyslog": {
                        "$ref": "#/types/junipermist:org/NetworktemplateRemoteSyslog:NetworktemplateRemoteSyslog",
                        "description": "Remote syslog defaults provided by this network template"
                    },
                    "removeExistingConfigs": {
                        "type": "boolean",
                        "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed."
                    },
                    "routingPolicies": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplateRoutingPolicies:NetworktemplateRoutingPolicies"
                        },
                        "description": "Routing policy defaults applied by this network template"
                    },
                    "snmpConfig": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSnmpConfig:NetworktemplateSnmpConfig",
                        "description": "SNMP defaults provided by this network template"
                    },
                    "switchMatching": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSwitchMatching:NetworktemplateSwitchMatching",
                        "description": "Matching rules that select switches for this network template"
                    },
                    "switchMgmt": {
                        "$ref": "#/types/junipermist:org/NetworktemplateSwitchMgmt:NetworktemplateSwitchMgmt",
                        "description": "Management-plane defaults provided by this network template"
                    },
                    "vrfConfig": {
                        "$ref": "#/types/junipermist:org/NetworktemplateVrfConfig:NetworktemplateVrfConfig",
                        "description": "VRF defaults applied by this network template"
                    },
                    "vrfInstances": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/NetworktemplateVrfInstances:NetworktemplateVrfInstances"
                        },
                        "description": "VRF instances configured by this network template"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/psk:Psk": {
            "description": "This data source provides the list of Org PSKs.\n\nA multi PSK (Pre-Shared Key) is a feature that allows the use of multiple PSKs for securing network connections.  \nIt provides a simple and comprehensive way to onboard client devices without relying on client mac addresses.  \nEach psk has its own key name, which can be used for user-level accountability, key rotation, and visibility in the management platform. It supports the creation, rotation, and auto-expiration of psks, and allows vlan assignment and role assignment for dynamic per-user policies.  \nMulti PSKs create virtual broadcast domains and can be used for end-user onboarding via authenticated sso login.\n\nMist supports three methods of Org PSKs lookup:\n* local\n* radius\n* cloud\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst pskOne = new junipermist.org.Psk(\"psk_one\", {\n    orgId: terraformTest.id,\n    name: \"JNP-FR-PAR\",\n    passphrase: \"secretone\",\n    ssid: wlanOne.ssid,\n    usage: \"multi\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\npsk_one = junipermist.org.Psk(\"psk_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"JNP-FR-PAR\",\n    passphrase=\"secretone\",\n    ssid=wlan_one[\"ssid\"],\n    usage=\"multi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pskOne = new JuniperMist.Org.Psk(\"psk_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"JNP-FR-PAR\",\n        Passphrase = \"secretone\",\n        Ssid = wlanOne.Ssid,\n        Usage = \"multi\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewPsk(ctx, \"psk_one\", \u0026org.PskArgs{\n\t\t\tOrgId:      pulumi.Any(terraformTest.Id),\n\t\t\tName:       pulumi.String(\"JNP-FR-PAR\"),\n\t\t\tPassphrase: pulumi.String(\"secretone\"),\n\t\t\tSsid:       pulumi.Any(wlanOne.Ssid),\n\t\t\tUsage:      pulumi.String(\"multi\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_psk\" \"psk_one\" {\n  org_id     = terraformTest.id\n  name       = \"JNP-FR-PAR\"\n  passphrase = \"secretone\"\n  ssid       = wlanOne.ssid\n  usage      = \"multi\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Psk;\nimport com.pulumi.junipermist.org.PskArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var pskOne = new Psk(\"pskOne\", PskArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"JNP-FR-PAR\")\n            .passphrase(\"secretone\")\n            .ssid(wlanOne.ssid())\n            .usage(\"multi\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pskOne:\n    type: junipermist:org:Psk\n    name: psk_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: JNP-FR-PAR\n      passphrase: secretone\n      ssid: ${wlanOne.ssid}\n      usage: multi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Psk`\" pulumi-lang-dotnet=\"`junipermist.org.Psk`\" pulumi-lang-go=\"`org.Psk`\" pulumi-lang-python=\"`org.Psk`\" pulumi-lang-yaml=\"`junipermist.org.Psk`\" pulumi-lang-java=\"`junipermist.org.Psk`\" pulumi-lang-hcl=\"`mist_org_psk`\"\u003e`junipermist.org.Psk`\u003c/span\u003e with:\nOrg PSK can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" pskId\n\" pulumi-lang-dotnet=\" PskId\n\" pulumi-lang-go=\" pskId\n\" pulumi-lang-python=\" psk_id\n\" pulumi-lang-yaml=\" pskId\n\" pulumi-lang-java=\" pskId\n\" pulumi-lang-hcl=\" psk_id\n\"\u003e pskId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/psk:Psk psk_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "email": {
                    "type": "string",
                    "description": "Notification recipient email address for PSK creation notification and expiration reminders\n"
                },
                "expireTime": {
                    "type": "integer",
                    "description": "Expire time for this PSK key (epoch time in seconds). Default \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e (as no expiration)\n"
                },
                "expiryNotificationTime": {
                    "type": "integer",
                    "description": "Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire\n"
                },
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e, client MAC address this PSK is bound to; empty when auto-binding is used\n"
                },
                "macs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client MAC addresses or MAC patterns allowed when \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`macs`\" pulumi-lang-dotnet=\"`Macs`\" pulumi-lang-go=\"`macs`\" pulumi-lang-python=\"`macs`\" pulumi-lang-yaml=\"`macs`\" pulumi-lang-java=\"`macs`\" pulumi-lang-hcl=\"`macs`\"\u003e`macs`\u003c/span\u003e\n"
                },
                "maxUsage": {
                    "type": "integer",
                    "description": "For Org PSK Only. Max concurrent users for this PSK key. Default is 0 (unlimited)\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the PSK\n"
                },
                "note": {
                    "type": "string",
                    "description": "Admin note or description stored with the PSK\n"
                },
                "notifyExpiry": {
                    "type": "boolean",
                    "description": "If set to true, reminder notification will be sent when psk is about to expire\n"
                },
                "notifyOnCreateOrEdit": {
                    "type": "boolean",
                    "description": "If set to true, notification will be sent when psk is created or edited\n"
                },
                "oldPassphrase": {
                    "type": "string",
                    "description": "previous passphrase of the PSK if it has been rotated\n",
                    "secret": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the org-level PSK\n"
                },
                "passphrase": {
                    "type": "string",
                    "description": "PSK passphrase, 8-63 characters or 64 hexadecimal characters\n",
                    "secret": true
                },
                "role": {
                    "type": "string",
                    "description": "Client role applied to users authenticated with this PSK\n"
                },
                "ssid": {
                    "type": "string",
                    "description": "WLAN SSID where this PSK can be used\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Binding mode for this PSK, enum: \u003cspan pulumi-lang-nodejs=\"`macs`\" pulumi-lang-dotnet=\"`Macs`\" pulumi-lang-go=\"`macs`\" pulumi-lang-python=\"`macs`\" pulumi-lang-yaml=\"`macs`\" pulumi-lang-java=\"`macs`\" pulumi-lang-hcl=\"`macs`\"\u003e`macs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID returned for clients using this PSK\n"
                },
                "vlanName": {
                    "type": "string",
                    "description": "VLAN name to be assigned. Optional, \u003cspan pulumi-lang-nodejs=\"`vlanId`\" pulumi-lang-dotnet=\"`VlanId`\" pulumi-lang-go=\"`vlanId`\" pulumi-lang-python=\"`vlan_id`\" pulumi-lang-yaml=\"`vlanId`\" pulumi-lang-java=\"`vlanId`\" pulumi-lang-hcl=\"`vlan_id`\"\u003e`vlanId`\u003c/span\u003e takes precedence if both are provided\n"
                }
            },
            "required": [
                "expireTime",
                "name",
                "notifyExpiry",
                "orgId",
                "passphrase",
                "ssid",
                "usage"
            ],
            "inputProperties": {
                "email": {
                    "type": "string",
                    "description": "Notification recipient email address for PSK creation notification and expiration reminders\n"
                },
                "expireTime": {
                    "type": "integer",
                    "description": "Expire time for this PSK key (epoch time in seconds). Default \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e (as no expiration)\n"
                },
                "expiryNotificationTime": {
                    "type": "integer",
                    "description": "Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire\n"
                },
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e, client MAC address this PSK is bound to; empty when auto-binding is used\n"
                },
                "macs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Client MAC addresses or MAC patterns allowed when \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`macs`\" pulumi-lang-dotnet=\"`Macs`\" pulumi-lang-go=\"`macs`\" pulumi-lang-python=\"`macs`\" pulumi-lang-yaml=\"`macs`\" pulumi-lang-java=\"`macs`\" pulumi-lang-hcl=\"`macs`\"\u003e`macs`\u003c/span\u003e\n"
                },
                "maxUsage": {
                    "type": "integer",
                    "description": "For Org PSK Only. Max concurrent users for this PSK key. Default is 0 (unlimited)\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the PSK\n"
                },
                "note": {
                    "type": "string",
                    "description": "Admin note or description stored with the PSK\n"
                },
                "notifyExpiry": {
                    "type": "boolean",
                    "description": "If set to true, reminder notification will be sent when psk is about to expire\n"
                },
                "notifyOnCreateOrEdit": {
                    "type": "boolean",
                    "description": "If set to true, notification will be sent when psk is created or edited\n"
                },
                "oldPassphrase": {
                    "type": "string",
                    "description": "previous passphrase of the PSK if it has been rotated\n",
                    "secret": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the org-level PSK\n"
                },
                "passphrase": {
                    "type": "string",
                    "description": "PSK passphrase, 8-63 characters or 64 hexadecimal characters\n",
                    "secret": true
                },
                "role": {
                    "type": "string",
                    "description": "Client role applied to users authenticated with this PSK\n"
                },
                "ssid": {
                    "type": "string",
                    "description": "WLAN SSID where this PSK can be used\n"
                },
                "usage": {
                    "type": "string",
                    "description": "Binding mode for this PSK, enum: \u003cspan pulumi-lang-nodejs=\"`macs`\" pulumi-lang-dotnet=\"`Macs`\" pulumi-lang-go=\"`macs`\" pulumi-lang-python=\"`macs`\" pulumi-lang-yaml=\"`macs`\" pulumi-lang-java=\"`macs`\" pulumi-lang-hcl=\"`macs`\"\u003e`macs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID returned for clients using this PSK\n"
                },
                "vlanName": {
                    "type": "string",
                    "description": "VLAN name to be assigned. Optional, \u003cspan pulumi-lang-nodejs=\"`vlanId`\" pulumi-lang-dotnet=\"`VlanId`\" pulumi-lang-go=\"`vlanId`\" pulumi-lang-python=\"`vlan_id`\" pulumi-lang-yaml=\"`vlanId`\" pulumi-lang-java=\"`vlanId`\" pulumi-lang-hcl=\"`vlan_id`\"\u003e`vlanId`\u003c/span\u003e takes precedence if both are provided\n"
                }
            },
            "requiredInputs": [
                "orgId",
                "passphrase",
                "ssid"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Psk resources.\n",
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "Notification recipient email address for PSK creation notification and expiration reminders\n"
                    },
                    "expireTime": {
                        "type": "integer",
                        "description": "Expire time for this PSK key (epoch time in seconds). Default \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e (as no expiration)\n"
                    },
                    "expiryNotificationTime": {
                        "type": "integer",
                        "description": "Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire\n"
                    },
                    "mac": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e, client MAC address this PSK is bound to; empty when auto-binding is used\n"
                    },
                    "macs": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Client MAC addresses or MAC patterns allowed when \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`macs`\" pulumi-lang-dotnet=\"`Macs`\" pulumi-lang-go=\"`macs`\" pulumi-lang-python=\"`macs`\" pulumi-lang-yaml=\"`macs`\" pulumi-lang-java=\"`macs`\" pulumi-lang-hcl=\"`macs`\"\u003e`macs`\u003c/span\u003e\n"
                    },
                    "maxUsage": {
                        "type": "integer",
                        "description": "For Org PSK Only. Max concurrent users for this PSK key. Default is 0 (unlimited)\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the PSK\n"
                    },
                    "note": {
                        "type": "string",
                        "description": "Admin note or description stored with the PSK\n"
                    },
                    "notifyExpiry": {
                        "type": "boolean",
                        "description": "If set to true, reminder notification will be sent when psk is about to expire\n"
                    },
                    "notifyOnCreateOrEdit": {
                        "type": "boolean",
                        "description": "If set to true, notification will be sent when psk is created or edited\n"
                    },
                    "oldPassphrase": {
                        "type": "string",
                        "description": "previous passphrase of the PSK if it has been rotated\n",
                        "secret": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns the org-level PSK\n"
                    },
                    "passphrase": {
                        "type": "string",
                        "description": "PSK passphrase, 8-63 characters or 64 hexadecimal characters\n",
                        "secret": true
                    },
                    "role": {
                        "type": "string",
                        "description": "Client role applied to users authenticated with this PSK\n"
                    },
                    "ssid": {
                        "type": "string",
                        "description": "WLAN SSID where this PSK can be used\n"
                    },
                    "usage": {
                        "type": "string",
                        "description": "Binding mode for this PSK, enum: \u003cspan pulumi-lang-nodejs=\"`macs`\" pulumi-lang-dotnet=\"`Macs`\" pulumi-lang-go=\"`macs`\" pulumi-lang-python=\"`macs`\" pulumi-lang-yaml=\"`macs`\" pulumi-lang-java=\"`macs`\" pulumi-lang-hcl=\"`macs`\"\u003e`macs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e\n"
                    },
                    "vlanId": {
                        "type": "string",
                        "description": "VLAN ID returned for clients using this PSK\n"
                    },
                    "vlanName": {
                        "type": "string",
                        "description": "VLAN name to be assigned. Optional, \u003cspan pulumi-lang-nodejs=\"`vlanId`\" pulumi-lang-dotnet=\"`VlanId`\" pulumi-lang-go=\"`vlanId`\" pulumi-lang-python=\"`vlan_id`\" pulumi-lang-yaml=\"`vlanId`\" pulumi-lang-java=\"`vlanId`\" pulumi-lang-hcl=\"`vlan_id`\"\u003e`vlanId`\u003c/span\u003e takes precedence if both are provided\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/rftemplate:Rftemplate": {
            "description": "This resource manages the RF Templates.\n\nThe RF Templates can be used to define Wireless Access Points radio configuration, and can be assigned to the sites\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst rftemplateOne = new junipermist.org.Rftemplate(\"rftemplate_one\", {\n    name: \"rftemplate_one\",\n    orgId: terraformTest.id,\n    band24Usage: \"auto\",\n    band5: {\n        antGain: 2,\n        power: 8,\n        channels: [\n            60,\n            104,\n            132,\n        ],\n        bandwidth: 20,\n    },\n    band6: {\n        antGain: 2,\n        power: 8,\n    },\n    band24: {\n        antGain: 1,\n        allowRrmDisable: true,\n        powerMin: 18,\n        powerMax: 18,\n        bandwidth: 20,\n    },\n    antGain5: 2,\n    antGain6: 2,\n    antGain24: 1,\n    countryCode: \"FR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nrftemplate_one = junipermist.org.Rftemplate(\"rftemplate_one\",\n    name=\"rftemplate_one\",\n    org_id=terraform_test[\"id\"],\n    band24_usage=\"auto\",\n    band5={\n        \"ant_gain\": 2,\n        \"power\": 8,\n        \"channels\": [\n            60,\n            104,\n            132,\n        ],\n        \"bandwidth\": 20,\n    },\n    band6={\n        \"ant_gain\": 2,\n        \"power\": 8,\n    },\n    band24={\n        \"ant_gain\": 1,\n        \"allow_rrm_disable\": True,\n        \"power_min\": 18,\n        \"power_max\": 18,\n        \"bandwidth\": 20,\n    },\n    ant_gain5=2,\n    ant_gain6=2,\n    ant_gain24=1,\n    country_code=\"FR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rftemplateOne = new JuniperMist.Org.Rftemplate(\"rftemplate_one\", new()\n    {\n        Name = \"rftemplate_one\",\n        OrgId = terraformTest.Id,\n        Band24Usage = \"auto\",\n        Band5 = new JuniperMist.Org.Inputs.RftemplateBand5Args\n        {\n            AntGain = 2,\n            Power = 8,\n            Channels = new[]\n            {\n                60,\n                104,\n                132,\n            },\n            Bandwidth = 20,\n        },\n        Band6 = new JuniperMist.Org.Inputs.RftemplateBand6Args\n        {\n            AntGain = 2,\n            Power = 8,\n        },\n        Band24 = new JuniperMist.Org.Inputs.RftemplateBand24Args\n        {\n            AntGain = 1,\n            AllowRrmDisable = true,\n            PowerMin = 18,\n            PowerMax = 18,\n            Bandwidth = 20,\n        },\n        AntGain5 = 2,\n        AntGain6 = 2,\n        AntGain24 = 1,\n        CountryCode = \"FR\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewRftemplate(ctx, \"rftemplate_one\", \u0026org.RftemplateArgs{\n\t\t\tName:        pulumi.String(\"rftemplate_one\"),\n\t\t\tOrgId:       pulumi.Any(terraformTest.Id),\n\t\t\tBand24Usage: pulumi.String(\"auto\"),\n\t\t\tBand5: \u0026org.RftemplateBand5Args{\n\t\t\t\tAntGain: pulumi.Int(2),\n\t\t\t\tPower:   pulumi.Int(8),\n\t\t\t\tChannels: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(60),\n\t\t\t\t\tpulumi.Int(104),\n\t\t\t\t\tpulumi.Int(132),\n\t\t\t\t},\n\t\t\t\tBandwidth: pulumi.Int(20),\n\t\t\t},\n\t\t\tBand6: \u0026org.RftemplateBand6Args{\n\t\t\t\tAntGain: pulumi.Int(2),\n\t\t\t\tPower:   pulumi.Int(8),\n\t\t\t},\n\t\t\tBand24: \u0026org.RftemplateBand24Args{\n\t\t\t\tAntGain:         pulumi.Int(1),\n\t\t\t\tAllowRrmDisable: pulumi.Bool(true),\n\t\t\t\tPowerMin:        pulumi.Int(18),\n\t\t\t\tPowerMax:        pulumi.Int(18),\n\t\t\t\tBandwidth:       pulumi.Int(20),\n\t\t\t},\n\t\t\tAntGain5:    pulumi.Int(2),\n\t\t\tAntGain6:    pulumi.Int(2),\n\t\t\tAntGain24:   pulumi.Int(1),\n\t\t\tCountryCode: pulumi.String(\"FR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_rftemplate\" \"rftemplate_one\" {\n  name         = \"rftemplate_one\"\n  org_id       = terraformTest.id\n  band24_usage = \"auto\"\n  band5 = {\n    ant_gain  = 2\n    power     = 8\n    channels  = [60, 104, 132]\n    bandwidth = 20\n  }\n  band6 = {\n    ant_gain = 2\n    power    = 8\n  }\n  band24 = {\n    ant_gain          = 1\n    allow_rrm_disable = true\n    power_min         = 18\n    power_max         = 18\n    bandwidth         = 20\n  }\n  ant_gain5    = 2\n  ant_gain6    = 2\n  ant_gain24   = 1\n  country_code = \"FR\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Rftemplate;\nimport com.pulumi.junipermist.org.RftemplateArgs;\nimport com.pulumi.junipermist.org.inputs.RftemplateBand5Args;\nimport com.pulumi.junipermist.org.inputs.RftemplateBand6Args;\nimport com.pulumi.junipermist.org.inputs.RftemplateBand24Args;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rftemplateOne = new Rftemplate(\"rftemplateOne\", RftemplateArgs.builder()\n            .name(\"rftemplate_one\")\n            .orgId(terraformTest.id())\n            .band24Usage(\"auto\")\n            .band5(RftemplateBand5Args.builder()\n                .antGain(2)\n                .power(8)\n                .channels(                \n                    60,\n                    104,\n                    132)\n                .bandwidth(20)\n                .build())\n            .band6(RftemplateBand6Args.builder()\n                .antGain(2)\n                .power(8)\n                .build())\n            .band24(RftemplateBand24Args.builder()\n                .antGain(1)\n                .allowRrmDisable(true)\n                .powerMin(18)\n                .powerMax(18)\n                .bandwidth(20)\n                .build())\n            .antGain5(2)\n            .antGain6(2)\n            .antGain24(1)\n            .countryCode(\"FR\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rftemplateOne:\n    type: junipermist:org:Rftemplate\n    name: rftemplate_one\n    properties:\n      name: rftemplate_one\n      orgId: ${terraformTest.id}\n      band24Usage: auto\n      band5:\n        antGain: 2\n        power: 8\n        channels:\n          - 60\n          - 104\n          - 132\n        bandwidth: 20\n      band6:\n        antGain: 2\n        power: 8\n      band24:\n        antGain: 1\n        allowRrmDisable: true\n        powerMin: 18\n        powerMax: 18\n        bandwidth: 20\n      antGain5: 2\n      antGain6: 2\n      antGain24: 1\n      countryCode: FR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Rftemplate`\" pulumi-lang-dotnet=\"`junipermist.org.Rftemplate`\" pulumi-lang-go=\"`org.Rftemplate`\" pulumi-lang-python=\"`org.Rftemplate`\" pulumi-lang-yaml=\"`junipermist.org.Rftemplate`\" pulumi-lang-java=\"`junipermist.org.Rftemplate`\" pulumi-lang-hcl=\"`mist_org_rftemplate`\"\u003e`junipermist.org.Rftemplate`\u003c/span\u003e with:\nOrg RF Template can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" rftemplateId\n\" pulumi-lang-dotnet=\" RftemplateId\n\" pulumi-lang-go=\" rftemplateId\n\" pulumi-lang-python=\" rftemplate_id\n\" pulumi-lang-yaml=\" rftemplateId\n\" pulumi-lang-java=\" rftemplateId\n\" pulumi-lang-hcl=\" rftemplate_id\n\"\u003e rftemplateId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/rftemplate:Rftemplate rftemplate_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "antGain24": {
                    "type": "integer",
                    "description": "External antenna gain for the 2.4 GHz radio\n"
                },
                "antGain5": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antGain6": {
                    "type": "integer",
                    "description": "External antenna gain for the 6 GHz radio\n"
                },
                "band24": {
                    "$ref": "#/types/junipermist:org/RftemplateBand24:RftemplateBand24",
                    "description": "2.4 GHz radio settings in this RF template\n"
                },
                "band24Usage": {
                    "type": "string",
                    "description": "Radio usage mode for the 2.4 GHz-capable radio in this RF template\n"
                },
                "band5": {
                    "$ref": "#/types/junipermist:org/RftemplateBand5:RftemplateBand5",
                    "description": "5 GHz radio settings in this RF template\n"
                },
                "band5On24Radio": {
                    "$ref": "#/types/junipermist:org/RftemplateBand5On24Radio:RftemplateBand5On24Radio",
                    "description": "5 GHz settings used when the 2.4 GHz radio operates in 5 GHz mode\n"
                },
                "band6": {
                    "$ref": "#/types/junipermist:org/RftemplateBand6:RftemplateBand6",
                    "description": "6 GHz radio settings in this RF template\n"
                },
                "countryCode": {
                    "type": "string",
                    "description": "Optional, country code to use. If specified, this gets applied to all sites using the RF Template\n"
                },
                "modelSpecific": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/RftemplateModelSpecific:RftemplateModelSpecific"
                    },
                    "description": "overwrites for a specific model. If a band is specified, it will shadow the default. Property key is the model name (e.g. \"AP63\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the RF template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this RF template\n"
                },
                "scanningEnabled": {
                    "type": "boolean",
                    "description": "Whether scanning radio is enabled\n"
                }
            },
            "required": [
                "antGain24",
                "antGain5",
                "antGain6",
                "name",
                "orgId"
            ],
            "inputProperties": {
                "antGain24": {
                    "type": "integer",
                    "description": "External antenna gain for the 2.4 GHz radio\n"
                },
                "antGain5": {
                    "type": "integer",
                    "description": "External antenna gain for the 5 GHz radio\n"
                },
                "antGain6": {
                    "type": "integer",
                    "description": "External antenna gain for the 6 GHz radio\n"
                },
                "band24": {
                    "$ref": "#/types/junipermist:org/RftemplateBand24:RftemplateBand24",
                    "description": "2.4 GHz radio settings in this RF template\n"
                },
                "band24Usage": {
                    "type": "string",
                    "description": "Radio usage mode for the 2.4 GHz-capable radio in this RF template\n"
                },
                "band5": {
                    "$ref": "#/types/junipermist:org/RftemplateBand5:RftemplateBand5",
                    "description": "5 GHz radio settings in this RF template\n"
                },
                "band5On24Radio": {
                    "$ref": "#/types/junipermist:org/RftemplateBand5On24Radio:RftemplateBand5On24Radio",
                    "description": "5 GHz settings used when the 2.4 GHz radio operates in 5 GHz mode\n"
                },
                "band6": {
                    "$ref": "#/types/junipermist:org/RftemplateBand6:RftemplateBand6",
                    "description": "6 GHz radio settings in this RF template\n"
                },
                "countryCode": {
                    "type": "string",
                    "description": "Optional, country code to use. If specified, this gets applied to all sites using the RF Template\n"
                },
                "modelSpecific": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/RftemplateModelSpecific:RftemplateModelSpecific"
                    },
                    "description": "overwrites for a specific model. If a band is specified, it will shadow the default. Property key is the model name (e.g. \"AP63\")\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the RF template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this RF template\n"
                },
                "scanningEnabled": {
                    "type": "boolean",
                    "description": "Whether scanning radio is enabled\n"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Rftemplate resources.\n",
                "properties": {
                    "antGain24": {
                        "type": "integer",
                        "description": "External antenna gain for the 2.4 GHz radio\n"
                    },
                    "antGain5": {
                        "type": "integer",
                        "description": "External antenna gain for the 5 GHz radio\n"
                    },
                    "antGain6": {
                        "type": "integer",
                        "description": "External antenna gain for the 6 GHz radio\n"
                    },
                    "band24": {
                        "$ref": "#/types/junipermist:org/RftemplateBand24:RftemplateBand24",
                        "description": "2.4 GHz radio settings in this RF template\n"
                    },
                    "band24Usage": {
                        "type": "string",
                        "description": "Radio usage mode for the 2.4 GHz-capable radio in this RF template\n"
                    },
                    "band5": {
                        "$ref": "#/types/junipermist:org/RftemplateBand5:RftemplateBand5",
                        "description": "5 GHz radio settings in this RF template\n"
                    },
                    "band5On24Radio": {
                        "$ref": "#/types/junipermist:org/RftemplateBand5On24Radio:RftemplateBand5On24Radio",
                        "description": "5 GHz settings used when the 2.4 GHz radio operates in 5 GHz mode\n"
                    },
                    "band6": {
                        "$ref": "#/types/junipermist:org/RftemplateBand6:RftemplateBand6",
                        "description": "6 GHz radio settings in this RF template\n"
                    },
                    "countryCode": {
                        "type": "string",
                        "description": "Optional, country code to use. If specified, this gets applied to all sites using the RF Template\n"
                    },
                    "modelSpecific": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/RftemplateModelSpecific:RftemplateModelSpecific"
                        },
                        "description": "overwrites for a specific model. If a band is specified, it will shadow the default. Property key is the model name (e.g. \"AP63\")\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the RF template\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this RF template\n"
                    },
                    "scanningEnabled": {
                        "type": "boolean",
                        "description": "Whether scanning radio is enabled\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/service:Service": {
            "description": "This resource manages WAN Assurance Services (Applications).\n\nA Service is used to define a Custom Application that can be used in the \u003cspan pulumi-lang-nodejs=\"`servicePolicies`\" pulumi-lang-dotnet=\"`ServicePolicies`\" pulumi-lang-go=\"`servicePolicies`\" pulumi-lang-python=\"`service_policies`\" pulumi-lang-yaml=\"`servicePolicies`\" pulumi-lang-java=\"`servicePolicies`\" pulumi-lang-hcl=\"`service_policies`\"\u003e`servicePolicies`\u003c/span\u003e. These Services can be referenced by their name in\n* the Service Policies (`mist_org_servicepolicy.services`)\n* the Gateway configuration (`mist_device_gateway.service_policies.services`)\n* the Gateway Templates (`mist_org_gatewaytemplate.service_policies.services`)\n* the HUB Profiles (`mist_org_deviceprofile_gateway.service_policies.services`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst serviceOne = new junipermist.org.Service(\"service_one\", {\n    orgId: terraformTest.id,\n    name: \"service_one\",\n    addresses: [\n        \"10.3.0.0/24\",\n        \"10.4.0.0/24\",\n    ],\n    type: \"custom\",\n    specs: [{\n        protocol: \"tcp\",\n        portRange: \"443\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nservice_one = junipermist.org.Service(\"service_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"service_one\",\n    addresses=[\n        \"10.3.0.0/24\",\n        \"10.4.0.0/24\",\n    ],\n    type=\"custom\",\n    specs=[{\n        \"protocol\": \"tcp\",\n        \"port_range\": \"443\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serviceOne = new JuniperMist.Org.Service(\"service_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"service_one\",\n        Addresses = new[]\n        {\n            \"10.3.0.0/24\",\n            \"10.4.0.0/24\",\n        },\n        Type = \"custom\",\n        Specs = new[]\n        {\n            new JuniperMist.Org.Inputs.ServiceSpecArgs\n            {\n                Protocol = \"tcp\",\n                PortRange = \"443\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewService(ctx, \"service_one\", \u0026org.ServiceArgs{\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tName:  pulumi.String(\"service_one\"),\n\t\t\tAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.3.0.0/24\"),\n\t\t\t\tpulumi.String(\"10.4.0.0/24\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"custom\"),\n\t\t\tSpecs: org.ServiceSpecArray{\n\t\t\t\t\u0026org.ServiceSpecArgs{\n\t\t\t\t\tProtocol:  pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"443\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_service\" \"service_one\" {\n  org_id    = terraformTest.id\n  name      = \"service_one\"\n  addresses = [\"10.3.0.0/24\", \"10.4.0.0/24\"]\n  type      = \"custom\"\n  specs {\n    protocol   = \"tcp\"\n    port_range = \"443\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Service;\nimport com.pulumi.junipermist.org.ServiceArgs;\nimport com.pulumi.junipermist.org.inputs.ServiceSpecArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var serviceOne = new Service(\"serviceOne\", ServiceArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"service_one\")\n            .addresses(            \n                \"10.3.0.0/24\",\n                \"10.4.0.0/24\")\n            .type(\"custom\")\n            .specs(ServiceSpecArgs.builder()\n                .protocol(\"tcp\")\n                .portRange(\"443\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  serviceOne:\n    type: junipermist:org:Service\n    name: service_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: service_one\n      addresses:\n        - 10.3.0.0/24\n        - 10.4.0.0/24\n      type: custom\n      specs:\n        - protocol: tcp\n          portRange: '443'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Service`\" pulumi-lang-dotnet=\"`junipermist.org.Service`\" pulumi-lang-go=\"`org.Service`\" pulumi-lang-python=\"`org.Service`\" pulumi-lang-yaml=\"`junipermist.org.Service`\" pulumi-lang-java=\"`junipermist.org.Service`\" pulumi-lang-hcl=\"`mist_org_service`\"\u003e`junipermist.org.Service`\u003c/span\u003e with:\nOrg Service can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" serviceId\n\" pulumi-lang-dotnet=\" ServiceId\n\" pulumi-lang-go=\" serviceId\n\" pulumi-lang-python=\" service_id\n\" pulumi-lang-yaml=\" serviceId\n\" pulumi-lang-java=\" serviceId\n\" pulumi-lang-hcl=\" service_id\n\"\u003e serviceId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/service:Service service_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Custom IPv4 or IPv6 subnets matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "appCategories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Categories of applications matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e\n"
                },
                "appSubcategories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application subcategories matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e\n"
                },
                "apps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application identifiers matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`apps`\" pulumi-lang-dotnet=\"`Apps`\" pulumi-lang-go=\"`apps`\" pulumi-lang-python=\"`apps`\" pulumi-lang-yaml=\"`apps`\" pulumi-lang-java=\"`apps`\" pulumi-lang-hcl=\"`apps`\"\u003e`apps`\u003c/span\u003e\n"
                },
                "clientLimitDown": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "clientLimitUp": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "description": {
                    "type": "string",
                    "description": "Free-form description of the service definition\n"
                },
                "dscp": {
                    "type": "string",
                    "description": "QoS DSCP value used for custom SSR traffic classification\n"
                },
                "failoverPolicy": {
                    "type": "string",
                    "description": "Failover behavior for traffic matched by this service\n"
                },
                "hostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Domain hostnames matched by this custom service for web filtering\n"
                },
                "maxJitter": {
                    "type": "string",
                    "description": "Maximum jitter threshold used for SSR uplink selection when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "maxLatency": {
                    "type": "string",
                    "description": "Maximum latency threshold used for SSR uplink selection when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "maxLoss": {
                    "type": "string",
                    "description": "Maximum packet loss threshold used for SSR uplink selection when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the service definition\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier associated with the service definition\n"
                },
                "serviceLimitDown": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "serviceLimitUp": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "sleEnabled": {
                    "type": "boolean",
                    "description": "Whether to enable measure SLE\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/ServiceSpec:ServiceSpec"
                    },
                    "description": "Protocol and port match rules used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "ssrRelaxedTcpStateEnforcement": {
                    "type": "boolean",
                    "description": "Whether SSR relaxes TCP state enforcement for this service\n"
                },
                "trafficClass": {
                    "type": "string",
                    "description": "Traffic class applied when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "trafficType": {
                    "type": "string",
                    "description": "values from List Traffic Types\n"
                },
                "type": {
                    "type": "string",
                    "description": "Matching mode that determines which app, URL, or custom fields are used\n"
                },
                "urls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "URL patterns matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`urls`\" pulumi-lang-dotnet=\"`Urls`\" pulumi-lang-go=\"`urls`\" pulumi-lang-python=\"`urls`\" pulumi-lang-yaml=\"`urls`\" pulumi-lang-java=\"`urls`\" pulumi-lang-hcl=\"`urls`\"\u003e`urls`\u003c/span\u003e\n"
                }
            },
            "required": [
                "addresses",
                "appCategories",
                "appSubcategories",
                "apps",
                "hostnames",
                "name",
                "orgId",
                "trafficType",
                "type",
                "urls"
            ],
            "inputProperties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Custom IPv4 or IPv6 subnets matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "appCategories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Categories of applications matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e\n"
                },
                "appSubcategories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application subcategories matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e\n"
                },
                "apps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application identifiers matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`apps`\" pulumi-lang-dotnet=\"`Apps`\" pulumi-lang-go=\"`apps`\" pulumi-lang-python=\"`apps`\" pulumi-lang-yaml=\"`apps`\" pulumi-lang-java=\"`apps`\" pulumi-lang-hcl=\"`apps`\"\u003e`apps`\u003c/span\u003e\n"
                },
                "clientLimitDown": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "clientLimitUp": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "description": {
                    "type": "string",
                    "description": "Free-form description of the service definition\n"
                },
                "dscp": {
                    "type": "string",
                    "description": "QoS DSCP value used for custom SSR traffic classification\n"
                },
                "failoverPolicy": {
                    "type": "string",
                    "description": "Failover behavior for traffic matched by this service\n"
                },
                "hostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Domain hostnames matched by this custom service for web filtering\n"
                },
                "maxJitter": {
                    "type": "string",
                    "description": "Maximum jitter threshold used for SSR uplink selection when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "maxLatency": {
                    "type": "string",
                    "description": "Maximum latency threshold used for SSR uplink selection when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "maxLoss": {
                    "type": "string",
                    "description": "Maximum packet loss threshold used for SSR uplink selection when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the service definition\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier associated with the service definition\n"
                },
                "serviceLimitDown": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "serviceLimitUp": {
                    "type": "integer",
                    "description": "0 means unlimited, value from 0 to 107374182\n"
                },
                "sleEnabled": {
                    "type": "boolean",
                    "description": "Whether to enable measure SLE\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/ServiceSpec:ServiceSpec"
                    },
                    "description": "Protocol and port match rules used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "ssrRelaxedTcpStateEnforcement": {
                    "type": "boolean",
                    "description": "Whether SSR relaxes TCP state enforcement for this service\n"
                },
                "trafficClass": {
                    "type": "string",
                    "description": "Traffic class applied when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                },
                "trafficType": {
                    "type": "string",
                    "description": "values from List Traffic Types\n"
                },
                "type": {
                    "type": "string",
                    "description": "Matching mode that determines which app, URL, or custom fields are used\n"
                },
                "urls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "URL patterns matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`urls`\" pulumi-lang-dotnet=\"`Urls`\" pulumi-lang-go=\"`urls`\" pulumi-lang-python=\"`urls`\" pulumi-lang-yaml=\"`urls`\" pulumi-lang-java=\"`urls`\" pulumi-lang-hcl=\"`urls`\"\u003e`urls`\u003c/span\u003e\n"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Service resources.\n",
                "properties": {
                    "addresses": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Custom IPv4 or IPv6 subnets matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                    },
                    "appCategories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Categories of applications matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e\n"
                    },
                    "appSubcategories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Application subcategories matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e\n"
                    },
                    "apps": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Application identifiers matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`apps`\" pulumi-lang-dotnet=\"`Apps`\" pulumi-lang-go=\"`apps`\" pulumi-lang-python=\"`apps`\" pulumi-lang-yaml=\"`apps`\" pulumi-lang-java=\"`apps`\" pulumi-lang-hcl=\"`apps`\"\u003e`apps`\u003c/span\u003e\n"
                    },
                    "clientLimitDown": {
                        "type": "integer",
                        "description": "0 means unlimited, value from 0 to 107374182\n"
                    },
                    "clientLimitUp": {
                        "type": "integer",
                        "description": "0 means unlimited, value from 0 to 107374182\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Free-form description of the service definition\n"
                    },
                    "dscp": {
                        "type": "string",
                        "description": "QoS DSCP value used for custom SSR traffic classification\n"
                    },
                    "failoverPolicy": {
                        "type": "string",
                        "description": "Failover behavior for traffic matched by this service\n"
                    },
                    "hostnames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Domain hostnames matched by this custom service for web filtering\n"
                    },
                    "maxJitter": {
                        "type": "string",
                        "description": "Maximum jitter threshold used for SSR uplink selection when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                    },
                    "maxLatency": {
                        "type": "string",
                        "description": "Maximum latency threshold used for SSR uplink selection when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                    },
                    "maxLoss": {
                        "type": "string",
                        "description": "Maximum packet loss threshold used for SSR uplink selection when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the service definition\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization identifier associated with the service definition\n"
                    },
                    "serviceLimitDown": {
                        "type": "integer",
                        "description": "0 means unlimited, value from 0 to 107374182\n"
                    },
                    "serviceLimitUp": {
                        "type": "integer",
                        "description": "0 means unlimited, value from 0 to 107374182\n"
                    },
                    "sleEnabled": {
                        "type": "boolean",
                        "description": "Whether to enable measure SLE\n"
                    },
                    "specs": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/ServiceSpec:ServiceSpec"
                        },
                        "description": "Protocol and port match rules used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                    },
                    "ssrRelaxedTcpStateEnforcement": {
                        "type": "boolean",
                        "description": "Whether SSR relaxes TCP state enforcement for this service\n"
                    },
                    "trafficClass": {
                        "type": "string",
                        "description": "Traffic class applied when \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\" pulumi-lang-hcl=\"`custom`\"\u003e`custom`\u003c/span\u003e\n"
                    },
                    "trafficType": {
                        "type": "string",
                        "description": "values from List Traffic Types\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "Matching mode that determines which app, URL, or custom fields are used\n"
                    },
                    "urls": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "URL patterns matched by this service when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`urls`\" pulumi-lang-dotnet=\"`Urls`\" pulumi-lang-go=\"`urls`\" pulumi-lang-python=\"`urls`\" pulumi-lang-yaml=\"`urls`\" pulumi-lang-java=\"`urls`\" pulumi-lang-hcl=\"`urls`\"\u003e`urls`\u003c/span\u003e\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/servicepolicy:Servicepolicy": {
            "description": "This resource manages WAN Assurance Service Policies (Application Policies).\n\nThe Service Policies can be used in the \u003cspan pulumi-lang-nodejs=\"`servicePolicies`\" pulumi-lang-dotnet=\"`ServicePolicies`\" pulumi-lang-go=\"`servicePolicies`\" pulumi-lang-python=\"`service_policies`\" pulumi-lang-yaml=\"`servicePolicies`\" pulumi-lang-java=\"`servicePolicies`\" pulumi-lang-hcl=\"`service_policies`\"\u003e`servicePolicies`\u003c/span\u003e object by referencing the Service Policy ID as the \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e in:\n* the Gateway configuration (`mist_device_gateway.service_policies`)\n* the Gateway Templates (`mist_org_gatewaytemplate.service_policies`)\n* the HUB Profiles (`mist_org_deviceprofile_gateway.service_policies`)\nThey can be used to manage common policies between multiples configurations\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst servicepolicyOne = new junipermist.org.Servicepolicy(\"servicepolicy_one\", {\n    orgId: terraformTest.id,\n    tenants: [\"guest\"],\n    services: [\"guest-internet\"],\n    action: \"allow\",\n    idp: {\n        enabled: true,\n        profile: \"standard\",\n        alertOnly: true,\n    },\n    name: \"Guest-IDP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nservicepolicy_one = junipermist.org.Servicepolicy(\"servicepolicy_one\",\n    org_id=terraform_test[\"id\"],\n    tenants=[\"guest\"],\n    services=[\"guest-internet\"],\n    action=\"allow\",\n    idp={\n        \"enabled\": True,\n        \"profile\": \"standard\",\n        \"alert_only\": True,\n    },\n    name=\"Guest-IDP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var servicepolicyOne = new JuniperMist.Org.Servicepolicy(\"servicepolicy_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Tenants = new[]\n        {\n            \"guest\",\n        },\n        Services = new[]\n        {\n            \"guest-internet\",\n        },\n        Action = \"allow\",\n        Idp = new JuniperMist.Org.Inputs.ServicepolicyIdpArgs\n        {\n            Enabled = true,\n            Profile = \"standard\",\n            AlertOnly = true,\n        },\n        Name = \"Guest-IDP\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewServicepolicy(ctx, \"servicepolicy_one\", \u0026org.ServicepolicyArgs{\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tTenants: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"guest\"),\n\t\t\t},\n\t\t\tServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"guest-internet\"),\n\t\t\t},\n\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\tIdp: \u0026org.ServicepolicyIdpArgs{\n\t\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\t\tProfile:   pulumi.String(\"standard\"),\n\t\t\t\tAlertOnly: pulumi.Bool(true),\n\t\t\t},\n\t\t\tName: pulumi.String(\"Guest-IDP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_servicepolicy\" \"servicepolicy_one\" {\n  org_id   = terraformTest.id\n  tenants  = [\"guest\"]\n  services = [\"guest-internet\"]\n  action   = \"allow\"\n  idp = {\n    enabled    = true\n    profile    = \"standard\"\n    alert_only = true\n  }\n  name = \"Guest-IDP\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Servicepolicy;\nimport com.pulumi.junipermist.org.ServicepolicyArgs;\nimport com.pulumi.junipermist.org.inputs.ServicepolicyIdpArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var servicepolicyOne = new Servicepolicy(\"servicepolicyOne\", ServicepolicyArgs.builder()\n            .orgId(terraformTest.id())\n            .tenants(\"guest\")\n            .services(\"guest-internet\")\n            .action(\"allow\")\n            .idp(ServicepolicyIdpArgs.builder()\n                .enabled(true)\n                .profile(\"standard\")\n                .alertOnly(true)\n                .build())\n            .name(\"Guest-IDP\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  servicepolicyOne:\n    type: junipermist:org:Servicepolicy\n    name: servicepolicy_one\n    properties:\n      orgId: ${terraformTest.id}\n      tenants:\n        - guest\n      services:\n        - guest-internet\n      action: allow\n      idp:\n        enabled: true\n        profile: standard\n        alertOnly: true\n      name: Guest-IDP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Servicepolicy`\" pulumi-lang-dotnet=\"`junipermist.org.Servicepolicy`\" pulumi-lang-go=\"`org.Servicepolicy`\" pulumi-lang-python=\"`org.Servicepolicy`\" pulumi-lang-yaml=\"`junipermist.org.Servicepolicy`\" pulumi-lang-java=\"`junipermist.org.Servicepolicy`\" pulumi-lang-hcl=\"`mist_org_servicepolicy`\"\u003e`junipermist.org.Servicepolicy`\u003c/span\u003e with:\nOrg Service Policy can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" servicepolicyId\n\" pulumi-lang-dotnet=\" ServicepolicyId\n\" pulumi-lang-go=\" servicepolicyId\n\" pulumi-lang-python=\" servicepolicy_id\n\" pulumi-lang-yaml=\" servicepolicyId\n\" pulumi-lang-java=\" servicepolicyId\n\" pulumi-lang-hcl=\" servicepolicy_id\n\"\u003e servicepolicyId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/servicepolicy:Servicepolicy servicepolicy_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "aamw": {
                    "$ref": "#/types/junipermist:org/ServicepolicyAamw:ServicepolicyAamw",
                    "description": "Advanced anti-malware settings applied by this service policy\n"
                },
                "action": {
                    "type": "string",
                    "description": "Allow or deny action for traffic matched by this service policy\n"
                },
                "antivirus": {
                    "$ref": "#/types/junipermist:org/ServicepolicyAntivirus:ServicepolicyAntivirus",
                    "description": "Malware and virus inspection settings applied by this service policy\n"
                },
                "appqoe": {
                    "$ref": "#/types/junipermist:org/ServicepolicyAppqoe:ServicepolicyAppqoe",
                    "description": "Application QoE settings applied by this service policy\n"
                },
                "ewfs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/ServicepolicyEwf:ServicepolicyEwf"
                    },
                    "description": "Enhanced web filtering rules applied by this service policy\n"
                },
                "idp": {
                    "$ref": "#/types/junipermist:org/ServicepolicyIdp:ServicepolicyIdp",
                    "description": "Intrusion detection and prevention settings applied by this service policy\n"
                },
                "localRouting": {
                    "type": "boolean",
                    "description": "Whether the policy permits access within the same VRF\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the service policy\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this service policy\n"
                },
                "pathPreference": {
                    "type": "string",
                    "description": "By default, we derive all paths available and use them, optionally, you can customize by using \u003cspan pulumi-lang-nodejs=\"`pathPreference`\" pulumi-lang-dotnet=\"`PathPreference`\" pulumi-lang-go=\"`pathPreference`\" pulumi-lang-python=\"`path_preference`\" pulumi-lang-yaml=\"`pathPreference`\" pulumi-lang-java=\"`pathPreference`\" pulumi-lang-hcl=\"`path_preference`\"\u003e`pathPreference`\u003c/span\u003e\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application services or groups matched by this policy\n"
                },
                "sslProxy": {
                    "$ref": "#/types/junipermist:org/ServicepolicySslProxy:ServicepolicySslProxy",
                    "description": "SSL proxy inspection settings applied by this service policy\n"
                },
                "tenants": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tenant names matched by this service policy\n"
                }
            },
            "required": [
                "action",
                "name",
                "orgId"
            ],
            "inputProperties": {
                "aamw": {
                    "$ref": "#/types/junipermist:org/ServicepolicyAamw:ServicepolicyAamw",
                    "description": "Advanced anti-malware settings applied by this service policy\n"
                },
                "action": {
                    "type": "string",
                    "description": "Allow or deny action for traffic matched by this service policy\n"
                },
                "antivirus": {
                    "$ref": "#/types/junipermist:org/ServicepolicyAntivirus:ServicepolicyAntivirus",
                    "description": "Malware and virus inspection settings applied by this service policy\n"
                },
                "appqoe": {
                    "$ref": "#/types/junipermist:org/ServicepolicyAppqoe:ServicepolicyAppqoe",
                    "description": "Application QoE settings applied by this service policy\n"
                },
                "ewfs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/ServicepolicyEwf:ServicepolicyEwf"
                    },
                    "description": "Enhanced web filtering rules applied by this service policy\n"
                },
                "idp": {
                    "$ref": "#/types/junipermist:org/ServicepolicyIdp:ServicepolicyIdp",
                    "description": "Intrusion detection and prevention settings applied by this service policy\n"
                },
                "localRouting": {
                    "type": "boolean",
                    "description": "Whether the policy permits access within the same VRF\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the service policy\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this service policy\n"
                },
                "pathPreference": {
                    "type": "string",
                    "description": "By default, we derive all paths available and use them, optionally, you can customize by using \u003cspan pulumi-lang-nodejs=\"`pathPreference`\" pulumi-lang-dotnet=\"`PathPreference`\" pulumi-lang-go=\"`pathPreference`\" pulumi-lang-python=\"`path_preference`\" pulumi-lang-yaml=\"`pathPreference`\" pulumi-lang-java=\"`pathPreference`\" pulumi-lang-hcl=\"`path_preference`\"\u003e`pathPreference`\u003c/span\u003e\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application services or groups matched by this policy\n"
                },
                "sslProxy": {
                    "$ref": "#/types/junipermist:org/ServicepolicySslProxy:ServicepolicySslProxy",
                    "description": "SSL proxy inspection settings applied by this service policy\n"
                },
                "tenants": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tenant names matched by this service policy\n"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Servicepolicy resources.\n",
                "properties": {
                    "aamw": {
                        "$ref": "#/types/junipermist:org/ServicepolicyAamw:ServicepolicyAamw",
                        "description": "Advanced anti-malware settings applied by this service policy\n"
                    },
                    "action": {
                        "type": "string",
                        "description": "Allow or deny action for traffic matched by this service policy\n"
                    },
                    "antivirus": {
                        "$ref": "#/types/junipermist:org/ServicepolicyAntivirus:ServicepolicyAntivirus",
                        "description": "Malware and virus inspection settings applied by this service policy\n"
                    },
                    "appqoe": {
                        "$ref": "#/types/junipermist:org/ServicepolicyAppqoe:ServicepolicyAppqoe",
                        "description": "Application QoE settings applied by this service policy\n"
                    },
                    "ewfs": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/ServicepolicyEwf:ServicepolicyEwf"
                        },
                        "description": "Enhanced web filtering rules applied by this service policy\n"
                    },
                    "idp": {
                        "$ref": "#/types/junipermist:org/ServicepolicyIdp:ServicepolicyIdp",
                        "description": "Intrusion detection and prevention settings applied by this service policy\n"
                    },
                    "localRouting": {
                        "type": "boolean",
                        "description": "Whether the policy permits access within the same VRF\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the service policy\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this service policy\n"
                    },
                    "pathPreference": {
                        "type": "string",
                        "description": "By default, we derive all paths available and use them, optionally, you can customize by using \u003cspan pulumi-lang-nodejs=\"`pathPreference`\" pulumi-lang-dotnet=\"`PathPreference`\" pulumi-lang-go=\"`pathPreference`\" pulumi-lang-python=\"`path_preference`\" pulumi-lang-yaml=\"`pathPreference`\" pulumi-lang-java=\"`pathPreference`\" pulumi-lang-hcl=\"`path_preference`\"\u003e`pathPreference`\u003c/span\u003e\n"
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Application services or groups matched by this policy\n"
                    },
                    "sslProxy": {
                        "$ref": "#/types/junipermist:org/ServicepolicySslProxy:ServicepolicySslProxy",
                        "description": "SSL proxy inspection settings applied by this service policy\n"
                    },
                    "tenants": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tenant names matched by this service policy\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/setting:Setting": {
            "description": "This resource manages the Org Settings.\n\nThe Org Settings can be used to customize the Org configuration\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst terraformTest = new junipermist.org.Setting(\"terraform_test\", {\n    orgId: terraformTestMistOrg.id,\n    apUpdownThreshold: 10,\n    cradlepoint: {\n        cpApiId: \"cp_api_id_test\",\n        cpApiKey: \"secret\",\n        ecmApiId: \"ecm_api_id_test\",\n        ecmApiKey: \"secret\",\n    },\n    deviceUpdownThreshold: 10,\n    disablePcap: false,\n    disableRemoteShell: true,\n    gatewayUpdownThreshold: 10,\n    mxedgeMgmt: {\n        mistPassword: \"root_secret_password\",\n        rootPassword: \"root_secret_password\",\n        oobIpType: \"dhcp\",\n        oobIpType6: \"disabled\",\n    },\n    passwordPolicy: {\n        enabled: true,\n        freshness: 180,\n        minLength: 12,\n        requiresSpecialChar: true,\n        requiresTwoFactorAuth: false,\n    },\n    security: {\n        disableLocalSsh: true,\n    },\n    switchUpdownThreshold: 10,\n    syntheticTest: {\n        disabled: false,\n        vlans: [\n            {\n                vlanIds: [\n                    \"10\",\n                    \"30\",\n                ],\n                customTestUrls: [\n                    \"http://www.abc.com/\",\n                    \"https://10.3.5.1:8080/about\",\n                ],\n            },\n            {\n                vlanIds: [\"20\"],\n                disabled: true,\n            },\n        ],\n    },\n    uiIdleTimeout: 120,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nterraform_test = junipermist.org.Setting(\"terraform_test\",\n    org_id=terraform_test_mist_org[\"id\"],\n    ap_updown_threshold=10,\n    cradlepoint={\n        \"cpApiId\": \"cp_api_id_test\",\n        \"cpApiKey\": \"secret\",\n        \"ecmApiId\": \"ecm_api_id_test\",\n        \"ecmApiKey\": \"secret\",\n    },\n    device_updown_threshold=10,\n    disable_pcap=False,\n    disable_remote_shell=True,\n    gateway_updown_threshold=10,\n    mxedge_mgmt={\n        \"mist_password\": \"root_secret_password\",\n        \"root_password\": \"root_secret_password\",\n        \"oob_ip_type\": \"dhcp\",\n        \"oob_ip_type6\": \"disabled\",\n    },\n    password_policy={\n        \"enabled\": True,\n        \"freshness\": 180,\n        \"min_length\": 12,\n        \"requires_special_char\": True,\n        \"requires_two_factor_auth\": False,\n    },\n    security={\n        \"disable_local_ssh\": True,\n    },\n    switch_updown_threshold=10,\n    synthetic_test={\n        \"disabled\": False,\n        \"vlans\": [\n            {\n                \"vlan_ids\": [\n                    \"10\",\n                    \"30\",\n                ],\n                \"custom_test_urls\": [\n                    \"http://www.abc.com/\",\n                    \"https://10.3.5.1:8080/about\",\n                ],\n            },\n            {\n                \"vlan_ids\": [\"20\"],\n                \"disabled\": True,\n            },\n        ],\n    },\n    ui_idle_timeout=120)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraformTest = new JuniperMist.Org.Setting(\"terraform_test\", new()\n    {\n        OrgId = terraformTestMistOrg.Id,\n        ApUpdownThreshold = 10,\n        Cradlepoint = new JuniperMist.Org.Inputs.SettingCradlepointArgs\n        {\n            CpApiId = \"cp_api_id_test\",\n            CpApiKey = \"secret\",\n            EcmApiId = \"ecm_api_id_test\",\n            EcmApiKey = \"secret\",\n        },\n        DeviceUpdownThreshold = 10,\n        DisablePcap = false,\n        DisableRemoteShell = true,\n        GatewayUpdownThreshold = 10,\n        MxedgeMgmt = new JuniperMist.Org.Inputs.SettingMxedgeMgmtArgs\n        {\n            MistPassword = \"root_secret_password\",\n            RootPassword = \"root_secret_password\",\n            OobIpType = \"dhcp\",\n            OobIpType6 = \"disabled\",\n        },\n        PasswordPolicy = new JuniperMist.Org.Inputs.SettingPasswordPolicyArgs\n        {\n            Enabled = true,\n            Freshness = 180,\n            MinLength = 12,\n            RequiresSpecialChar = true,\n            RequiresTwoFactorAuth = false,\n        },\n        Security = new JuniperMist.Org.Inputs.SettingSecurityArgs\n        {\n            DisableLocalSsh = true,\n        },\n        SwitchUpdownThreshold = 10,\n        SyntheticTest = new JuniperMist.Org.Inputs.SettingSyntheticTestArgs\n        {\n            Disabled = false,\n            Vlans = new[]\n            {\n                new JuniperMist.Org.Inputs.SettingSyntheticTestVlanArgs\n                {\n                    VlanIds = new[]\n                    {\n                        \"10\",\n                        \"30\",\n                    },\n                    CustomTestUrls = new[]\n                    {\n                        \"http://www.abc.com/\",\n                        \"https://10.3.5.1:8080/about\",\n                    },\n                },\n                new JuniperMist.Org.Inputs.SettingSyntheticTestVlanArgs\n                {\n                    VlanIds = new[]\n                    {\n                        \"20\",\n                    },\n                    Disabled = true,\n                },\n            },\n        },\n        UiIdleTimeout = 120,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewSetting(ctx, \"terraform_test\", \u0026org.SettingArgs{\n\t\t\tOrgId:             pulumi.Any(terraformTestMistOrg.Id),\n\t\t\tApUpdownThreshold: pulumi.Int(10),\n\t\t\tCradlepoint: map[string]interface{}{\n\t\t\t\t\"cpApiId\":   \"cp_api_id_test\",\n\t\t\t\t\"cpApiKey\":  \"secret\",\n\t\t\t\t\"ecmApiId\":  \"ecm_api_id_test\",\n\t\t\t\t\"ecmApiKey\": \"secret\",\n\t\t\t},\n\t\t\tDeviceUpdownThreshold:  pulumi.Int(10),\n\t\t\tDisablePcap:            pulumi.Bool(false),\n\t\t\tDisableRemoteShell:     pulumi.Bool(true),\n\t\t\tGatewayUpdownThreshold: pulumi.Int(10),\n\t\t\tMxedgeMgmt: \u0026org.SettingMxedgeMgmtArgs{\n\t\t\t\tMistPassword: pulumi.String(\"root_secret_password\"),\n\t\t\t\tRootPassword: pulumi.String(\"root_secret_password\"),\n\t\t\t\tOobIpType:    pulumi.String(\"dhcp\"),\n\t\t\t\tOobIpType6:   pulumi.String(\"disabled\"),\n\t\t\t},\n\t\t\tPasswordPolicy: \u0026org.SettingPasswordPolicyArgs{\n\t\t\t\tEnabled:               pulumi.Bool(true),\n\t\t\t\tFreshness:             180,\n\t\t\t\tMinLength:             pulumi.Int(12),\n\t\t\t\tRequiresSpecialChar:   pulumi.Bool(true),\n\t\t\t\tRequiresTwoFactorAuth: pulumi.Bool(false),\n\t\t\t},\n\t\t\tSecurity: \u0026org.SettingSecurityArgs{\n\t\t\t\tDisableLocalSsh: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSwitchUpdownThreshold: pulumi.Int(10),\n\t\t\tSyntheticTest: \u0026org.SettingSyntheticTestArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tVlans: org.SettingSyntheticTestVlanArray{\n\t\t\t\t\t\u0026org.SettingSyntheticTestVlanArgs{\n\t\t\t\t\t\tVlanIds: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"10\"),\n\t\t\t\t\t\t\tpulumi.String(\"30\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCustomTestUrls: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"http://www.abc.com/\"),\n\t\t\t\t\t\t\tpulumi.String(\"https://10.3.5.1:8080/about\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026org.SettingSyntheticTestVlanArgs{\n\t\t\t\t\t\tVlanIds: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"20\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDisabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tUiIdleTimeout: pulumi.Int(120),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_setting\" \"terraform_test\" {\n  org_id              = terraformTestMistOrg.id\n  ap_updown_threshold = 10\n  cradlepoint = {\n    \"cpApiId\"   = \"cp_api_id_test\"\n    \"cpApiKey\"  = \"secret\"\n    \"ecmApiId\"  = \"ecm_api_id_test\"\n    \"ecmApiKey\" = \"secret\"\n  }\n  device_updown_threshold  = 10\n  disable_pcap             = false\n  disable_remote_shell     = true\n  gateway_updown_threshold = 10\n  mxedge_mgmt = {\n    mist_password = \"root_secret_password\"\n    root_password = \"root_secret_password\"\n    oob_ip_type   = \"dhcp\"\n    oob_ip_type6  = \"disabled\"\n  }\n  password_policy = {\n    enabled                  = true\n    freshness                = 180\n    min_length               = 12\n    requires_special_char    = true\n    requires_two_factor_auth = false\n  }\n  security = {\n    disable_local_ssh = true\n  }\n  switch_updown_threshold = 10\n  synthetic_test = {\n    disabled = false\n    vlans = [{\n      \"vlanIds\"        = [\"10\", \"30\"]\n      \"customTestUrls\" = [\"http://www.abc.com/\", \"https://10.3.5.1:8080/about\"]\n      }, {\n      \"vlanIds\"  = [\"20\"]\n      \"disabled\" = true\n    }]\n  }\n  ui_idle_timeout = 120\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Setting;\nimport com.pulumi.junipermist.org.SettingArgs;\nimport com.pulumi.junipermist.org.inputs.SettingMxedgeMgmtArgs;\nimport com.pulumi.junipermist.org.inputs.SettingPasswordPolicyArgs;\nimport com.pulumi.junipermist.org.inputs.SettingSecurityArgs;\nimport com.pulumi.junipermist.org.inputs.SettingSyntheticTestArgs;\nimport com.pulumi.junipermist.org.inputs.SettingSyntheticTestVlanArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var terraformTest = new Setting(\"terraformTest\", SettingArgs.builder()\n            .orgId(terraformTestMistOrg.id())\n            .apUpdownThreshold(10)\n            .cradlepoint(Map.ofEntries(\n                Map.entry(\"cpApiId\", \"cp_api_id_test\"),\n                Map.entry(\"cpApiKey\", \"secret\"),\n                Map.entry(\"ecmApiId\", \"ecm_api_id_test\"),\n                Map.entry(\"ecmApiKey\", \"secret\")\n            ))\n            .deviceUpdownThreshold(10)\n            .disablePcap(false)\n            .disableRemoteShell(true)\n            .gatewayUpdownThreshold(10)\n            .mxedgeMgmt(SettingMxedgeMgmtArgs.builder()\n                .mistPassword(\"root_secret_password\")\n                .rootPassword(\"root_secret_password\")\n                .oobIpType(\"dhcp\")\n                .oobIpType6(\"disabled\")\n                .build())\n            .passwordPolicy(SettingPasswordPolicyArgs.builder()\n                .enabled(true)\n                .freshness(180)\n                .minLength(12)\n                .requiresSpecialChar(true)\n                .requiresTwoFactorAuth(false)\n                .build())\n            .security(SettingSecurityArgs.builder()\n                .disableLocalSsh(true)\n                .build())\n            .switchUpdownThreshold(10)\n            .syntheticTest(SettingSyntheticTestArgs.builder()\n                .disabled(false)\n                .vlans(                \n                    SettingSyntheticTestVlanArgs.builder()\n                        .vlanIds(                        \n                            \"10\",\n                            \"30\")\n                        .customTestUrls(                        \n                            \"http://www.abc.com/\",\n                            \"https://10.3.5.1:8080/about\")\n                        .build(),\n                    SettingSyntheticTestVlanArgs.builder()\n                        .vlanIds(\"20\")\n                        .disabled(true)\n                        .build())\n                .build())\n            .uiIdleTimeout(120)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraformTest:\n    type: junipermist:org:Setting\n    name: terraform_test\n    properties:\n      orgId: ${terraformTestMistOrg.id}\n      apUpdownThreshold: 10\n      cradlepoint:\n        cpApiId: cp_api_id_test\n        cpApiKey: secret\n        ecmApiId: ecm_api_id_test\n        ecmApiKey: secret\n      deviceUpdownThreshold: 10\n      disablePcap: false\n      disableRemoteShell: true\n      gatewayUpdownThreshold: 10\n      mxedgeMgmt:\n        mistPassword: root_secret_password\n        rootPassword: root_secret_password\n        oobIpType: dhcp\n        oobIpType6: disabled\n      passwordPolicy:\n        enabled: true\n        freshness: 180\n        minLength: 12\n        requiresSpecialChar: true\n        requiresTwoFactorAuth: false\n      security:\n        disableLocalSsh: true\n      switchUpdownThreshold: 10\n      syntheticTest:\n        disabled: false\n        vlans:\n          - vlanIds:\n              - '10'\n              - '30'\n            customTestUrls:\n              - http://www.abc.com/\n              - https://10.3.5.1:8080/about\n          - vlanIds:\n              - '20'\n            disabled: true\n      uiIdleTimeout: 120\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Setting`\" pulumi-lang-dotnet=\"`junipermist.org.Setting`\" pulumi-lang-go=\"`org.Setting`\" pulumi-lang-python=\"`org.Setting`\" pulumi-lang-yaml=\"`junipermist.org.Setting`\" pulumi-lang-java=\"`junipermist.org.Setting`\" pulumi-lang-hcl=\"`mist_org_setting`\"\u003e`junipermist.org.Setting`\u003c/span\u003e with:\nOrg Setting can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId\n\" pulumi-lang-dotnet=\" OrgId\n\" pulumi-lang-go=\" orgId\n\" pulumi-lang-python=\" org_id\n\" pulumi-lang-yaml=\" orgId\n\" pulumi-lang-java=\" orgId\n\" pulumi-lang-hcl=\" org_id\n\"\u003e orgId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/setting:Setting setting_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a\n```\n\n",
            "properties": {
                "allowMist": {
                    "type": "boolean",
                    "description": "whether to allow Mist to look at this org"
                },
                "apUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for AP devices only. When configured it takes effect for AP devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "apiPolicy": {
                    "$ref": "#/types/junipermist:org/SettingApiPolicy:SettingApiPolicy",
                    "description": "Policy for hiding API secrets and passwords in responses"
                },
                "autoUpgrade": {
                    "$ref": "#/types/junipermist:org/SettingAutoUpgrade:SettingAutoUpgrade",
                    "description": "AP automatic firmware upgrade policy for the organization"
                },
                "cacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CA certificates used by organization-level RADIUS and RADSec settings"
                },
                "celona": {
                    "$ref": "#/types/junipermist:org/SettingCelona:SettingCelona",
                    "description": "Integration settings for Celona"
                },
                "cloudshark": {
                    "$ref": "#/types/junipermist:org/SettingCloudshark:SettingCloudshark",
                    "description": "Packet capture integration settings for CloudShark"
                },
                "cradlepoint": {
                    "$ref": "#/types/junipermist:org/SettingCradlepoint:SettingCradlepoint",
                    "description": "Integration settings for Cradlepoint devices"
                },
                "deviceCert": {
                    "$ref": "#/types/junipermist:org/SettingDeviceCert:SettingDeviceCert",
                    "description": "Common device certificate used by organization settings"
                },
                "deviceUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery via\n  * device-updowns webhooks topic, \n  * Mist Alert Framework; e.g. send AP/SW/GW down event only if AP/SW/GW Up is not seen within the threshold in minutes; 0 - 240, default is 0 (trigger immediate)"
                },
                "disablePcap": {
                    "type": "boolean",
                    "description": "Whether to disallow Mist to analyze pcap files (this is required for marvis pcap)"
                },
                "disableRemoteShell": {
                    "type": "boolean",
                    "description": "Whether to disable remote shell access for an entire org"
                },
                "gatewayTunnelUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based gateway tunnel (secure edge tunnels) up-down delivery."
                },
                "gatewayUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for Gateway devices only. When configured it takes effect for GW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "installer": {
                    "$ref": "#/types/junipermist:org/SettingInstaller:SettingInstaller",
                    "description": "Access settings for organization installer workflows"
                },
                "jcloud": {
                    "$ref": "#/types/junipermist:org/SettingJcloud:SettingJcloud",
                    "description": "Integration settings for JCloud"
                },
                "jcloudRa": {
                    "$ref": "#/types/junipermist:org/SettingJcloudRa:SettingJcloudRa",
                    "description": "Routing Assurance integration settings for JCloud"
                },
                "juniper": {
                    "$ref": "#/types/junipermist:org/SettingJuniper:SettingJuniper",
                    "description": "Linked Juniper account information for this organization"
                },
                "juniperSrx": {
                    "$ref": "#/types/junipermist:org/SettingJuniperSrx:SettingJuniperSrx",
                    "description": "SRX integration settings for Juniper devices"
                },
                "junosShellAccess": {
                    "$ref": "#/types/junipermist:org/SettingJunosShellAccess:SettingJunosShellAccess",
                    "description": "Role-based Junos web-shell access settings"
                },
                "marvis": {
                    "$ref": "#/types/junipermist:org/SettingMarvis:SettingMarvis",
                    "description": "AI assistant and self-driving feature settings for Marvis"
                },
                "mgmt": {
                    "$ref": "#/types/junipermist:org/SettingMgmt:SettingMgmt",
                    "description": "Tunnel settings for organization management connectivity"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/SettingMistNac:SettingMistNac",
                    "description": "NAC settings for Mist Access Assurance"
                },
                "mxedgeMgmt": {
                    "$ref": "#/types/junipermist:org/SettingMxedgeMgmt:SettingMxedgeMgmt",
                    "description": "Management settings for Mist Edge devices"
                },
                "opticPortConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/SettingOpticPortConfig:SettingOpticPortConfig"
                    },
                    "description": "Configuration defaults for optic ports"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns these settings"
                },
                "passwordPolicy": {
                    "$ref": "#/types/junipermist:org/SettingPasswordPolicy:SettingPasswordPolicy",
                    "description": "Admin credential policy settings for the organization"
                },
                "pcap": {
                    "$ref": "#/types/junipermist:org/SettingPcap:SettingPcap",
                    "description": "Packet capture settings for the organization"
                },
                "security": {
                    "$ref": "#/types/junipermist:org/SettingSecurity:SettingSecurity",
                    "description": "Organization security controls such as local SSH restrictions"
                },
                "ssr": {
                    "$ref": "#/types/junipermist:org/SettingSsr:SettingSsr",
                    "description": "Session Smart Router settings for the organization"
                },
                "switch": {
                    "$ref": "#/types/junipermist:org/SettingSwitch:SettingSwitch",
                    "description": "Configuration defaults for switches in this organization"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:org/SettingSwitchMgmt:SettingSwitchMgmt",
                    "description": "Management settings for switches in this organization"
                },
                "switchUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for Switch devices only. When configured it takes effect for SW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "syntheticTest": {
                    "$ref": "#/types/junipermist:org/SettingSyntheticTest:SettingSyntheticTest",
                    "description": "Configuration for organization synthetic tests"
                },
                "uiIdleTimeout": {
                    "type": "integer",
                    "description": "Automatically logout the user when UI session is inactive. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means disabled"
                },
                "uiNoTracking": {
                    "type": "boolean",
                    "description": "Whether UI usage tracking is disabled for the organization"
                },
                "vpnOptions": {
                    "$ref": "#/types/junipermist:org/SettingVpnOptions:SettingVpnOptions",
                    "description": "Options for organization VPN behavior"
                },
                "wanPma": {
                    "$ref": "#/types/junipermist:org/SettingWanPma:SettingWanPma",
                    "description": "PMA feature settings for WAN Assurance"
                },
                "wiredPma": {
                    "$ref": "#/types/junipermist:org/SettingWiredPma:SettingWiredPma",
                    "description": "PMA feature settings for Wired Assurance"
                },
                "wirelessPma": {
                    "$ref": "#/types/junipermist:org/SettingWirelessPma:SettingWirelessPma",
                    "description": "PMA feature settings for Wireless Assurance"
                }
            },
            "required": [
                "allowMist",
                "cacerts",
                "cradlepoint",
                "juniper",
                "orgId",
                "pcap",
                "uiIdleTimeout"
            ],
            "inputProperties": {
                "apUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for AP devices only. When configured it takes effect for AP devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "apiPolicy": {
                    "$ref": "#/types/junipermist:org/SettingApiPolicy:SettingApiPolicy",
                    "description": "Policy for hiding API secrets and passwords in responses"
                },
                "autoUpgrade": {
                    "$ref": "#/types/junipermist:org/SettingAutoUpgrade:SettingAutoUpgrade",
                    "description": "AP automatic firmware upgrade policy for the organization"
                },
                "cacerts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "CA certificates used by organization-level RADIUS and RADSec settings"
                },
                "celona": {
                    "$ref": "#/types/junipermist:org/SettingCelona:SettingCelona",
                    "description": "Integration settings for Celona"
                },
                "cloudshark": {
                    "$ref": "#/types/junipermist:org/SettingCloudshark:SettingCloudshark",
                    "description": "Packet capture integration settings for CloudShark"
                },
                "deviceCert": {
                    "$ref": "#/types/junipermist:org/SettingDeviceCert:SettingDeviceCert",
                    "description": "Common device certificate used by organization settings"
                },
                "deviceUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery via\n  * device-updowns webhooks topic, \n  * Mist Alert Framework; e.g. send AP/SW/GW down event only if AP/SW/GW Up is not seen within the threshold in minutes; 0 - 240, default is 0 (trigger immediate)"
                },
                "disablePcap": {
                    "type": "boolean",
                    "description": "Whether to disallow Mist to analyze pcap files (this is required for marvis pcap)"
                },
                "disableRemoteShell": {
                    "type": "boolean",
                    "description": "Whether to disable remote shell access for an entire org"
                },
                "gatewayTunnelUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based gateway tunnel (secure edge tunnels) up-down delivery."
                },
                "gatewayUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for Gateway devices only. When configured it takes effect for GW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "installer": {
                    "$ref": "#/types/junipermist:org/SettingInstaller:SettingInstaller",
                    "description": "Access settings for organization installer workflows"
                },
                "jcloud": {
                    "$ref": "#/types/junipermist:org/SettingJcloud:SettingJcloud",
                    "description": "Integration settings for JCloud"
                },
                "jcloudRa": {
                    "$ref": "#/types/junipermist:org/SettingJcloudRa:SettingJcloudRa",
                    "description": "Routing Assurance integration settings for JCloud"
                },
                "juniperSrx": {
                    "$ref": "#/types/junipermist:org/SettingJuniperSrx:SettingJuniperSrx",
                    "description": "SRX integration settings for Juniper devices"
                },
                "junosShellAccess": {
                    "$ref": "#/types/junipermist:org/SettingJunosShellAccess:SettingJunosShellAccess",
                    "description": "Role-based Junos web-shell access settings"
                },
                "marvis": {
                    "$ref": "#/types/junipermist:org/SettingMarvis:SettingMarvis",
                    "description": "AI assistant and self-driving feature settings for Marvis"
                },
                "mgmt": {
                    "$ref": "#/types/junipermist:org/SettingMgmt:SettingMgmt",
                    "description": "Tunnel settings for organization management connectivity"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/SettingMistNac:SettingMistNac",
                    "description": "NAC settings for Mist Access Assurance"
                },
                "mxedgeMgmt": {
                    "$ref": "#/types/junipermist:org/SettingMxedgeMgmt:SettingMxedgeMgmt",
                    "description": "Management settings for Mist Edge devices"
                },
                "opticPortConfig": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/SettingOpticPortConfig:SettingOpticPortConfig"
                    },
                    "description": "Configuration defaults for optic ports"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns these settings"
                },
                "passwordPolicy": {
                    "$ref": "#/types/junipermist:org/SettingPasswordPolicy:SettingPasswordPolicy",
                    "description": "Admin credential policy settings for the organization"
                },
                "security": {
                    "$ref": "#/types/junipermist:org/SettingSecurity:SettingSecurity",
                    "description": "Organization security controls such as local SSH restrictions"
                },
                "ssr": {
                    "$ref": "#/types/junipermist:org/SettingSsr:SettingSsr",
                    "description": "Session Smart Router settings for the organization"
                },
                "switch": {
                    "$ref": "#/types/junipermist:org/SettingSwitch:SettingSwitch",
                    "description": "Configuration defaults for switches in this organization"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:org/SettingSwitchMgmt:SettingSwitchMgmt",
                    "description": "Management settings for switches in this organization"
                },
                "switchUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for Switch devices only. When configured it takes effect for SW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "syntheticTest": {
                    "$ref": "#/types/junipermist:org/SettingSyntheticTest:SettingSyntheticTest",
                    "description": "Configuration for organization synthetic tests"
                },
                "uiIdleTimeout": {
                    "type": "integer",
                    "description": "Automatically logout the user when UI session is inactive. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means disabled"
                },
                "uiNoTracking": {
                    "type": "boolean",
                    "description": "Whether UI usage tracking is disabled for the organization"
                },
                "vpnOptions": {
                    "$ref": "#/types/junipermist:org/SettingVpnOptions:SettingVpnOptions",
                    "description": "Options for organization VPN behavior"
                },
                "wanPma": {
                    "$ref": "#/types/junipermist:org/SettingWanPma:SettingWanPma",
                    "description": "PMA feature settings for WAN Assurance"
                },
                "wiredPma": {
                    "$ref": "#/types/junipermist:org/SettingWiredPma:SettingWiredPma",
                    "description": "PMA feature settings for Wired Assurance"
                },
                "wirelessPma": {
                    "$ref": "#/types/junipermist:org/SettingWirelessPma:SettingWirelessPma",
                    "description": "PMA feature settings for Wireless Assurance"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Setting resources.\n",
                "properties": {
                    "allowMist": {
                        "type": "boolean",
                        "description": "whether to allow Mist to look at this org"
                    },
                    "apUpdownThreshold": {
                        "type": "integer",
                        "description": "Enable threshold-based device down delivery for AP devices only. When configured it takes effect for AP devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                    },
                    "apiPolicy": {
                        "$ref": "#/types/junipermist:org/SettingApiPolicy:SettingApiPolicy",
                        "description": "Policy for hiding API secrets and passwords in responses"
                    },
                    "autoUpgrade": {
                        "$ref": "#/types/junipermist:org/SettingAutoUpgrade:SettingAutoUpgrade",
                        "description": "AP automatic firmware upgrade policy for the organization"
                    },
                    "cacerts": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "CA certificates used by organization-level RADIUS and RADSec settings"
                    },
                    "celona": {
                        "$ref": "#/types/junipermist:org/SettingCelona:SettingCelona",
                        "description": "Integration settings for Celona"
                    },
                    "cloudshark": {
                        "$ref": "#/types/junipermist:org/SettingCloudshark:SettingCloudshark",
                        "description": "Packet capture integration settings for CloudShark"
                    },
                    "cradlepoint": {
                        "$ref": "#/types/junipermist:org/SettingCradlepoint:SettingCradlepoint",
                        "description": "Integration settings for Cradlepoint devices"
                    },
                    "deviceCert": {
                        "$ref": "#/types/junipermist:org/SettingDeviceCert:SettingDeviceCert",
                        "description": "Common device certificate used by organization settings"
                    },
                    "deviceUpdownThreshold": {
                        "type": "integer",
                        "description": "Enable threshold-based device down delivery via\n  * device-updowns webhooks topic, \n  * Mist Alert Framework; e.g. send AP/SW/GW down event only if AP/SW/GW Up is not seen within the threshold in minutes; 0 - 240, default is 0 (trigger immediate)"
                    },
                    "disablePcap": {
                        "type": "boolean",
                        "description": "Whether to disallow Mist to analyze pcap files (this is required for marvis pcap)"
                    },
                    "disableRemoteShell": {
                        "type": "boolean",
                        "description": "Whether to disable remote shell access for an entire org"
                    },
                    "gatewayTunnelUpdownThreshold": {
                        "type": "integer",
                        "description": "enable threshold-based gateway tunnel (secure edge tunnels) up-down delivery."
                    },
                    "gatewayUpdownThreshold": {
                        "type": "integer",
                        "description": "Enable threshold-based device down delivery for Gateway devices only. When configured it takes effect for GW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                    },
                    "installer": {
                        "$ref": "#/types/junipermist:org/SettingInstaller:SettingInstaller",
                        "description": "Access settings for organization installer workflows"
                    },
                    "jcloud": {
                        "$ref": "#/types/junipermist:org/SettingJcloud:SettingJcloud",
                        "description": "Integration settings for JCloud"
                    },
                    "jcloudRa": {
                        "$ref": "#/types/junipermist:org/SettingJcloudRa:SettingJcloudRa",
                        "description": "Routing Assurance integration settings for JCloud"
                    },
                    "juniper": {
                        "$ref": "#/types/junipermist:org/SettingJuniper:SettingJuniper",
                        "description": "Linked Juniper account information for this organization"
                    },
                    "juniperSrx": {
                        "$ref": "#/types/junipermist:org/SettingJuniperSrx:SettingJuniperSrx",
                        "description": "SRX integration settings for Juniper devices"
                    },
                    "junosShellAccess": {
                        "$ref": "#/types/junipermist:org/SettingJunosShellAccess:SettingJunosShellAccess",
                        "description": "Role-based Junos web-shell access settings"
                    },
                    "marvis": {
                        "$ref": "#/types/junipermist:org/SettingMarvis:SettingMarvis",
                        "description": "AI assistant and self-driving feature settings for Marvis"
                    },
                    "mgmt": {
                        "$ref": "#/types/junipermist:org/SettingMgmt:SettingMgmt",
                        "description": "Tunnel settings for organization management connectivity"
                    },
                    "mistNac": {
                        "$ref": "#/types/junipermist:org/SettingMistNac:SettingMistNac",
                        "description": "NAC settings for Mist Access Assurance"
                    },
                    "mxedgeMgmt": {
                        "$ref": "#/types/junipermist:org/SettingMxedgeMgmt:SettingMxedgeMgmt",
                        "description": "Management settings for Mist Edge devices"
                    },
                    "opticPortConfig": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/SettingOpticPortConfig:SettingOpticPortConfig"
                        },
                        "description": "Configuration defaults for optic ports"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns these settings"
                    },
                    "passwordPolicy": {
                        "$ref": "#/types/junipermist:org/SettingPasswordPolicy:SettingPasswordPolicy",
                        "description": "Admin credential policy settings for the organization"
                    },
                    "pcap": {
                        "$ref": "#/types/junipermist:org/SettingPcap:SettingPcap",
                        "description": "Packet capture settings for the organization"
                    },
                    "security": {
                        "$ref": "#/types/junipermist:org/SettingSecurity:SettingSecurity",
                        "description": "Organization security controls such as local SSH restrictions"
                    },
                    "ssr": {
                        "$ref": "#/types/junipermist:org/SettingSsr:SettingSsr",
                        "description": "Session Smart Router settings for the organization"
                    },
                    "switch": {
                        "$ref": "#/types/junipermist:org/SettingSwitch:SettingSwitch",
                        "description": "Configuration defaults for switches in this organization"
                    },
                    "switchMgmt": {
                        "$ref": "#/types/junipermist:org/SettingSwitchMgmt:SettingSwitchMgmt",
                        "description": "Management settings for switches in this organization"
                    },
                    "switchUpdownThreshold": {
                        "type": "integer",
                        "description": "Enable threshold-based device down delivery for Switch devices only. When configured it takes effect for SW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                    },
                    "syntheticTest": {
                        "$ref": "#/types/junipermist:org/SettingSyntheticTest:SettingSyntheticTest",
                        "description": "Configuration for organization synthetic tests"
                    },
                    "uiIdleTimeout": {
                        "type": "integer",
                        "description": "Automatically logout the user when UI session is inactive. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means disabled"
                    },
                    "uiNoTracking": {
                        "type": "boolean",
                        "description": "Whether UI usage tracking is disabled for the organization"
                    },
                    "vpnOptions": {
                        "$ref": "#/types/junipermist:org/SettingVpnOptions:SettingVpnOptions",
                        "description": "Options for organization VPN behavior"
                    },
                    "wanPma": {
                        "$ref": "#/types/junipermist:org/SettingWanPma:SettingWanPma",
                        "description": "PMA feature settings for WAN Assurance"
                    },
                    "wiredPma": {
                        "$ref": "#/types/junipermist:org/SettingWiredPma:SettingWiredPma",
                        "description": "PMA feature settings for Wired Assurance"
                    },
                    "wirelessPma": {
                        "$ref": "#/types/junipermist:org/SettingWirelessPma:SettingWirelessPma",
                        "description": "PMA feature settings for Wireless Assurance"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/sitegroup:Sitegroup": {
            "description": "This resource managed the Org Site Groups (sitegroups).\n\nA site group is a feature that allows admins to group multiple sites together based on regions, functions, or other parameters for efficient management of devices.  \nSites can exist in multiple groups simultaneously, and site groups can be used to ensure consistent settings, manage administrator access, and apply specific templates to groups of sites.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst sitegroupOne = new junipermist.org.Sitegroup(\"sitegroup_one\", {\n    orgId: terraformTest.id,\n    name: \"sitegroup_one\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nsitegroup_one = junipermist.org.Sitegroup(\"sitegroup_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"sitegroup_one\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sitegroupOne = new JuniperMist.Org.Sitegroup(\"sitegroup_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"sitegroup_one\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewSitegroup(ctx, \"sitegroup_one\", \u0026org.SitegroupArgs{\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tName:  pulumi.String(\"sitegroup_one\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_sitegroup\" \"sitegroup_one\" {\n  org_id = terraformTest.id\n  name   = \"sitegroup_one\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Sitegroup;\nimport com.pulumi.junipermist.org.SitegroupArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sitegroupOne = new Sitegroup(\"sitegroupOne\", SitegroupArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"sitegroup_one\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sitegroupOne:\n    type: junipermist:org:Sitegroup\n    name: sitegroup_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: sitegroup_one\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Sitegroup`\" pulumi-lang-dotnet=\"`junipermist.org.Sitegroup`\" pulumi-lang-go=\"`org.Sitegroup`\" pulumi-lang-python=\"`org.Sitegroup`\" pulumi-lang-yaml=\"`junipermist.org.Sitegroup`\" pulumi-lang-java=\"`junipermist.org.Sitegroup`\" pulumi-lang-hcl=\"`mist_org_sitegroup`\"\u003e`junipermist.org.Sitegroup`\u003c/span\u003e with:\nOrg Site Group can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" sitegroupId\n\" pulumi-lang-dotnet=\" SitegroupId\n\" pulumi-lang-go=\" sitegroupId\n\" pulumi-lang-python=\" sitegroup_id\n\" pulumi-lang-yaml=\" sitegroupId\n\" pulumi-lang-java=\" sitegroupId\n\" pulumi-lang-hcl=\" sitegroup_id\n\"\u003e sitegroupId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/sitegroup:Sitegroup sitegroup_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Display name of the site group\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Identifier of the org that owns the site group\n"
                }
            },
            "required": [
                "name",
                "orgId"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "Display name of the site group\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Identifier of the org that owns the site group\n"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Sitegroup resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Display name of the site group\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Identifier of the org that owns the site group\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/sso:Sso": {
            "description": "This resource manages Org SSO Configuration.\n\nOrg SSO, or Single Sign-On, is a method of authentication that allows users to securely log in to multiple applications and websites with a single set of login credentials.  \nIt involves integrating the Org portal with an Identity Provider (IdP) using the Security Assertion Markup Language (SAML) framework.  \nThis enables users to authenticate themselves through their corporate IdP, eliminating the need to remember separate passwords or enter credentials each time they access the Org portal.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst ssoAdminOne = new junipermist.org.Sso(\"sso_admin_one\", {\n    orgId: terraformTest.id,\n    name: \"sso_admin_one\",\n    customLogoutUrl: \"https://idp.com/logout\",\n    idpCert: \"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\",\n    idpSignAlgo: \"sha512\",\n    idpSsoUrl: \"https://idp.com/login\",\n    issuer: \"my_idp_issuer\",\n    nameidFormat: \"email\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nsso_admin_one = junipermist.org.Sso(\"sso_admin_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"sso_admin_one\",\n    custom_logout_url=\"https://idp.com/logout\",\n    idp_cert=\"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\",\n    idp_sign_algo=\"sha512\",\n    idp_sso_url=\"https://idp.com/login\",\n    issuer=\"my_idp_issuer\",\n    nameid_format=\"email\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ssoAdminOne = new JuniperMist.Org.Sso(\"sso_admin_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"sso_admin_one\",\n        CustomLogoutUrl = \"https://idp.com/logout\",\n        IdpCert = \"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\",\n        IdpSignAlgo = \"sha512\",\n        IdpSsoUrl = \"https://idp.com/login\",\n        Issuer = \"my_idp_issuer\",\n        NameidFormat = \"email\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewSso(ctx, \"sso_admin_one\", \u0026org.SsoArgs{\n\t\t\tOrgId:           pulumi.Any(terraformTest.Id),\n\t\t\tName:            pulumi.String(\"sso_admin_one\"),\n\t\t\tCustomLogoutUrl: pulumi.String(\"https://idp.com/logout\"),\n\t\t\tIdpCert:         pulumi.String(\"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\"),\n\t\t\tIdpSignAlgo:     pulumi.String(\"sha512\"),\n\t\t\tIdpSsoUrl:       pulumi.String(\"https://idp.com/login\"),\n\t\t\tIssuer:          pulumi.String(\"my_idp_issuer\"),\n\t\t\tNameidFormat:    pulumi.String(\"email\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_sso\" \"sso_admin_one\" {\n  org_id            = terraformTest.id\n  name              = \"sso_admin_one\"\n  custom_logout_url = \"https://idp.com/logout\"\n  idp_cert          = \"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\"\n  idp_sign_algo     = \"sha512\"\n  idp_sso_url       = \"https://idp.com/login\"\n  issuer            = \"my_idp_issuer\"\n  nameid_format     = \"email\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Sso;\nimport com.pulumi.junipermist.org.SsoArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ssoAdminOne = new Sso(\"ssoAdminOne\", SsoArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"sso_admin_one\")\n            .customLogoutUrl(\"https://idp.com/logout\")\n            .idpCert(\"-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----\")\n            .idpSignAlgo(\"sha512\")\n            .idpSsoUrl(\"https://idp.com/login\")\n            .issuer(\"my_idp_issuer\")\n            .nameidFormat(\"email\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ssoAdminOne:\n    type: junipermist:org:Sso\n    name: sso_admin_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: sso_admin_one\n      customLogoutUrl: https://idp.com/logout\n      idpCert: '-----BEGIN CERTIFICATE-----MIIF0jC .../fSCGx7-----END CERTIFICATE-----'\n      idpSignAlgo: sha512\n      idpSsoUrl: https://idp.com/login\n      issuer: my_idp_issuer\n      nameidFormat: email\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Sso`\" pulumi-lang-dotnet=\"`junipermist.org.Sso`\" pulumi-lang-go=\"`org.Sso`\" pulumi-lang-python=\"`org.Sso`\" pulumi-lang-yaml=\"`junipermist.org.Sso`\" pulumi-lang-java=\"`junipermist.org.Sso`\" pulumi-lang-hcl=\"`mist_org_sso`\"\u003e`junipermist.org.Sso`\u003c/span\u003e with:\nOrg PSK can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" ssoId\n\" pulumi-lang-dotnet=\" SsoId\n\" pulumi-lang-go=\" ssoId\n\" pulumi-lang-python=\" sso_id\n\" pulumi-lang-yaml=\" ssoId\n\" pulumi-lang-java=\" ssoId\n\" pulumi-lang-hcl=\" sso_id\n\"\u003e ssoId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/sso:Sso sso_admin_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "customLogoutUrl": {
                    "type": "string",
                    "description": "a URL we will redirect the user after user logout from Mist (for some IdP which supports a custom logout URL that is different from SP-initiated SLO process)"
                },
                "defaultRole": {
                    "type": "string",
                    "description": "default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched"
                },
                "domain": {
                    "type": "string",
                    "description": "Random string generated during the SSO creation and used to generate the SAML URLs:\n  * ACS URL = `/api/v1/saml/{domain}/login` (e.g. `https://api.mist.com/api/v1/saml/s4t5vwv8/login`)\n  * Single Logout URL = `/api/v1/saml/{domain}/logout` (e.g. `https://api.mist.com/api/v1/saml/s4t5vwv8/logout`)"
                },
                "idpCert": {
                    "type": "string",
                    "description": "IDP Cert (used to verify the signed response)"
                },
                "idpSignAlgo": {
                    "type": "string",
                    "description": "Signing algorithm for SAML Assertion. enum \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\" pulumi-lang-hcl=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha256`\" pulumi-lang-dotnet=\"`Sha256`\" pulumi-lang-go=\"`sha256`\" pulumi-lang-python=\"`sha256`\" pulumi-lang-yaml=\"`sha256`\" pulumi-lang-java=\"`sha256`\" pulumi-lang-hcl=\"`sha256`\"\u003e`sha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha384`\" pulumi-lang-dotnet=\"`Sha384`\" pulumi-lang-go=\"`sha384`\" pulumi-lang-python=\"`sha384`\" pulumi-lang-yaml=\"`sha384`\" pulumi-lang-java=\"`sha384`\" pulumi-lang-hcl=\"`sha384`\"\u003e`sha384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha512`\" pulumi-lang-dotnet=\"`Sha512`\" pulumi-lang-go=\"`sha512`\" pulumi-lang-python=\"`sha512`\" pulumi-lang-yaml=\"`sha512`\" pulumi-lang-java=\"`sha512`\" pulumi-lang-hcl=\"`sha512`\"\u003e`sha512`\u003c/span\u003e"
                },
                "idpSsoUrl": {
                    "type": "string",
                    "description": "IDP Single-Sign-On URL"
                },
                "ignoreUnmatchedRoles": {
                    "type": "boolean",
                    "description": "ignore any unmatched roles provided in assertion. By default, an assertion is treated as invalid for any unmatched role"
                },
                "issuer": {
                    "type": "string",
                    "description": "IDP issuer URL"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the SSO configuration"
                },
                "nameidFormat": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unspecified`\" pulumi-lang-dotnet=\"`Unspecified`\" pulumi-lang-go=\"`unspecified`\" pulumi-lang-python=\"`unspecified`\" pulumi-lang-yaml=\"`unspecified`\" pulumi-lang-java=\"`unspecified`\" pulumi-lang-hcl=\"`unspecified`\"\u003e`unspecified`\u003c/span\u003e"
                },
                "oauthProviderDomain": {
                    "type": "string",
                    "description": "Provider domain for Okta OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`okta`\" pulumi-lang-dotnet=\"`Okta`\" pulumi-lang-go=\"`okta`\" pulumi-lang-python=\"`okta`\" pulumi-lang-yaml=\"`okta`\" pulumi-lang-java=\"`okta`\" pulumi-lang-hcl=\"`okta`\"\u003e`okta`\u003c/span\u003e"
                },
                "openroamingSsids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSIDs that support OpenRoaming, used when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`openroaming`\" pulumi-lang-dotnet=\"`Openroaming`\" pulumi-lang-go=\"`openroaming`\" pulumi-lang-python=\"`openroaming`\" pulumi-lang-yaml=\"`openroaming`\" pulumi-lang-java=\"`openroaming`\" pulumi-lang-hcl=\"`openroaming`\"\u003e`openroaming`\u003c/span\u003e"
                },
                "openroamingWbaClientCert": {
                    "type": "string",
                    "description": "Optional WBA-issued client certificate for OpenRoaming. If not provided, the default WBA-issued certificate for Juniper will be used.",
                    "secret": true
                },
                "openroamingWbaClientKey": {
                    "type": "string",
                    "description": "Optional WBA-issued client private key for OpenRoaming. If not provided, the default WBA-issued key for Juniper will be used.",
                    "secret": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization identifier for this SSO configuration"
                },
                "roleAttrExtraction": {
                    "type": "string",
                    "description": "custom role attribute parsing scheme. Supported Role Parsing Schemes \u003ctable\u003e\u003ctr\u003e\u003cth\u003eName\u003c/th\u003e\u003cth\u003eScheme\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan pulumi-lang-nodejs=\"`cn`\" pulumi-lang-dotnet=\"`Cn`\" pulumi-lang-go=\"`cn`\" pulumi-lang-python=\"`cn`\" pulumi-lang-yaml=\"`cn`\" pulumi-lang-java=\"`cn`\" pulumi-lang-hcl=\"`cn`\"\u003e`cn`\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cul\u003e\u003cli\u003eThe expected role attribute format in SAML Assertion is “CN=cn,OU=ou1,OU=ou2,…”\u003c/li\u003e\u003cli\u003eCN (the key) is case insensitive and exactly 1 CN is expected (or the entire entry will be ignored)\u003c/li\u003e\u003c/ul\u003eE.g. if role attribute is “CN=cn,OU=ou1,OU=ou2” then parsed role value is “cn”\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e"
                },
                "roleAttrFrom": {
                    "type": "string",
                    "description": "name of the attribute in SAML Assertion to extract role from. Default: `Role`"
                }
            },
            "required": [
                "domain",
                "idpCert",
                "idpSignAlgo",
                "idpSsoUrl",
                "issuer",
                "name",
                "nameidFormat",
                "oauthProviderDomain",
                "orgId",
                "roleAttrFrom"
            ],
            "inputProperties": {
                "customLogoutUrl": {
                    "type": "string",
                    "description": "a URL we will redirect the user after user logout from Mist (for some IdP which supports a custom logout URL that is different from SP-initiated SLO process)"
                },
                "defaultRole": {
                    "type": "string",
                    "description": "default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched"
                },
                "idpCert": {
                    "type": "string",
                    "description": "IDP Cert (used to verify the signed response)"
                },
                "idpSignAlgo": {
                    "type": "string",
                    "description": "Signing algorithm for SAML Assertion. enum \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\" pulumi-lang-hcl=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha256`\" pulumi-lang-dotnet=\"`Sha256`\" pulumi-lang-go=\"`sha256`\" pulumi-lang-python=\"`sha256`\" pulumi-lang-yaml=\"`sha256`\" pulumi-lang-java=\"`sha256`\" pulumi-lang-hcl=\"`sha256`\"\u003e`sha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha384`\" pulumi-lang-dotnet=\"`Sha384`\" pulumi-lang-go=\"`sha384`\" pulumi-lang-python=\"`sha384`\" pulumi-lang-yaml=\"`sha384`\" pulumi-lang-java=\"`sha384`\" pulumi-lang-hcl=\"`sha384`\"\u003e`sha384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha512`\" pulumi-lang-dotnet=\"`Sha512`\" pulumi-lang-go=\"`sha512`\" pulumi-lang-python=\"`sha512`\" pulumi-lang-yaml=\"`sha512`\" pulumi-lang-java=\"`sha512`\" pulumi-lang-hcl=\"`sha512`\"\u003e`sha512`\u003c/span\u003e"
                },
                "idpSsoUrl": {
                    "type": "string",
                    "description": "IDP Single-Sign-On URL"
                },
                "ignoreUnmatchedRoles": {
                    "type": "boolean",
                    "description": "ignore any unmatched roles provided in assertion. By default, an assertion is treated as invalid for any unmatched role"
                },
                "issuer": {
                    "type": "string",
                    "description": "IDP issuer URL"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the SSO configuration"
                },
                "nameidFormat": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unspecified`\" pulumi-lang-dotnet=\"`Unspecified`\" pulumi-lang-go=\"`unspecified`\" pulumi-lang-python=\"`unspecified`\" pulumi-lang-yaml=\"`unspecified`\" pulumi-lang-java=\"`unspecified`\" pulumi-lang-hcl=\"`unspecified`\"\u003e`unspecified`\u003c/span\u003e"
                },
                "oauthProviderDomain": {
                    "type": "string",
                    "description": "Provider domain for Okta OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`okta`\" pulumi-lang-dotnet=\"`Okta`\" pulumi-lang-go=\"`okta`\" pulumi-lang-python=\"`okta`\" pulumi-lang-yaml=\"`okta`\" pulumi-lang-java=\"`okta`\" pulumi-lang-hcl=\"`okta`\"\u003e`okta`\u003c/span\u003e"
                },
                "openroamingSsids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "SSIDs that support OpenRoaming, used when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`openroaming`\" pulumi-lang-dotnet=\"`Openroaming`\" pulumi-lang-go=\"`openroaming`\" pulumi-lang-python=\"`openroaming`\" pulumi-lang-yaml=\"`openroaming`\" pulumi-lang-java=\"`openroaming`\" pulumi-lang-hcl=\"`openroaming`\"\u003e`openroaming`\u003c/span\u003e"
                },
                "openroamingWbaClientCert": {
                    "type": "string",
                    "description": "Optional WBA-issued client certificate for OpenRoaming. If not provided, the default WBA-issued certificate for Juniper will be used.",
                    "secret": true
                },
                "openroamingWbaClientKey": {
                    "type": "string",
                    "description": "Optional WBA-issued client private key for OpenRoaming. If not provided, the default WBA-issued key for Juniper will be used.",
                    "secret": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization identifier for this SSO configuration"
                },
                "roleAttrExtraction": {
                    "type": "string",
                    "description": "custom role attribute parsing scheme. Supported Role Parsing Schemes \u003ctable\u003e\u003ctr\u003e\u003cth\u003eName\u003c/th\u003e\u003cth\u003eScheme\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan pulumi-lang-nodejs=\"`cn`\" pulumi-lang-dotnet=\"`Cn`\" pulumi-lang-go=\"`cn`\" pulumi-lang-python=\"`cn`\" pulumi-lang-yaml=\"`cn`\" pulumi-lang-java=\"`cn`\" pulumi-lang-hcl=\"`cn`\"\u003e`cn`\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cul\u003e\u003cli\u003eThe expected role attribute format in SAML Assertion is “CN=cn,OU=ou1,OU=ou2,…”\u003c/li\u003e\u003cli\u003eCN (the key) is case insensitive and exactly 1 CN is expected (or the entire entry will be ignored)\u003c/li\u003e\u003c/ul\u003eE.g. if role attribute is “CN=cn,OU=ou1,OU=ou2” then parsed role value is “cn”\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e"
                },
                "roleAttrFrom": {
                    "type": "string",
                    "description": "name of the attribute in SAML Assertion to extract role from. Default: `Role`"
                }
            },
            "requiredInputs": [
                "idpCert",
                "idpSignAlgo",
                "idpSsoUrl",
                "issuer",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Sso resources.\n",
                "properties": {
                    "customLogoutUrl": {
                        "type": "string",
                        "description": "a URL we will redirect the user after user logout from Mist (for some IdP which supports a custom logout URL that is different from SP-initiated SLO process)"
                    },
                    "defaultRole": {
                        "type": "string",
                        "description": "default role to assign if there’s no match. By default, an assertion is treated as invalid when there’s no role matched"
                    },
                    "domain": {
                        "type": "string",
                        "description": "Random string generated during the SSO creation and used to generate the SAML URLs:\n  * ACS URL = `/api/v1/saml/{domain}/login` (e.g. `https://api.mist.com/api/v1/saml/s4t5vwv8/login`)\n  * Single Logout URL = `/api/v1/saml/{domain}/logout` (e.g. `https://api.mist.com/api/v1/saml/s4t5vwv8/logout`)"
                    },
                    "idpCert": {
                        "type": "string",
                        "description": "IDP Cert (used to verify the signed response)"
                    },
                    "idpSignAlgo": {
                        "type": "string",
                        "description": "Signing algorithm for SAML Assertion. enum \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\" pulumi-lang-hcl=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha256`\" pulumi-lang-dotnet=\"`Sha256`\" pulumi-lang-go=\"`sha256`\" pulumi-lang-python=\"`sha256`\" pulumi-lang-yaml=\"`sha256`\" pulumi-lang-java=\"`sha256`\" pulumi-lang-hcl=\"`sha256`\"\u003e`sha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha384`\" pulumi-lang-dotnet=\"`Sha384`\" pulumi-lang-go=\"`sha384`\" pulumi-lang-python=\"`sha384`\" pulumi-lang-yaml=\"`sha384`\" pulumi-lang-java=\"`sha384`\" pulumi-lang-hcl=\"`sha384`\"\u003e`sha384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha512`\" pulumi-lang-dotnet=\"`Sha512`\" pulumi-lang-go=\"`sha512`\" pulumi-lang-python=\"`sha512`\" pulumi-lang-yaml=\"`sha512`\" pulumi-lang-java=\"`sha512`\" pulumi-lang-hcl=\"`sha512`\"\u003e`sha512`\u003c/span\u003e"
                    },
                    "idpSsoUrl": {
                        "type": "string",
                        "description": "IDP Single-Sign-On URL"
                    },
                    "ignoreUnmatchedRoles": {
                        "type": "boolean",
                        "description": "ignore any unmatched roles provided in assertion. By default, an assertion is treated as invalid for any unmatched role"
                    },
                    "issuer": {
                        "type": "string",
                        "description": "IDP issuer URL"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the SSO configuration"
                    },
                    "nameidFormat": {
                        "type": "string",
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unspecified`\" pulumi-lang-dotnet=\"`Unspecified`\" pulumi-lang-go=\"`unspecified`\" pulumi-lang-python=\"`unspecified`\" pulumi-lang-yaml=\"`unspecified`\" pulumi-lang-java=\"`unspecified`\" pulumi-lang-hcl=\"`unspecified`\"\u003e`unspecified`\u003c/span\u003e"
                    },
                    "oauthProviderDomain": {
                        "type": "string",
                        "description": "Provider domain for Okta OAuth SSO when \u003cspan pulumi-lang-nodejs=\"`oauthType`\" pulumi-lang-dotnet=\"`OauthType`\" pulumi-lang-go=\"`oauthType`\" pulumi-lang-python=\"`oauth_type`\" pulumi-lang-yaml=\"`oauthType`\" pulumi-lang-java=\"`oauthType`\" pulumi-lang-hcl=\"`oauth_type`\"\u003e`oauthType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`okta`\" pulumi-lang-dotnet=\"`Okta`\" pulumi-lang-go=\"`okta`\" pulumi-lang-python=\"`okta`\" pulumi-lang-yaml=\"`okta`\" pulumi-lang-java=\"`okta`\" pulumi-lang-hcl=\"`okta`\"\u003e`okta`\u003c/span\u003e"
                    },
                    "openroamingSsids": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "SSIDs that support OpenRoaming, used when \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`openroaming`\" pulumi-lang-dotnet=\"`Openroaming`\" pulumi-lang-go=\"`openroaming`\" pulumi-lang-python=\"`openroaming`\" pulumi-lang-yaml=\"`openroaming`\" pulumi-lang-java=\"`openroaming`\" pulumi-lang-hcl=\"`openroaming`\"\u003e`openroaming`\u003c/span\u003e"
                    },
                    "openroamingWbaClientCert": {
                        "type": "string",
                        "description": "Optional WBA-issued client certificate for OpenRoaming. If not provided, the default WBA-issued certificate for Juniper will be used.",
                        "secret": true
                    },
                    "openroamingWbaClientKey": {
                        "type": "string",
                        "description": "Optional WBA-issued client private key for OpenRoaming. If not provided, the default WBA-issued key for Juniper will be used.",
                        "secret": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Owning organization identifier for this SSO configuration"
                    },
                    "roleAttrExtraction": {
                        "type": "string",
                        "description": "custom role attribute parsing scheme. Supported Role Parsing Schemes \u003ctable\u003e\u003ctr\u003e\u003cth\u003eName\u003c/th\u003e\u003cth\u003eScheme\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan pulumi-lang-nodejs=\"`cn`\" pulumi-lang-dotnet=\"`Cn`\" pulumi-lang-go=\"`cn`\" pulumi-lang-python=\"`cn`\" pulumi-lang-yaml=\"`cn`\" pulumi-lang-java=\"`cn`\" pulumi-lang-hcl=\"`cn`\"\u003e`cn`\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cul\u003e\u003cli\u003eThe expected role attribute format in SAML Assertion is “CN=cn,OU=ou1,OU=ou2,…”\u003c/li\u003e\u003cli\u003eCN (the key) is case insensitive and exactly 1 CN is expected (or the entire entry will be ignored)\u003c/li\u003e\u003c/ul\u003eE.g. if role attribute is “CN=cn,OU=ou1,OU=ou2” then parsed role value is “cn”\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e"
                    },
                    "roleAttrFrom": {
                        "type": "string",
                        "description": "name of the attribute in SAML Assertion to extract role from. Default: `Role`"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/ssoRole:SsoRole": {
            "description": "This resource manages Org SSO Roles for Admin Authentication.\n\nSSO roles refer to the different functions assigned to users within a Single Sign-On (SSO) system.  \nThese roles determine the tasks and actions that users can perform within the SSO system. There are typically predefined roles and custom roles in an SSO system.  \nRoles in SSO provide a well-defined separation of responsibility and visibility, allowing for granular-level access control on SSO objects.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst ssoRoleOne = new junipermist.org.SsoRole(\"sso_role_one\", {\n    orgId: terraformTest.id,\n    name: \"admin_sso\",\n    privileges: [{\n        scope: \"site\",\n        role: \"read\",\n        siteId: terraformSite.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nsso_role_one = junipermist.org.SsoRole(\"sso_role_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"admin_sso\",\n    privileges=[{\n        \"scope\": \"site\",\n        \"role\": \"read\",\n        \"site_id\": terraform_site[\"id\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ssoRoleOne = new JuniperMist.Org.SsoRole(\"sso_role_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"admin_sso\",\n        Privileges = new[]\n        {\n            new JuniperMist.Org.Inputs.SsoRolePrivilegeArgs\n            {\n                Scope = \"site\",\n                Role = \"read\",\n                SiteId = terraformSite.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewSsoRole(ctx, \"sso_role_one\", \u0026org.SsoRoleArgs{\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tName:  pulumi.String(\"admin_sso\"),\n\t\t\tPrivileges: org.SsoRolePrivilegeArray{\n\t\t\t\t\u0026org.SsoRolePrivilegeArgs{\n\t\t\t\t\tScope:  pulumi.String(\"site\"),\n\t\t\t\t\tRole:   pulumi.String(\"read\"),\n\t\t\t\t\tSiteId: pulumi.Any(terraformSite.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_ssorole\" \"sso_role_one\" {\n  org_id = terraformTest.id\n  name   = \"admin_sso\"\n  privileges {\n    scope   = \"site\"\n    role    = \"read\"\n    site_id = terraformSite.id\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.SsoRole;\nimport com.pulumi.junipermist.org.SsoRoleArgs;\nimport com.pulumi.junipermist.org.inputs.SsoRolePrivilegeArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ssoRoleOne = new SsoRole(\"ssoRoleOne\", SsoRoleArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"admin_sso\")\n            .privileges(SsoRolePrivilegeArgs.builder()\n                .scope(\"site\")\n                .role(\"read\")\n                .siteId(terraformSite.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ssoRoleOne:\n    type: junipermist:org:SsoRole\n    name: sso_role_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: admin_sso\n      privileges:\n        - scope: site\n          role: read\n          siteId: ${terraformSite.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.SsoRole`\" pulumi-lang-dotnet=\"`junipermist.org.SsoRole`\" pulumi-lang-go=\"`org.SsoRole`\" pulumi-lang-python=\"`org.SsoRole`\" pulumi-lang-yaml=\"`junipermist.org.SsoRole`\" pulumi-lang-java=\"`junipermist.org.SsoRole`\" pulumi-lang-hcl=\"`mist_org_sso_role`\"\u003e`junipermist.org.SsoRole`\u003c/span\u003e with:\nOrg PSK can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" ssoRoleId\n\" pulumi-lang-dotnet=\" SsoRoleId\n\" pulumi-lang-go=\" ssoRoleId\n\" pulumi-lang-python=\" sso_role_id\n\" pulumi-lang-yaml=\" ssoRoleId\n\" pulumi-lang-java=\" ssoRoleId\n\" pulumi-lang-hcl=\" sso_role_id\n\"\u003e ssoRoleId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/ssoRole:SsoRole sso_role_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Display name of the organization SSO role\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization identifier for this SSO role\n"
                },
                "privileges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/SsoRolePrivilege:SsoRolePrivilege"
                    },
                    "description": "Access privileges granted by this organization SSO role\n"
                }
            },
            "required": [
                "name",
                "orgId",
                "privileges"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "Display name of the organization SSO role\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization identifier for this SSO role\n"
                },
                "privileges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/SsoRolePrivilege:SsoRolePrivilege"
                    },
                    "description": "Access privileges granted by this organization SSO role\n"
                }
            },
            "requiredInputs": [
                "orgId",
                "privileges"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering SsoRole resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Display name of the organization SSO role\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Owning organization identifier for this SSO role\n"
                    },
                    "privileges": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/SsoRolePrivilege:SsoRolePrivilege"
                        },
                        "description": "Access privileges granted by this organization SSO role\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/vpn:Vpn": {
            "description": "This resource manages the Org VPN.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst terraformTest = new junipermist.org.Setting(\"terraform_test\", {\n    orgId: terraformTestMistOrg.id,\n    passwordPolicy: {\n        enabled: true,\n        minLength: 8,\n        requiresSpecialChar: true,\n        requiresTwoFactorAuth: true,\n    },\n    mistNac: {\n        euOnly: true,\n    },\n    syntheticTest: {\n        disabled: false,\n        vlans: [{\n            vlanIds: [\n                \"8\",\n                \"999\",\n            ],\n            disabled: true,\n        }],\n    },\n    apiPolicy: {\n        noReveal: false,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nterraform_test = junipermist.org.Setting(\"terraform_test\",\n    org_id=terraform_test_mist_org[\"id\"],\n    password_policy={\n        \"enabled\": True,\n        \"min_length\": 8,\n        \"requires_special_char\": True,\n        \"requires_two_factor_auth\": True,\n    },\n    mist_nac={\n        \"eu_only\": True,\n    },\n    synthetic_test={\n        \"disabled\": False,\n        \"vlans\": [{\n            \"vlan_ids\": [\n                \"8\",\n                \"999\",\n            ],\n            \"disabled\": True,\n        }],\n    },\n    api_policy={\n        \"no_reveal\": False,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraformTest = new JuniperMist.Org.Setting(\"terraform_test\", new()\n    {\n        OrgId = terraformTestMistOrg.Id,\n        PasswordPolicy = new JuniperMist.Org.Inputs.SettingPasswordPolicyArgs\n        {\n            Enabled = true,\n            MinLength = 8,\n            RequiresSpecialChar = true,\n            RequiresTwoFactorAuth = true,\n        },\n        MistNac = new JuniperMist.Org.Inputs.SettingMistNacArgs\n        {\n            EuOnly = true,\n        },\n        SyntheticTest = new JuniperMist.Org.Inputs.SettingSyntheticTestArgs\n        {\n            Disabled = false,\n            Vlans = new[]\n            {\n                new JuniperMist.Org.Inputs.SettingSyntheticTestVlanArgs\n                {\n                    VlanIds = new[]\n                    {\n                        \"8\",\n                        \"999\",\n                    },\n                    Disabled = true,\n                },\n            },\n        },\n        ApiPolicy = new JuniperMist.Org.Inputs.SettingApiPolicyArgs\n        {\n            NoReveal = false,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewSetting(ctx, \"terraform_test\", \u0026org.SettingArgs{\n\t\t\tOrgId: pulumi.Any(terraformTestMistOrg.Id),\n\t\t\tPasswordPolicy: \u0026org.SettingPasswordPolicyArgs{\n\t\t\t\tEnabled:               pulumi.Bool(true),\n\t\t\t\tMinLength:             pulumi.Int(8),\n\t\t\t\tRequiresSpecialChar:   pulumi.Bool(true),\n\t\t\t\tRequiresTwoFactorAuth: pulumi.Bool(true),\n\t\t\t},\n\t\t\tMistNac: \u0026org.SettingMistNacArgs{\n\t\t\t\tEuOnly: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSyntheticTest: \u0026org.SettingSyntheticTestArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tVlans: org.SettingSyntheticTestVlanArray{\n\t\t\t\t\t\u0026org.SettingSyntheticTestVlanArgs{\n\t\t\t\t\t\tVlanIds: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"8\"),\n\t\t\t\t\t\t\tpulumi.String(\"999\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDisabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tApiPolicy: \u0026org.SettingApiPolicyArgs{\n\t\t\t\tNoReveal: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_setting\" \"terraform_test\" {\n  org_id = terraformTestMistOrg.id\n  password_policy = {\n    enabled                  = true\n    min_length               = 8\n    requires_special_char    = true\n    requires_two_factor_auth = true\n  }\n  mist_nac = {\n    eu_only = true\n  }\n  synthetic_test = {\n    disabled = false\n    vlans = [{\n      \"vlanIds\"  = [\"8\", \"999\"]\n      \"disabled\" = true\n    }]\n  }\n  api_policy = {\n    no_reveal = false\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Setting;\nimport com.pulumi.junipermist.org.SettingArgs;\nimport com.pulumi.junipermist.org.inputs.SettingPasswordPolicyArgs;\nimport com.pulumi.junipermist.org.inputs.SettingMistNacArgs;\nimport com.pulumi.junipermist.org.inputs.SettingSyntheticTestArgs;\nimport com.pulumi.junipermist.org.inputs.SettingSyntheticTestVlanArgs;\nimport com.pulumi.junipermist.org.inputs.SettingApiPolicyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var terraformTest = new Setting(\"terraformTest\", SettingArgs.builder()\n            .orgId(terraformTestMistOrg.id())\n            .passwordPolicy(SettingPasswordPolicyArgs.builder()\n                .enabled(true)\n                .minLength(8)\n                .requiresSpecialChar(true)\n                .requiresTwoFactorAuth(true)\n                .build())\n            .mistNac(SettingMistNacArgs.builder()\n                .euOnly(true)\n                .build())\n            .syntheticTest(SettingSyntheticTestArgs.builder()\n                .disabled(false)\n                .vlans(SettingSyntheticTestVlanArgs.builder()\n                    .vlanIds(                    \n                        \"8\",\n                        \"999\")\n                    .disabled(true)\n                    .build())\n                .build())\n            .apiPolicy(SettingApiPolicyArgs.builder()\n                .noReveal(false)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraformTest:\n    type: junipermist:org:Setting\n    name: terraform_test\n    properties:\n      orgId: ${terraformTestMistOrg.id}\n      passwordPolicy:\n        enabled: true\n        minLength: 8\n        requiresSpecialChar: true\n        requiresTwoFactorAuth: true\n      mistNac:\n        euOnly: true\n      syntheticTest:\n        disabled: false\n        vlans:\n          - vlanIds:\n              - '8'\n              - '999'\n            disabled: true\n      apiPolicy:\n        noReveal: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Vpn`\" pulumi-lang-dotnet=\"`junipermist.org.Vpn`\" pulumi-lang-go=\"`org.Vpn`\" pulumi-lang-python=\"`org.Vpn`\" pulumi-lang-yaml=\"`junipermist.org.Vpn`\" pulumi-lang-java=\"`junipermist.org.Vpn`\" pulumi-lang-hcl=\"`mist_org_vpn`\"\u003e`junipermist.org.Vpn`\u003c/span\u003e with:\nOrg VPN can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" vpnId\n\" pulumi-lang-dotnet=\" VpnId\n\" pulumi-lang-go=\" vpnId\n\" pulumi-lang-python=\" vpn_id\n\" pulumi-lang-yaml=\" vpnId\n\" pulumi-lang-java=\" vpnId\n\" pulumi-lang-hcl=\" vpn_id\n\"\u003e vpnId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/vpn:Vpn vpn_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Display name of the VPN configuration\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the VPN configuration\n"
                },
                "pathSelection": {
                    "$ref": "#/types/junipermist:org/VpnPathSelection:VpnPathSelection",
                    "description": "Path selection settings used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e\n"
                },
                "paths": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/VpnPaths:VpnPaths"
                    },
                    "description": "VPN path definitions keyed by VPN name for \u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e mode or interface name for \u003cspan pulumi-lang-nodejs=\"`mesh`\" pulumi-lang-dotnet=\"`Mesh`\" pulumi-lang-go=\"`mesh`\" pulumi-lang-python=\"`mesh`\" pulumi-lang-yaml=\"`mesh`\" pulumi-lang-java=\"`mesh`\" pulumi-lang-hcl=\"`mesh`\"\u003e`mesh`\u003c/span\u003e mode\n"
                },
                "type": {
                    "type": "string",
                    "description": "VPN topology mode for this configuration\n"
                }
            },
            "required": [
                "name",
                "paths"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "Display name of the VPN configuration\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the VPN configuration\n"
                },
                "pathSelection": {
                    "$ref": "#/types/junipermist:org/VpnPathSelection:VpnPathSelection",
                    "description": "Path selection settings used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e\n"
                },
                "paths": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/VpnPaths:VpnPaths"
                    },
                    "description": "VPN path definitions keyed by VPN name for \u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e mode or interface name for \u003cspan pulumi-lang-nodejs=\"`mesh`\" pulumi-lang-dotnet=\"`Mesh`\" pulumi-lang-go=\"`mesh`\" pulumi-lang-python=\"`mesh`\" pulumi-lang-yaml=\"`mesh`\" pulumi-lang-java=\"`mesh`\" pulumi-lang-hcl=\"`mesh`\"\u003e`mesh`\u003c/span\u003e mode\n"
                },
                "type": {
                    "type": "string",
                    "description": "VPN topology mode for this configuration\n"
                }
            },
            "requiredInputs": [
                "paths"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Vpn resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Display name of the VPN configuration\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns the VPN configuration\n"
                    },
                    "pathSelection": {
                        "$ref": "#/types/junipermist:org/VpnPathSelection:VpnPathSelection",
                        "description": "Path selection settings used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e\n"
                    },
                    "paths": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/VpnPaths:VpnPaths"
                        },
                        "description": "VPN path definitions keyed by VPN name for \u003cspan pulumi-lang-nodejs=\"`hubSpoke`\" pulumi-lang-dotnet=\"`HubSpoke`\" pulumi-lang-go=\"`hubSpoke`\" pulumi-lang-python=\"`hub_spoke`\" pulumi-lang-yaml=\"`hubSpoke`\" pulumi-lang-java=\"`hubSpoke`\" pulumi-lang-hcl=\"`hub_spoke`\"\u003e`hubSpoke`\u003c/span\u003e mode or interface name for \u003cspan pulumi-lang-nodejs=\"`mesh`\" pulumi-lang-dotnet=\"`Mesh`\" pulumi-lang-go=\"`mesh`\" pulumi-lang-python=\"`mesh`\" pulumi-lang-yaml=\"`mesh`\" pulumi-lang-java=\"`mesh`\" pulumi-lang-hcl=\"`mesh`\"\u003e`mesh`\u003c/span\u003e mode\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "VPN topology mode for this configuration\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/webhook:Webhook": {
            "description": "This resource manages Org Webhooks.\n\nA Webhook is a configuration that allows real-time events and data from the Org to be pushed to a provided url.  \nIt enables the collection of information about various topics such as device events, alarms, and audits updates at the org level.  \nThe Webhook can be set up and customized using the Mist API, allowing users to receive and analyze specific data from a particular site.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst webhookOne = new junipermist.org.Webhook(\"webhook_one\", {\n    siteId: terraformTest.id,\n    name: \"webhook_one\",\n    type: \"http-post\",\n    url: \"https://myserver.com:4321/\",\n    verifyCert: false,\n    enabled: true,\n    topics: [\n        \"device-events\",\n        \"alarms\",\n        \"audits\",\n        \"client-join\",\n        \"client-info\",\n        \"client-sessions\",\n        \"device-updowns\",\n        \"mxedge-events\",\n        \"nac-events\",\n        \"nac-accounting\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwebhook_one = junipermist.org.Webhook(\"webhook_one\",\n    site_id=terraform_test[\"id\"],\n    name=\"webhook_one\",\n    type=\"http-post\",\n    url=\"https://myserver.com:4321/\",\n    verify_cert=False,\n    enabled=True,\n    topics=[\n        \"device-events\",\n        \"alarms\",\n        \"audits\",\n        \"client-join\",\n        \"client-info\",\n        \"client-sessions\",\n        \"device-updowns\",\n        \"mxedge-events\",\n        \"nac-events\",\n        \"nac-accounting\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var webhookOne = new JuniperMist.Org.Webhook(\"webhook_one\", new()\n    {\n        SiteId = terraformTest.Id,\n        Name = \"webhook_one\",\n        Type = \"http-post\",\n        Url = \"https://myserver.com:4321/\",\n        VerifyCert = false,\n        Enabled = true,\n        Topics = new[]\n        {\n            \"device-events\",\n            \"alarms\",\n            \"audits\",\n            \"client-join\",\n            \"client-info\",\n            \"client-sessions\",\n            \"device-updowns\",\n            \"mxedge-events\",\n            \"nac-events\",\n            \"nac-accounting\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewWebhook(ctx, \"webhook_one\", \u0026org.WebhookArgs{\n\t\t\tSiteId:     terraformTest.Id,\n\t\t\tName:       pulumi.String(\"webhook_one\"),\n\t\t\tType:       pulumi.String(\"http-post\"),\n\t\t\tUrl:        pulumi.String(\"https://myserver.com:4321/\"),\n\t\t\tVerifyCert: pulumi.Bool(false),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"device-events\"),\n\t\t\t\tpulumi.String(\"alarms\"),\n\t\t\t\tpulumi.String(\"audits\"),\n\t\t\t\tpulumi.String(\"client-join\"),\n\t\t\t\tpulumi.String(\"client-info\"),\n\t\t\t\tpulumi.String(\"client-sessions\"),\n\t\t\t\tpulumi.String(\"device-updowns\"),\n\t\t\t\tpulumi.String(\"mxedge-events\"),\n\t\t\t\tpulumi.String(\"nac-events\"),\n\t\t\t\tpulumi.String(\"nac-accounting\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_webhook\" \"webhook_one\" {\n  site_id     = terraformTest.id\n  name        = \"webhook_one\"\n  type        = \"http-post\"\n  url         = \"https://myserver.com:4321/\"\n  verify_cert = false\n  enabled     = true\n  topics      = [\"device-events\", \"alarms\", \"audits\", \"client-join\", \"client-info\", \"client-sessions\", \"device-updowns\", \"mxedge-events\", \"nac-events\", \"nac-accounting\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Webhook;\nimport com.pulumi.junipermist.org.WebhookArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var webhookOne = new Webhook(\"webhookOne\", WebhookArgs.builder()\n            .siteId(terraformTest.id())\n            .name(\"webhook_one\")\n            .type(\"http-post\")\n            .url(\"https://myserver.com:4321/\")\n            .verifyCert(false)\n            .enabled(true)\n            .topics(            \n                \"device-events\",\n                \"alarms\",\n                \"audits\",\n                \"client-join\",\n                \"client-info\",\n                \"client-sessions\",\n                \"device-updowns\",\n                \"mxedge-events\",\n                \"nac-events\",\n                \"nac-accounting\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  webhookOne:\n    type: junipermist:org:Webhook\n    name: webhook_one\n    properties:\n      siteId: ${terraformTest.id}\n      name: webhook_one\n      type: http-post\n      url: https://myserver.com:4321/\n      verifyCert: false\n      enabled: true\n      topics:\n        - device-events\n        - alarms\n        - audits\n        - client-join\n        - client-info\n        - client-sessions\n        - device-updowns\n        - mxedge-events\n        - nac-events\n        - nac-accounting\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Webhook`\" pulumi-lang-dotnet=\"`junipermist.org.Webhook`\" pulumi-lang-go=\"`org.Webhook`\" pulumi-lang-python=\"`org.Webhook`\" pulumi-lang-yaml=\"`junipermist.org.Webhook`\" pulumi-lang-java=\"`junipermist.org.Webhook`\" pulumi-lang-hcl=\"`mist_org_webhook`\"\u003e`junipermist.org.Webhook`\u003c/span\u003e with:\nOrg Webhook can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" webhookId\n\" pulumi-lang-dotnet=\" WebhookId\n\" pulumi-lang-go=\" webhookId\n\" pulumi-lang-python=\" webhook_id\n\" pulumi-lang-yaml=\" webhookId\n\" pulumi-lang-java=\" webhookId\n\" pulumi-lang-hcl=\" webhook_id\n\"\u003e webhookId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/webhook:Webhook webhook_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether webhook is enabled\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the webhook\n"
                },
                "oauth2ClientId": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client identifier used to request an access token\n"
                },
                "oauth2ClientSecret": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client secret used to request an access token\n",
                    "secret": true
                },
                "oauth2GrantType": {
                    "type": "string",
                    "description": "OAuth2 grant type used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2Password": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; password used for the OAuth2 token request\n",
                    "secret": true
                },
                "oauth2Scopes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "OAuth2 scopes included in the token request when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2TokenUrl": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e; token endpoint URL used to obtain the OAuth2 access token\n"
                },
                "oauth2Username": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; username used for the OAuth2 token request\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the webhook\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`\n",
                    "secret": true
                },
                "singleEventPerMessage": {
                    "type": "boolean",
                    "description": "Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, only a single event will be sent per message. this feature is only available on certain topics (see List Webhook Topics)"
                },
                "splunkToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e. If\u003cspan pulumi-lang-nodejs=\" splunkToken \" pulumi-lang-dotnet=\" SplunkToken \" pulumi-lang-go=\" splunkToken \" pulumi-lang-python=\" splunk_token \" pulumi-lang-yaml=\" splunkToken \" pulumi-lang-java=\" splunkToken \" pulumi-lang-hcl=\" splunk_token \"\u003e splunkToken \u003c/span\u003eis not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.",
                    "secret": true
                },
                "topics": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alarms`\" pulumi-lang-dotnet=\"`Alarms`\" pulumi-lang-go=\"`alarms`\" pulumi-lang-python=\"`alarms`\" pulumi-lang-yaml=\"`alarms`\" pulumi-lang-java=\"`alarms`\" pulumi-lang-hcl=\"`alarms`\"\u003e`alarms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`audits`\" pulumi-lang-dotnet=\"`Audits`\" pulumi-lang-go=\"`audits`\" pulumi-lang-python=\"`audits`\" pulumi-lang-yaml=\"`audits`\" pulumi-lang-java=\"`audits`\" pulumi-lang-hcl=\"`audits`\"\u003e`audits`\u003c/span\u003e, `client-info`, `client-join`, `client-sessions`, `device-events`, `device-updowns`, `guest-authorizations`, `mxedge-events`, `minis-application`, `minis-reachability`, `nac-accounting`, `nac-events`\n"
                },
                "type": {
                    "type": "string",
                    "description": "Delivery mechanism used by this webhook"
                },
                "url": {
                    "type": "string",
                    "description": "Destination URL that receives webhook deliveries\n"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "When url uses HTTPS, whether to verify the certificate"
                }
            },
            "required": [
                "enabled",
                "name",
                "orgId",
                "topics",
                "type",
                "url",
                "verifyCert"
            ],
            "inputProperties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Whether webhook is enabled\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the webhook\n"
                },
                "oauth2ClientId": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client identifier used to request an access token\n"
                },
                "oauth2ClientSecret": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client secret used to request an access token\n",
                    "secret": true
                },
                "oauth2GrantType": {
                    "type": "string",
                    "description": "OAuth2 grant type used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2Password": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; password used for the OAuth2 token request\n",
                    "secret": true
                },
                "oauth2Scopes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "OAuth2 scopes included in the token request when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2TokenUrl": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e; token endpoint URL used to obtain the OAuth2 access token\n"
                },
                "oauth2Username": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; username used for the OAuth2 token request\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the webhook\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`\n",
                    "secret": true
                },
                "singleEventPerMessage": {
                    "type": "boolean",
                    "description": "Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, only a single event will be sent per message. this feature is only available on certain topics (see List Webhook Topics)"
                },
                "splunkToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e. If\u003cspan pulumi-lang-nodejs=\" splunkToken \" pulumi-lang-dotnet=\" SplunkToken \" pulumi-lang-go=\" splunkToken \" pulumi-lang-python=\" splunk_token \" pulumi-lang-yaml=\" splunkToken \" pulumi-lang-java=\" splunkToken \" pulumi-lang-hcl=\" splunk_token \"\u003e splunkToken \u003c/span\u003eis not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.",
                    "secret": true
                },
                "topics": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alarms`\" pulumi-lang-dotnet=\"`Alarms`\" pulumi-lang-go=\"`alarms`\" pulumi-lang-python=\"`alarms`\" pulumi-lang-yaml=\"`alarms`\" pulumi-lang-java=\"`alarms`\" pulumi-lang-hcl=\"`alarms`\"\u003e`alarms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`audits`\" pulumi-lang-dotnet=\"`Audits`\" pulumi-lang-go=\"`audits`\" pulumi-lang-python=\"`audits`\" pulumi-lang-yaml=\"`audits`\" pulumi-lang-java=\"`audits`\" pulumi-lang-hcl=\"`audits`\"\u003e`audits`\u003c/span\u003e, `client-info`, `client-join`, `client-sessions`, `device-events`, `device-updowns`, `guest-authorizations`, `mxedge-events`, `minis-application`, `minis-reachability`, `nac-accounting`, `nac-events`\n"
                },
                "type": {
                    "type": "string",
                    "description": "Delivery mechanism used by this webhook"
                },
                "url": {
                    "type": "string",
                    "description": "Destination URL that receives webhook deliveries\n"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "When url uses HTTPS, whether to verify the certificate"
                }
            },
            "requiredInputs": [
                "orgId",
                "topics",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Webhook resources.\n",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether webhook is enabled\n"
                    },
                    "headers": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the webhook\n"
                    },
                    "oauth2ClientId": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client identifier used to request an access token\n"
                    },
                    "oauth2ClientSecret": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client secret used to request an access token\n",
                        "secret": true
                    },
                    "oauth2GrantType": {
                        "type": "string",
                        "description": "OAuth2 grant type used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                    },
                    "oauth2Password": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; password used for the OAuth2 token request\n",
                        "secret": true
                    },
                    "oauth2Scopes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "OAuth2 scopes included in the token request when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                    },
                    "oauth2TokenUrl": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e; token endpoint URL used to obtain the OAuth2 access token\n"
                    },
                    "oauth2Username": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; username used for the OAuth2 token request\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns the webhook\n"
                    },
                    "secret": {
                        "type": "string",
                        "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`\n",
                        "secret": true
                    },
                    "singleEventPerMessage": {
                        "type": "boolean",
                        "description": "Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, only a single event will be sent per message. this feature is only available on certain topics (see List Webhook Topics)"
                    },
                    "splunkToken": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e. If\u003cspan pulumi-lang-nodejs=\" splunkToken \" pulumi-lang-dotnet=\" SplunkToken \" pulumi-lang-go=\" splunkToken \" pulumi-lang-python=\" splunk_token \" pulumi-lang-yaml=\" splunkToken \" pulumi-lang-java=\" splunkToken \" pulumi-lang-hcl=\" splunk_token \"\u003e splunkToken \u003c/span\u003eis not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.",
                        "secret": true
                    },
                    "topics": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alarms`\" pulumi-lang-dotnet=\"`Alarms`\" pulumi-lang-go=\"`alarms`\" pulumi-lang-python=\"`alarms`\" pulumi-lang-yaml=\"`alarms`\" pulumi-lang-java=\"`alarms`\" pulumi-lang-hcl=\"`alarms`\"\u003e`alarms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`audits`\" pulumi-lang-dotnet=\"`Audits`\" pulumi-lang-go=\"`audits`\" pulumi-lang-python=\"`audits`\" pulumi-lang-yaml=\"`audits`\" pulumi-lang-java=\"`audits`\" pulumi-lang-hcl=\"`audits`\"\u003e`audits`\u003c/span\u003e, `client-info`, `client-join`, `client-sessions`, `device-events`, `device-updowns`, `guest-authorizations`, `mxedge-events`, `minis-application`, `minis-reachability`, `nac-accounting`, `nac-events`\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "Delivery mechanism used by this webhook"
                    },
                    "url": {
                        "type": "string",
                        "description": "Destination URL that receives webhook deliveries\n"
                    },
                    "verifyCert": {
                        "type": "boolean",
                        "description": "When url uses HTTPS, whether to verify the certificate"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/wlan:Wlan": {
            "description": "This resource manages the Org Wlans.\n\nThe WLAN object contains all the required configuration to broadcast an SSID (Authentication, VLAN, ...)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wlanOne = new junipermist.org.Wlan(\"wlan_one\", {\n    ssid: \"wlan_one\",\n    orgId: terraformTest.id,\n    templateId: test101.id,\n    bands: [\n        \"5\",\n        \"6\",\n    ],\n    vlanEnabled: true,\n    vlanId: \"143\",\n    wlanLimitUp: \"10000\",\n    wlanLimitDown: \"20000\",\n    clientLimitUp: \"512\",\n    clientLimitDown: \"1000\",\n    auth: {\n        type: \"psk\",\n        psk: \"secretpsk\",\n    },\n    \"interface\": \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwlan_one = junipermist.org.Wlan(\"wlan_one\",\n    ssid=\"wlan_one\",\n    org_id=terraform_test[\"id\"],\n    template_id=test101[\"id\"],\n    bands=[\n        \"5\",\n        \"6\",\n    ],\n    vlan_enabled=True,\n    vlan_id=\"143\",\n    wlan_limit_up=\"10000\",\n    wlan_limit_down=\"20000\",\n    client_limit_up=\"512\",\n    client_limit_down=\"1000\",\n    auth={\n        \"type\": \"psk\",\n        \"psk\": \"secretpsk\",\n    },\n    interface=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wlanOne = new JuniperMist.Org.Wlan(\"wlan_one\", new()\n    {\n        Ssid = \"wlan_one\",\n        OrgId = terraformTest.Id,\n        TemplateId = test101.Id,\n        Bands = new[]\n        {\n            \"5\",\n            \"6\",\n        },\n        VlanEnabled = true,\n        VlanId = \"143\",\n        WlanLimitUp = \"10000\",\n        WlanLimitDown = \"20000\",\n        ClientLimitUp = \"512\",\n        ClientLimitDown = \"1000\",\n        Auth = new JuniperMist.Org.Inputs.WlanAuthArgs\n        {\n            Type = \"psk\",\n            Psk = \"secretpsk\",\n        },\n        Interface = \"all\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewWlan(ctx, \"wlan_one\", \u0026org.WlanArgs{\n\t\t\tSsid:       pulumi.String(\"wlan_one\"),\n\t\t\tOrgId:      pulumi.Any(terraformTest.Id),\n\t\t\tTemplateId: pulumi.Any(test101.Id),\n\t\t\tBands: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"5\"),\n\t\t\t\tpulumi.String(\"6\"),\n\t\t\t},\n\t\t\tVlanEnabled:     pulumi.Bool(true),\n\t\t\tVlanId:          pulumi.String(\"143\"),\n\t\t\tWlanLimitUp:     pulumi.String(\"10000\"),\n\t\t\tWlanLimitDown:   pulumi.String(\"20000\"),\n\t\t\tClientLimitUp:   pulumi.String(\"512\"),\n\t\t\tClientLimitDown: pulumi.String(\"1000\"),\n\t\t\tAuth: \u0026org.WlanAuthArgs{\n\t\t\t\tType: pulumi.String(\"psk\"),\n\t\t\t\tPsk:  pulumi.String(\"secretpsk\"),\n\t\t\t},\n\t\t\tInterface: pulumi.String(\"all\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_wlan\" \"wlan_one\" {\n  ssid              = \"wlan_one\"\n  org_id            = terraformTest.id\n  template_id       = test101.id\n  bands             = [\"5\", \"6\"]\n  vlan_enabled      = true\n  vlan_id           = 143\n  wlan_limit_up     = 10000\n  wlan_limit_down   = 20000\n  client_limit_up   = 512\n  client_limit_down = 1000\n  auth = {\n    type = \"psk\"\n    psk  = \"secretpsk\"\n  }\n  interface = \"all\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Wlan;\nimport com.pulumi.junipermist.org.WlanArgs;\nimport com.pulumi.junipermist.org.inputs.WlanAuthArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wlanOne = new Wlan(\"wlanOne\", WlanArgs.builder()\n            .ssid(\"wlan_one\")\n            .orgId(terraformTest.id())\n            .templateId(test101.id())\n            .bands(            \n                \"5\",\n                \"6\")\n            .vlanEnabled(true)\n            .vlanId(\"143\")\n            .wlanLimitUp(\"10000\")\n            .wlanLimitDown(\"20000\")\n            .clientLimitUp(\"512\")\n            .clientLimitDown(\"1000\")\n            .auth(WlanAuthArgs.builder()\n                .type(\"psk\")\n                .psk(\"secretpsk\")\n                .build())\n            .interface_(\"all\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wlanOne:\n    type: junipermist:org:Wlan\n    name: wlan_one\n    properties:\n      ssid: wlan_one\n      orgId: ${terraformTest.id}\n      templateId: ${test101.id}\n      bands:\n        - '5'\n        - '6'\n      vlanEnabled: true\n      vlanId: 143\n      wlanLimitUp: 10000\n      wlanLimitDown: 20000\n      clientLimitUp: 512\n      clientLimitDown: 1000\n      auth:\n        type: psk\n        psk: secretpsk\n      interface: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Wlan`\" pulumi-lang-dotnet=\"`junipermist.org.Wlan`\" pulumi-lang-go=\"`org.Wlan`\" pulumi-lang-python=\"`org.Wlan`\" pulumi-lang-yaml=\"`junipermist.org.Wlan`\" pulumi-lang-java=\"`junipermist.org.Wlan`\" pulumi-lang-hcl=\"`mist_org_wlan`\"\u003e`junipermist.org.Wlan`\u003c/span\u003e with:\nOrg WLAN can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" wlanId\n\" pulumi-lang-dotnet=\" WlanId\n\" pulumi-lang-go=\" wlanId\n\" pulumi-lang-python=\" wlan_id\n\" pulumi-lang-yaml=\" wlanId\n\" pulumi-lang-java=\" wlanId\n\" pulumi-lang-hcl=\" wlan_id\n\"\u003e wlanId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/wlan:Wlan wlan_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "acctImmediateUpdate": {
                    "type": "boolean",
                    "description": "Enable coa-immediate-update and address-change-immediate-update on the access profile."
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WlanAcctServer:WlanAcctServer"
                    },
                    "description": "RADIUS accounting servers used by this WLAN"
                },
                "airwatch": {
                    "$ref": "#/types/junipermist:org/WlanAirwatch:WlanAirwatch",
                    "description": "Integration settings for AirWatch device compliance on this WLAN"
                },
                "allowIpv6Ndp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows or disallows ipv6 Neighbor Discovery packets to go through"
                },
                "allowMdns": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows mDNS / Bonjour packets to go through"
                },
                "allowSsdp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows SSDP"
                },
                "apIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Access point identifiers used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`aps`\" pulumi-lang-dotnet=\"`Aps`\" pulumi-lang-go=\"`aps`\" pulumi-lang-python=\"`aps`\" pulumi-lang-yaml=\"`aps`\" pulumi-lang-java=\"`aps`\" pulumi-lang-hcl=\"`aps`\"\u003e`aps`\u003c/span\u003e"
                },
                "appLimit": {
                    "$ref": "#/types/junipermist:org/WlanAppLimit:WlanAppLimit",
                    "description": "Bandwidth limits for applications on this WLAN"
                },
                "appQos": {
                    "$ref": "#/types/junipermist:org/WlanAppQos:WlanAppQos",
                    "description": "QoS rules for application traffic on this WLAN"
                },
                "applyTo": {
                    "type": "string",
                    "description": "Scope that determines where this WLAN is applied"
                },
                "arpFilter": {
                    "type": "boolean",
                    "description": "Whether to enable smart arp filter"
                },
                "auth": {
                    "$ref": "#/types/junipermist:org/WlanAuth:WlanAuth",
                    "description": "Settings that control client authentication for this WLAN"
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "RADIUS authentication server selection behavior for this WLAN"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WlanAuthServer:WlanAuthServer"
                    },
                    "description": "RADIUS authentication servers used by this WLAN. Required when `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e"
                },
                "authServersNasId": {
                    "type": "string",
                    "description": "Optional, up to 48 bytes, will be dynamically generated if not provided. used only for authentication servers"
                },
                "authServersNasIp": {
                    "type": "string",
                    "description": "Optional, NAS-IP-ADDRESS to use"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘retries’ are set to value of auth_servers_retries. ‘max-requests’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersRetries \" pulumi-lang-dotnet=\" AuthServersRetries \" pulumi-lang-go=\" authServersRetries \" pulumi-lang-python=\" auth_servers_retries \" pulumi-lang-yaml=\" authServersRetries \" pulumi-lang-java=\" authServersRetries \" pulumi-lang-hcl=\" auth_servers_retries \"\u003e authServersRetries \u003c/span\u003eand is set to default value to 3."
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘quite-period’  and ‘transmit-period’ are set to half the value of auth_servers_timeout. ‘supplicant-timeout’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersTimeout \" pulumi-lang-dotnet=\" AuthServersTimeout \" pulumi-lang-go=\" authServersTimeout \" pulumi-lang-python=\" auth_servers_timeout \" pulumi-lang-yaml=\" authServersTimeout \" pulumi-lang-java=\" authServersTimeout \" pulumi-lang-hcl=\" auth_servers_timeout \"\u003e authServersTimeout \u003c/span\u003eand is set to default value of 10."
                },
                "bandSteer": {
                    "type": "boolean",
                    "description": "Whether to enable band_steering, this works only when band==both"
                },
                "bandSteerForceBand5": {
                    "type": "boolean",
                    "description": "Force\u003cspan pulumi-lang-nodejs=\" dualBand \" pulumi-lang-dotnet=\" DualBand \" pulumi-lang-go=\" dualBand \" pulumi-lang-python=\" dual_band \" pulumi-lang-yaml=\" dualBand \" pulumi-lang-java=\" dualBand \" pulumi-lang-hcl=\" dual_band \"\u003e dualBand \u003c/span\u003ecapable client to connect to 5G"
                },
                "bands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "list of radios that the wlan should apply to. enum: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\" pulumi-lang-hcl=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e"
                },
                "blockBlacklistClients": {
                    "type": "boolean",
                    "description": "Whether to block the clients in the blacklist (up to first 256 macs)"
                },
                "bonjour": {
                    "$ref": "#/types/junipermist:org/WlanBonjour:WlanBonjour",
                    "description": "Service discovery gateway settings for Bonjour traffic on this WLAN"
                },
                "ciscoCwa": {
                    "$ref": "#/types/junipermist:org/WlanCiscoCwa:WlanCiscoCwa",
                    "description": "Central web authentication settings for Cisco CWA on this WLAN"
                },
                "clientLimitDown": {
                    "type": "string",
                    "description": "Downlink bandwidth limit applied per client"
                },
                "clientLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting per-client is enabled"
                },
                "clientLimitUp": {
                    "type": "string",
                    "description": "Uplink bandwidth limit applied per client"
                },
                "clientLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting per-client is enabled"
                },
                "coaServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WlanCoaServer:WlanCoaServer"
                    },
                    "description": "RADIUS Change of Authorization servers available to this WLAN"
                },
                "disable11ax": {
                    "type": "boolean",
                    "description": "Some old WLAN drivers may not be compatible"
                },
                "disable11be": {
                    "type": "boolean",
                    "description": "To disable Wi-Fi 7 EHT IEs"
                },
                "disableHtVhtRates": {
                    "type": "boolean",
                    "description": "To disable ht or vht rates"
                },
                "disableMessageAuthenticatorCheck": {
                    "type": "boolean",
                    "description": "whether to disable Message-Authenticator Check, which is used to verify the integrity of RADIUS messages, default is false (i.e. for better security)"
                },
                "disableUapsd": {
                    "type": "boolean",
                    "description": "Whether to disable U-APSD"
                },
                "disableV1RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages"
                },
                "disableV2RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages"
                },
                "disableWhenGatewayUnreachable": {
                    "type": "boolean",
                    "description": "When any of the following is true, this WLAN will be disabled\n   * cannot get IP\n   * cannot obtain default gateway\n   * cannot reach default gateway"
                },
                "disableWhenMxtunnelDown": {
                    "type": "boolean",
                    "description": "Whether to disable this WLAN when the configured Mist tunnel is down"
                },
                "disableWmm": {
                    "type": "boolean",
                    "description": "Whether to disable WMM"
                },
                "dnsServerRewrite": {
                    "$ref": "#/types/junipermist:org/WlanDnsServerRewrite:WlanDnsServerRewrite",
                    "description": "RADIUS group based DNS server rewrite settings for this WLAN"
                },
                "dtim": {
                    "type": "integer",
                    "description": "Delivery Traffic Indication Message interval for this WLAN"
                },
                "dynamicPsk": {
                    "$ref": "#/types/junipermist:org/WlanDynamicPsk:WlanDynamicPsk",
                    "description": "Per-user PSK selection settings for this WLAN"
                },
                "dynamicVlan": {
                    "$ref": "#/types/junipermist:org/WlanDynamicVlan:WlanDynamicVlan",
                    "description": "VLAN assignment settings for 802.1X dynamic VLANs"
                },
                "enableFtm": {
                    "type": "boolean",
                    "description": "Enable FTM (Fine-Time Measurement, 802.11mc); configures the AP as an FTM Responder (target), allowing clients to perform ranging requests against it"
                },
                "enableLocalKeycaching": {
                    "type": "boolean",
                    "description": "Enable AP-AP keycaching via multicast"
                },
                "enableWirelessBridging": {
                    "type": "boolean",
                    "description": "By default, we'd inspect all DHCP packets and drop those unrelated to the wireless client itself in the case where client is a wireless bridge (DHCP packets for other MACs will need to be forwarded),\u003cspan pulumi-lang-nodejs=\" wirelessBridging \" pulumi-lang-dotnet=\" WirelessBridging \" pulumi-lang-go=\" wirelessBridging \" pulumi-lang-python=\" wireless_bridging \" pulumi-lang-yaml=\" wirelessBridging \" pulumi-lang-java=\" wirelessBridging \" pulumi-lang-hcl=\" wireless_bridging \"\u003e wirelessBridging \u003c/span\u003ecan be enabled"
                },
                "enableWirelessBridgingDhcpTracking": {
                    "type": "boolean",
                    "description": "If the client bridge is doing DHCP on behalf of other devices (L2-NAT), enable\u003cspan pulumi-lang-nodejs=\" dhcpTracking \" pulumi-lang-dotnet=\" DhcpTracking \" pulumi-lang-go=\" dhcpTracking \" pulumi-lang-python=\" dhcp_tracking \" pulumi-lang-yaml=\" dhcpTracking \" pulumi-lang-java=\" dhcpTracking \" pulumi-lang-hcl=\" dhcp_tracking \"\u003e dhcpTracking \u003c/span\u003ewill cut down DHCP response packets to be forwarded to wireless"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If this wlan is enabled"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from ‘auth_servers_timeout’ and ‘auth_server_retries’ ."
                },
                "hideSsid": {
                    "type": "boolean",
                    "description": "Whether to hide SSID in beacon"
                },
                "hostnameIe": {
                    "type": "boolean",
                    "description": "Include hostname inside IE in AP beacons / probe responses"
                },
                "hotspot20": {
                    "$ref": "#/types/junipermist:org/WlanHotspot20:WlanHotspot20",
                    "description": "Passpoint and Hotspot 2.0 settings for this WLAN"
                },
                "injectDhcpOption82": {
                    "$ref": "#/types/junipermist:org/WlanInjectDhcpOption82:WlanInjectDhcpOption82",
                    "description": "DHCP Option 82 insertion settings for this WLAN"
                },
                "interface": {
                    "type": "string",
                    "description": "Network interface or tunnel where this WLAN bridges client traffic"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to stop clients to talk to each other"
                },
                "l2Isolation": {
                    "type": "boolean",
                    "description": "If isolation is enabled, whether to deny clients to talk to L2 on the LAN"
                },
                "legacyOverds": {
                    "type": "boolean",
                    "description": "Legacy devices requires the Over-DS (for Fast BSS Transition) bit set (while our chip doesn’t support it). Warning! Enabling this will cause problem for iOS devices."
                },
                "limitBcast": {
                    "type": "boolean",
                    "description": "Whether to limit broadcast packets going to wireless (i.e. only allow certain bcast packets to go through)"
                },
                "limitProbeResponse": {
                    "type": "boolean",
                    "description": "Limit probe response base on some heuristic rules"
                },
                "maxIdletime": {
                    "type": "integer",
                    "description": "Max idle time in seconds"
                },
                "maxNumClients": {
                    "type": "integer",
                    "description": "Maximum number of client connected to the SSID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means unlimited"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/WlanMistNac:WlanMistNac",
                    "description": "Juniper Mist NAC settings used by this WLAN"
                },
                "mspId": {
                    "type": "string",
                    "description": "Managed service provider identifier associated with this WLAN"
                },
                "mxtunnelIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Tunnel identifiers used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e"
                },
                "mxtunnelNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Tunnel names used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e"
                },
                "noStaticDns": {
                    "type": "boolean",
                    "description": "Whether to only allow client to use DNS that we’ve learned from DHCP response"
                },
                "noStaticIp": {
                    "type": "boolean",
                    "description": "Whether to only allow client that we’ve learned from DHCP exchange to talk"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization associated with this WLAN"
                },
                "portal": {
                    "$ref": "#/types/junipermist:org/WlanPortal:WlanPortal",
                    "description": "Guest portal settings for this WLAN"
                },
                "portalAllowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal hostnames that clients may reach before authorization"
                },
                "portalAllowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal CIDR subnets that clients may reach before authorization"
                },
                "portalApiSecret": {
                    "type": "string",
                    "description": "API secret (auto-generated) that can be used to sign guest authorization requests, only generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e"
                },
                "portalDeniedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal hostnames denied before authorization, taking precedence over allowed hostnames"
                },
                "portalImage": {
                    "type": "string",
                    "description": "Url of portal background image"
                },
                "portalSsoUrl": {
                    "type": "string",
                    "description": "URL used in the SSO process, auto-generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e"
                },
                "qos": {
                    "$ref": "#/types/junipermist:org/WlanQos:WlanQos",
                    "description": "Quality-of-service settings for WLAN client traffic"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:org/WlanRadsec:WlanRadsec",
                    "description": "TLS-secured RADIUS transport settings for this WLAN"
                },
                "rateset": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/WlanRateset:WlanRateset"
                    },
                    "description": "Data rate settings by RF band for this WLAN"
                },
                "reconnectClientsWhenRoamingMxcluster": {
                    "type": "boolean",
                    "description": "When different mxcluster is on different subnet, we'd want to disconnect clients (so they'll reconnect and get new IPs)"
                },
                "roamMode": {
                    "type": "string",
                    "description": "Fast roaming mode configured for this WLAN"
                },
                "schedule": {
                    "$ref": "#/types/junipermist:org/WlanSchedule:WlanSchedule",
                    "description": "Operating schedule controlling when this WLAN is active"
                },
                "sleExcluded": {
                    "type": "boolean",
                    "description": "Whether to exclude this WLAN from SLE metrics"
                },
                "ssid": {
                    "type": "string",
                    "description": "Name of the SSID"
                },
                "templateId": {
                    "type": "string",
                    "description": "Identifier of the WLAN template associated with this WLAN"
                },
                "useEapolV1": {
                    "type": "boolean",
                    "description": "If `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e or `auth.type`==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, should only be set for legacy client, such as pre-2004, 802.11b devices"
                },
                "vlanEnabled": {
                    "type": "boolean",
                    "description": "If vlan tagging is enabled"
                },
                "vlanId": {
                    "type": "string",
                    "description": "Default VLAN ID, range, or variable used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pool of VLAN IDs used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vlanPooling`\" pulumi-lang-dotnet=\"`VlanPooling`\" pulumi-lang-go=\"`vlanPooling`\" pulumi-lang-python=\"`vlan_pooling`\" pulumi-lang-yaml=\"`vlanPooling`\" pulumi-lang-java=\"`vlanPooling`\" pulumi-lang-hcl=\"`vlan_pooling`\"\u003e`vlanPooling`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                },
                "vlanPooling": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Vlan pooling allows AP to place client on different VLAN using a deterministic algorithm"
                },
                "wlanLimitDown": {
                    "type": "string",
                    "description": "Downlink bandwidth limit applied to the whole WLAN"
                },
                "wlanLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting for whole wlan is enabled"
                },
                "wlanLimitUp": {
                    "type": "string",
                    "description": "Uplink bandwidth limit applied to the whole WLAN"
                },
                "wlanLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting for whole wlan is enabled"
                },
                "wxtagIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Identifiers of WxLAN tags used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtags`\" pulumi-lang-dotnet=\"`Wxtags`\" pulumi-lang-go=\"`wxtags`\" pulumi-lang-python=\"`wxtags`\" pulumi-lang-yaml=\"`wxtags`\" pulumi-lang-java=\"`wxtags`\" pulumi-lang-hcl=\"`wxtags`\"\u003e`wxtags`\u003c/span\u003e"
                },
                "wxtunnelId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, id of the WXLAN Tunnel"
                },
                "wxtunnelRemoteId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, remote tunnel identifier"
                }
            },
            "required": [
                "acctImmediateUpdate",
                "acctInterimInterval",
                "acctServers",
                "airwatch",
                "allowIpv6Ndp",
                "allowMdns",
                "allowSsdp",
                "apIds",
                "appQos",
                "applyTo",
                "arpFilter",
                "authServerSelection",
                "authServers",
                "authServersNasId",
                "authServersNasIp",
                "bandSteer",
                "ciscoCwa",
                "clientLimitDown",
                "clientLimitUp",
                "disable11ax",
                "disableUapsd",
                "disableWmm",
                "dtim",
                "enableFtm",
                "enabled",
                "hideSsid",
                "hostnameIe",
                "interface",
                "limitBcast",
                "limitProbeResponse",
                "maxIdletime",
                "mistNac",
                "mspId",
                "mxtunnelIds",
                "mxtunnelNames",
                "noStaticDns",
                "noStaticIp",
                "orgId",
                "portal",
                "portalAllowedHostnames",
                "portalAllowedSubnets",
                "portalApiSecret",
                "portalDeniedHostnames",
                "portalImage",
                "portalSsoUrl",
                "qos",
                "radsec",
                "rateset",
                "schedule",
                "ssid",
                "templateId",
                "useEapolV1",
                "vlanEnabled",
                "vlanIds",
                "vlanPooling",
                "wlanLimitDown",
                "wlanLimitUp",
                "wxtagIds",
                "wxtunnelId",
                "wxtunnelRemoteId"
            ],
            "inputProperties": {
                "acctImmediateUpdate": {
                    "type": "boolean",
                    "description": "Enable coa-immediate-update and address-change-immediate-update on the access profile."
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WlanAcctServer:WlanAcctServer"
                    },
                    "description": "RADIUS accounting servers used by this WLAN"
                },
                "airwatch": {
                    "$ref": "#/types/junipermist:org/WlanAirwatch:WlanAirwatch",
                    "description": "Integration settings for AirWatch device compliance on this WLAN"
                },
                "allowIpv6Ndp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows or disallows ipv6 Neighbor Discovery packets to go through"
                },
                "allowMdns": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows mDNS / Bonjour packets to go through"
                },
                "allowSsdp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows SSDP"
                },
                "apIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Access point identifiers used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`aps`\" pulumi-lang-dotnet=\"`Aps`\" pulumi-lang-go=\"`aps`\" pulumi-lang-python=\"`aps`\" pulumi-lang-yaml=\"`aps`\" pulumi-lang-java=\"`aps`\" pulumi-lang-hcl=\"`aps`\"\u003e`aps`\u003c/span\u003e"
                },
                "appLimit": {
                    "$ref": "#/types/junipermist:org/WlanAppLimit:WlanAppLimit",
                    "description": "Bandwidth limits for applications on this WLAN"
                },
                "appQos": {
                    "$ref": "#/types/junipermist:org/WlanAppQos:WlanAppQos",
                    "description": "QoS rules for application traffic on this WLAN"
                },
                "applyTo": {
                    "type": "string",
                    "description": "Scope that determines where this WLAN is applied"
                },
                "arpFilter": {
                    "type": "boolean",
                    "description": "Whether to enable smart arp filter"
                },
                "auth": {
                    "$ref": "#/types/junipermist:org/WlanAuth:WlanAuth",
                    "description": "Settings that control client authentication for this WLAN"
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "RADIUS authentication server selection behavior for this WLAN"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WlanAuthServer:WlanAuthServer"
                    },
                    "description": "RADIUS authentication servers used by this WLAN. Required when `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e"
                },
                "authServersNasId": {
                    "type": "string",
                    "description": "Optional, up to 48 bytes, will be dynamically generated if not provided. used only for authentication servers"
                },
                "authServersNasIp": {
                    "type": "string",
                    "description": "Optional, NAS-IP-ADDRESS to use"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘retries’ are set to value of auth_servers_retries. ‘max-requests’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersRetries \" pulumi-lang-dotnet=\" AuthServersRetries \" pulumi-lang-go=\" authServersRetries \" pulumi-lang-python=\" auth_servers_retries \" pulumi-lang-yaml=\" authServersRetries \" pulumi-lang-java=\" authServersRetries \" pulumi-lang-hcl=\" auth_servers_retries \"\u003e authServersRetries \u003c/span\u003eand is set to default value to 3."
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘quite-period’  and ‘transmit-period’ are set to half the value of auth_servers_timeout. ‘supplicant-timeout’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersTimeout \" pulumi-lang-dotnet=\" AuthServersTimeout \" pulumi-lang-go=\" authServersTimeout \" pulumi-lang-python=\" auth_servers_timeout \" pulumi-lang-yaml=\" authServersTimeout \" pulumi-lang-java=\" authServersTimeout \" pulumi-lang-hcl=\" auth_servers_timeout \"\u003e authServersTimeout \u003c/span\u003eand is set to default value of 10."
                },
                "bandSteer": {
                    "type": "boolean",
                    "description": "Whether to enable band_steering, this works only when band==both"
                },
                "bandSteerForceBand5": {
                    "type": "boolean",
                    "description": "Force\u003cspan pulumi-lang-nodejs=\" dualBand \" pulumi-lang-dotnet=\" DualBand \" pulumi-lang-go=\" dualBand \" pulumi-lang-python=\" dual_band \" pulumi-lang-yaml=\" dualBand \" pulumi-lang-java=\" dualBand \" pulumi-lang-hcl=\" dual_band \"\u003e dualBand \u003c/span\u003ecapable client to connect to 5G"
                },
                "bands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "list of radios that the wlan should apply to. enum: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\" pulumi-lang-hcl=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e"
                },
                "blockBlacklistClients": {
                    "type": "boolean",
                    "description": "Whether to block the clients in the blacklist (up to first 256 macs)"
                },
                "bonjour": {
                    "$ref": "#/types/junipermist:org/WlanBonjour:WlanBonjour",
                    "description": "Service discovery gateway settings for Bonjour traffic on this WLAN"
                },
                "ciscoCwa": {
                    "$ref": "#/types/junipermist:org/WlanCiscoCwa:WlanCiscoCwa",
                    "description": "Central web authentication settings for Cisco CWA on this WLAN"
                },
                "clientLimitDown": {
                    "type": "string",
                    "description": "Downlink bandwidth limit applied per client"
                },
                "clientLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting per-client is enabled"
                },
                "clientLimitUp": {
                    "type": "string",
                    "description": "Uplink bandwidth limit applied per client"
                },
                "clientLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting per-client is enabled"
                },
                "coaServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WlanCoaServer:WlanCoaServer"
                    },
                    "description": "RADIUS Change of Authorization servers available to this WLAN"
                },
                "disable11ax": {
                    "type": "boolean",
                    "description": "Some old WLAN drivers may not be compatible"
                },
                "disable11be": {
                    "type": "boolean",
                    "description": "To disable Wi-Fi 7 EHT IEs"
                },
                "disableHtVhtRates": {
                    "type": "boolean",
                    "description": "To disable ht or vht rates"
                },
                "disableMessageAuthenticatorCheck": {
                    "type": "boolean",
                    "description": "whether to disable Message-Authenticator Check, which is used to verify the integrity of RADIUS messages, default is false (i.e. for better security)"
                },
                "disableUapsd": {
                    "type": "boolean",
                    "description": "Whether to disable U-APSD"
                },
                "disableV1RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages"
                },
                "disableV2RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages"
                },
                "disableWhenGatewayUnreachable": {
                    "type": "boolean",
                    "description": "When any of the following is true, this WLAN will be disabled\n   * cannot get IP\n   * cannot obtain default gateway\n   * cannot reach default gateway"
                },
                "disableWhenMxtunnelDown": {
                    "type": "boolean",
                    "description": "Whether to disable this WLAN when the configured Mist tunnel is down"
                },
                "disableWmm": {
                    "type": "boolean",
                    "description": "Whether to disable WMM"
                },
                "dnsServerRewrite": {
                    "$ref": "#/types/junipermist:org/WlanDnsServerRewrite:WlanDnsServerRewrite",
                    "description": "RADIUS group based DNS server rewrite settings for this WLAN"
                },
                "dtim": {
                    "type": "integer",
                    "description": "Delivery Traffic Indication Message interval for this WLAN"
                },
                "dynamicPsk": {
                    "$ref": "#/types/junipermist:org/WlanDynamicPsk:WlanDynamicPsk",
                    "description": "Per-user PSK selection settings for this WLAN"
                },
                "dynamicVlan": {
                    "$ref": "#/types/junipermist:org/WlanDynamicVlan:WlanDynamicVlan",
                    "description": "VLAN assignment settings for 802.1X dynamic VLANs"
                },
                "enableFtm": {
                    "type": "boolean",
                    "description": "Enable FTM (Fine-Time Measurement, 802.11mc); configures the AP as an FTM Responder (target), allowing clients to perform ranging requests against it"
                },
                "enableLocalKeycaching": {
                    "type": "boolean",
                    "description": "Enable AP-AP keycaching via multicast"
                },
                "enableWirelessBridging": {
                    "type": "boolean",
                    "description": "By default, we'd inspect all DHCP packets and drop those unrelated to the wireless client itself in the case where client is a wireless bridge (DHCP packets for other MACs will need to be forwarded),\u003cspan pulumi-lang-nodejs=\" wirelessBridging \" pulumi-lang-dotnet=\" WirelessBridging \" pulumi-lang-go=\" wirelessBridging \" pulumi-lang-python=\" wireless_bridging \" pulumi-lang-yaml=\" wirelessBridging \" pulumi-lang-java=\" wirelessBridging \" pulumi-lang-hcl=\" wireless_bridging \"\u003e wirelessBridging \u003c/span\u003ecan be enabled"
                },
                "enableWirelessBridgingDhcpTracking": {
                    "type": "boolean",
                    "description": "If the client bridge is doing DHCP on behalf of other devices (L2-NAT), enable\u003cspan pulumi-lang-nodejs=\" dhcpTracking \" pulumi-lang-dotnet=\" DhcpTracking \" pulumi-lang-go=\" dhcpTracking \" pulumi-lang-python=\" dhcp_tracking \" pulumi-lang-yaml=\" dhcpTracking \" pulumi-lang-java=\" dhcpTracking \" pulumi-lang-hcl=\" dhcp_tracking \"\u003e dhcpTracking \u003c/span\u003ewill cut down DHCP response packets to be forwarded to wireless"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If this wlan is enabled"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from ‘auth_servers_timeout’ and ‘auth_server_retries’ ."
                },
                "hideSsid": {
                    "type": "boolean",
                    "description": "Whether to hide SSID in beacon"
                },
                "hostnameIe": {
                    "type": "boolean",
                    "description": "Include hostname inside IE in AP beacons / probe responses"
                },
                "hotspot20": {
                    "$ref": "#/types/junipermist:org/WlanHotspot20:WlanHotspot20",
                    "description": "Passpoint and Hotspot 2.0 settings for this WLAN"
                },
                "injectDhcpOption82": {
                    "$ref": "#/types/junipermist:org/WlanInjectDhcpOption82:WlanInjectDhcpOption82",
                    "description": "DHCP Option 82 insertion settings for this WLAN"
                },
                "interface": {
                    "type": "string",
                    "description": "Network interface or tunnel where this WLAN bridges client traffic"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to stop clients to talk to each other"
                },
                "l2Isolation": {
                    "type": "boolean",
                    "description": "If isolation is enabled, whether to deny clients to talk to L2 on the LAN"
                },
                "legacyOverds": {
                    "type": "boolean",
                    "description": "Legacy devices requires the Over-DS (for Fast BSS Transition) bit set (while our chip doesn’t support it). Warning! Enabling this will cause problem for iOS devices."
                },
                "limitBcast": {
                    "type": "boolean",
                    "description": "Whether to limit broadcast packets going to wireless (i.e. only allow certain bcast packets to go through)"
                },
                "limitProbeResponse": {
                    "type": "boolean",
                    "description": "Limit probe response base on some heuristic rules"
                },
                "maxIdletime": {
                    "type": "integer",
                    "description": "Max idle time in seconds"
                },
                "maxNumClients": {
                    "type": "integer",
                    "description": "Maximum number of client connected to the SSID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means unlimited"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:org/WlanMistNac:WlanMistNac",
                    "description": "Juniper Mist NAC settings used by this WLAN"
                },
                "mxtunnelIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Tunnel identifiers used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e"
                },
                "mxtunnelNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Tunnel names used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e"
                },
                "noStaticDns": {
                    "type": "boolean",
                    "description": "Whether to only allow client to use DNS that we’ve learned from DHCP response"
                },
                "noStaticIp": {
                    "type": "boolean",
                    "description": "Whether to only allow client that we’ve learned from DHCP exchange to talk"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization associated with this WLAN"
                },
                "portal": {
                    "$ref": "#/types/junipermist:org/WlanPortal:WlanPortal",
                    "description": "Guest portal settings for this WLAN"
                },
                "portalAllowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal hostnames that clients may reach before authorization"
                },
                "portalAllowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal CIDR subnets that clients may reach before authorization"
                },
                "portalDeniedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal hostnames denied before authorization, taking precedence over allowed hostnames"
                },
                "qos": {
                    "$ref": "#/types/junipermist:org/WlanQos:WlanQos",
                    "description": "Quality-of-service settings for WLAN client traffic"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:org/WlanRadsec:WlanRadsec",
                    "description": "TLS-secured RADIUS transport settings for this WLAN"
                },
                "rateset": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:org/WlanRateset:WlanRateset"
                    },
                    "description": "Data rate settings by RF band for this WLAN"
                },
                "reconnectClientsWhenRoamingMxcluster": {
                    "type": "boolean",
                    "description": "When different mxcluster is on different subnet, we'd want to disconnect clients (so they'll reconnect and get new IPs)"
                },
                "roamMode": {
                    "type": "string",
                    "description": "Fast roaming mode configured for this WLAN"
                },
                "schedule": {
                    "$ref": "#/types/junipermist:org/WlanSchedule:WlanSchedule",
                    "description": "Operating schedule controlling when this WLAN is active"
                },
                "sleExcluded": {
                    "type": "boolean",
                    "description": "Whether to exclude this WLAN from SLE metrics"
                },
                "ssid": {
                    "type": "string",
                    "description": "Name of the SSID"
                },
                "templateId": {
                    "type": "string",
                    "description": "Identifier of the WLAN template associated with this WLAN"
                },
                "useEapolV1": {
                    "type": "boolean",
                    "description": "If `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e or `auth.type`==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, should only be set for legacy client, such as pre-2004, 802.11b devices"
                },
                "vlanEnabled": {
                    "type": "boolean",
                    "description": "If vlan tagging is enabled"
                },
                "vlanId": {
                    "type": "string",
                    "description": "Default VLAN ID, range, or variable used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pool of VLAN IDs used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vlanPooling`\" pulumi-lang-dotnet=\"`VlanPooling`\" pulumi-lang-go=\"`vlanPooling`\" pulumi-lang-python=\"`vlan_pooling`\" pulumi-lang-yaml=\"`vlanPooling`\" pulumi-lang-java=\"`vlanPooling`\" pulumi-lang-hcl=\"`vlan_pooling`\"\u003e`vlanPooling`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                },
                "vlanPooling": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Vlan pooling allows AP to place client on different VLAN using a deterministic algorithm"
                },
                "wlanLimitDown": {
                    "type": "string",
                    "description": "Downlink bandwidth limit applied to the whole WLAN"
                },
                "wlanLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting for whole wlan is enabled"
                },
                "wlanLimitUp": {
                    "type": "string",
                    "description": "Uplink bandwidth limit applied to the whole WLAN"
                },
                "wlanLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting for whole wlan is enabled"
                },
                "wxtagIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Identifiers of WxLAN tags used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtags`\" pulumi-lang-dotnet=\"`Wxtags`\" pulumi-lang-go=\"`wxtags`\" pulumi-lang-python=\"`wxtags`\" pulumi-lang-yaml=\"`wxtags`\" pulumi-lang-java=\"`wxtags`\" pulumi-lang-hcl=\"`wxtags`\"\u003e`wxtags`\u003c/span\u003e"
                },
                "wxtunnelId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, id of the WXLAN Tunnel"
                },
                "wxtunnelRemoteId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, remote tunnel identifier"
                }
            },
            "requiredInputs": [
                "orgId",
                "ssid",
                "templateId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Wlan resources.\n",
                "properties": {
                    "acctImmediateUpdate": {
                        "type": "boolean",
                        "description": "Enable coa-immediate-update and address-change-immediate-update on the access profile."
                    },
                    "acctInterimInterval": {
                        "type": "integer",
                        "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled"
                    },
                    "acctServers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/WlanAcctServer:WlanAcctServer"
                        },
                        "description": "RADIUS accounting servers used by this WLAN"
                    },
                    "airwatch": {
                        "$ref": "#/types/junipermist:org/WlanAirwatch:WlanAirwatch",
                        "description": "Integration settings for AirWatch device compliance on this WLAN"
                    },
                    "allowIpv6Ndp": {
                        "type": "boolean",
                        "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows or disallows ipv6 Neighbor Discovery packets to go through"
                    },
                    "allowMdns": {
                        "type": "boolean",
                        "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows mDNS / Bonjour packets to go through"
                    },
                    "allowSsdp": {
                        "type": "boolean",
                        "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows SSDP"
                    },
                    "apIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Access point identifiers used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`aps`\" pulumi-lang-dotnet=\"`Aps`\" pulumi-lang-go=\"`aps`\" pulumi-lang-python=\"`aps`\" pulumi-lang-yaml=\"`aps`\" pulumi-lang-java=\"`aps`\" pulumi-lang-hcl=\"`aps`\"\u003e`aps`\u003c/span\u003e"
                    },
                    "appLimit": {
                        "$ref": "#/types/junipermist:org/WlanAppLimit:WlanAppLimit",
                        "description": "Bandwidth limits for applications on this WLAN"
                    },
                    "appQos": {
                        "$ref": "#/types/junipermist:org/WlanAppQos:WlanAppQos",
                        "description": "QoS rules for application traffic on this WLAN"
                    },
                    "applyTo": {
                        "type": "string",
                        "description": "Scope that determines where this WLAN is applied"
                    },
                    "arpFilter": {
                        "type": "boolean",
                        "description": "Whether to enable smart arp filter"
                    },
                    "auth": {
                        "$ref": "#/types/junipermist:org/WlanAuth:WlanAuth",
                        "description": "Settings that control client authentication for this WLAN"
                    },
                    "authServerSelection": {
                        "type": "string",
                        "description": "RADIUS authentication server selection behavior for this WLAN"
                    },
                    "authServers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/WlanAuthServer:WlanAuthServer"
                        },
                        "description": "RADIUS authentication servers used by this WLAN. Required when `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e"
                    },
                    "authServersNasId": {
                        "type": "string",
                        "description": "Optional, up to 48 bytes, will be dynamically generated if not provided. used only for authentication servers"
                    },
                    "authServersNasIp": {
                        "type": "string",
                        "description": "Optional, NAS-IP-ADDRESS to use"
                    },
                    "authServersRetries": {
                        "type": "integer",
                        "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘retries’ are set to value of auth_servers_retries. ‘max-requests’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersRetries \" pulumi-lang-dotnet=\" AuthServersRetries \" pulumi-lang-go=\" authServersRetries \" pulumi-lang-python=\" auth_servers_retries \" pulumi-lang-yaml=\" authServersRetries \" pulumi-lang-java=\" authServersRetries \" pulumi-lang-hcl=\" auth_servers_retries \"\u003e authServersRetries \u003c/span\u003eand is set to default value to 3."
                    },
                    "authServersTimeout": {
                        "type": "integer",
                        "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘quite-period’  and ‘transmit-period’ are set to half the value of auth_servers_timeout. ‘supplicant-timeout’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersTimeout \" pulumi-lang-dotnet=\" AuthServersTimeout \" pulumi-lang-go=\" authServersTimeout \" pulumi-lang-python=\" auth_servers_timeout \" pulumi-lang-yaml=\" authServersTimeout \" pulumi-lang-java=\" authServersTimeout \" pulumi-lang-hcl=\" auth_servers_timeout \"\u003e authServersTimeout \u003c/span\u003eand is set to default value of 10."
                    },
                    "bandSteer": {
                        "type": "boolean",
                        "description": "Whether to enable band_steering, this works only when band==both"
                    },
                    "bandSteerForceBand5": {
                        "type": "boolean",
                        "description": "Force\u003cspan pulumi-lang-nodejs=\" dualBand \" pulumi-lang-dotnet=\" DualBand \" pulumi-lang-go=\" dualBand \" pulumi-lang-python=\" dual_band \" pulumi-lang-yaml=\" dualBand \" pulumi-lang-java=\" dualBand \" pulumi-lang-hcl=\" dual_band \"\u003e dualBand \u003c/span\u003ecapable client to connect to 5G"
                    },
                    "bands": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "list of radios that the wlan should apply to. enum: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\" pulumi-lang-hcl=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e"
                    },
                    "blockBlacklistClients": {
                        "type": "boolean",
                        "description": "Whether to block the clients in the blacklist (up to first 256 macs)"
                    },
                    "bonjour": {
                        "$ref": "#/types/junipermist:org/WlanBonjour:WlanBonjour",
                        "description": "Service discovery gateway settings for Bonjour traffic on this WLAN"
                    },
                    "ciscoCwa": {
                        "$ref": "#/types/junipermist:org/WlanCiscoCwa:WlanCiscoCwa",
                        "description": "Central web authentication settings for Cisco CWA on this WLAN"
                    },
                    "clientLimitDown": {
                        "type": "string",
                        "description": "Downlink bandwidth limit applied per client"
                    },
                    "clientLimitDownEnabled": {
                        "type": "boolean",
                        "description": "If downlink limiting per-client is enabled"
                    },
                    "clientLimitUp": {
                        "type": "string",
                        "description": "Uplink bandwidth limit applied per client"
                    },
                    "clientLimitUpEnabled": {
                        "type": "boolean",
                        "description": "If uplink limiting per-client is enabled"
                    },
                    "coaServers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/WlanCoaServer:WlanCoaServer"
                        },
                        "description": "RADIUS Change of Authorization servers available to this WLAN"
                    },
                    "disable11ax": {
                        "type": "boolean",
                        "description": "Some old WLAN drivers may not be compatible"
                    },
                    "disable11be": {
                        "type": "boolean",
                        "description": "To disable Wi-Fi 7 EHT IEs"
                    },
                    "disableHtVhtRates": {
                        "type": "boolean",
                        "description": "To disable ht or vht rates"
                    },
                    "disableMessageAuthenticatorCheck": {
                        "type": "boolean",
                        "description": "whether to disable Message-Authenticator Check, which is used to verify the integrity of RADIUS messages, default is false (i.e. for better security)"
                    },
                    "disableUapsd": {
                        "type": "boolean",
                        "description": "Whether to disable U-APSD"
                    },
                    "disableV1RoamNotify": {
                        "type": "boolean",
                        "description": "Disable sending v2 roam notification messages"
                    },
                    "disableV2RoamNotify": {
                        "type": "boolean",
                        "description": "Disable sending v2 roam notification messages"
                    },
                    "disableWhenGatewayUnreachable": {
                        "type": "boolean",
                        "description": "When any of the following is true, this WLAN will be disabled\n   * cannot get IP\n   * cannot obtain default gateway\n   * cannot reach default gateway"
                    },
                    "disableWhenMxtunnelDown": {
                        "type": "boolean",
                        "description": "Whether to disable this WLAN when the configured Mist tunnel is down"
                    },
                    "disableWmm": {
                        "type": "boolean",
                        "description": "Whether to disable WMM"
                    },
                    "dnsServerRewrite": {
                        "$ref": "#/types/junipermist:org/WlanDnsServerRewrite:WlanDnsServerRewrite",
                        "description": "RADIUS group based DNS server rewrite settings for this WLAN"
                    },
                    "dtim": {
                        "type": "integer",
                        "description": "Delivery Traffic Indication Message interval for this WLAN"
                    },
                    "dynamicPsk": {
                        "$ref": "#/types/junipermist:org/WlanDynamicPsk:WlanDynamicPsk",
                        "description": "Per-user PSK selection settings for this WLAN"
                    },
                    "dynamicVlan": {
                        "$ref": "#/types/junipermist:org/WlanDynamicVlan:WlanDynamicVlan",
                        "description": "VLAN assignment settings for 802.1X dynamic VLANs"
                    },
                    "enableFtm": {
                        "type": "boolean",
                        "description": "Enable FTM (Fine-Time Measurement, 802.11mc); configures the AP as an FTM Responder (target), allowing clients to perform ranging requests against it"
                    },
                    "enableLocalKeycaching": {
                        "type": "boolean",
                        "description": "Enable AP-AP keycaching via multicast"
                    },
                    "enableWirelessBridging": {
                        "type": "boolean",
                        "description": "By default, we'd inspect all DHCP packets and drop those unrelated to the wireless client itself in the case where client is a wireless bridge (DHCP packets for other MACs will need to be forwarded),\u003cspan pulumi-lang-nodejs=\" wirelessBridging \" pulumi-lang-dotnet=\" WirelessBridging \" pulumi-lang-go=\" wirelessBridging \" pulumi-lang-python=\" wireless_bridging \" pulumi-lang-yaml=\" wirelessBridging \" pulumi-lang-java=\" wirelessBridging \" pulumi-lang-hcl=\" wireless_bridging \"\u003e wirelessBridging \u003c/span\u003ecan be enabled"
                    },
                    "enableWirelessBridgingDhcpTracking": {
                        "type": "boolean",
                        "description": "If the client bridge is doing DHCP on behalf of other devices (L2-NAT), enable\u003cspan pulumi-lang-nodejs=\" dhcpTracking \" pulumi-lang-dotnet=\" DhcpTracking \" pulumi-lang-go=\" dhcpTracking \" pulumi-lang-python=\" dhcp_tracking \" pulumi-lang-yaml=\" dhcpTracking \" pulumi-lang-java=\" dhcpTracking \" pulumi-lang-hcl=\" dhcp_tracking \"\u003e dhcpTracking \u003c/span\u003ewill cut down DHCP response packets to be forwarded to wireless"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "If this wlan is enabled"
                    },
                    "fastDot1xTimers": {
                        "type": "boolean",
                        "description": "If set to true, sets default fast-timers with values calculated from ‘auth_servers_timeout’ and ‘auth_server_retries’ ."
                    },
                    "hideSsid": {
                        "type": "boolean",
                        "description": "Whether to hide SSID in beacon"
                    },
                    "hostnameIe": {
                        "type": "boolean",
                        "description": "Include hostname inside IE in AP beacons / probe responses"
                    },
                    "hotspot20": {
                        "$ref": "#/types/junipermist:org/WlanHotspot20:WlanHotspot20",
                        "description": "Passpoint and Hotspot 2.0 settings for this WLAN"
                    },
                    "injectDhcpOption82": {
                        "$ref": "#/types/junipermist:org/WlanInjectDhcpOption82:WlanInjectDhcpOption82",
                        "description": "DHCP Option 82 insertion settings for this WLAN"
                    },
                    "interface": {
                        "type": "string",
                        "description": "Network interface or tunnel where this WLAN bridges client traffic"
                    },
                    "isolation": {
                        "type": "boolean",
                        "description": "Whether to stop clients to talk to each other"
                    },
                    "l2Isolation": {
                        "type": "boolean",
                        "description": "If isolation is enabled, whether to deny clients to talk to L2 on the LAN"
                    },
                    "legacyOverds": {
                        "type": "boolean",
                        "description": "Legacy devices requires the Over-DS (for Fast BSS Transition) bit set (while our chip doesn’t support it). Warning! Enabling this will cause problem for iOS devices."
                    },
                    "limitBcast": {
                        "type": "boolean",
                        "description": "Whether to limit broadcast packets going to wireless (i.e. only allow certain bcast packets to go through)"
                    },
                    "limitProbeResponse": {
                        "type": "boolean",
                        "description": "Limit probe response base on some heuristic rules"
                    },
                    "maxIdletime": {
                        "type": "integer",
                        "description": "Max idle time in seconds"
                    },
                    "maxNumClients": {
                        "type": "integer",
                        "description": "Maximum number of client connected to the SSID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means unlimited"
                    },
                    "mistNac": {
                        "$ref": "#/types/junipermist:org/WlanMistNac:WlanMistNac",
                        "description": "Juniper Mist NAC settings used by this WLAN"
                    },
                    "mspId": {
                        "type": "string",
                        "description": "Managed service provider identifier associated with this WLAN"
                    },
                    "mxtunnelIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Mist Tunnel identifiers used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e"
                    },
                    "mxtunnelNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Mist Tunnel names used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e"
                    },
                    "noStaticDns": {
                        "type": "boolean",
                        "description": "Whether to only allow client to use DNS that we’ve learned from DHCP response"
                    },
                    "noStaticIp": {
                        "type": "boolean",
                        "description": "Whether to only allow client that we’ve learned from DHCP exchange to talk"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Owning organization associated with this WLAN"
                    },
                    "portal": {
                        "$ref": "#/types/junipermist:org/WlanPortal:WlanPortal",
                        "description": "Guest portal settings for this WLAN"
                    },
                    "portalAllowedHostnames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Guest portal hostnames that clients may reach before authorization"
                    },
                    "portalAllowedSubnets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Guest portal CIDR subnets that clients may reach before authorization"
                    },
                    "portalApiSecret": {
                        "type": "string",
                        "description": "API secret (auto-generated) that can be used to sign guest authorization requests, only generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e"
                    },
                    "portalDeniedHostnames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Guest portal hostnames denied before authorization, taking precedence over allowed hostnames"
                    },
                    "portalImage": {
                        "type": "string",
                        "description": "Url of portal background image"
                    },
                    "portalSsoUrl": {
                        "type": "string",
                        "description": "URL used in the SSO process, auto-generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e"
                    },
                    "qos": {
                        "$ref": "#/types/junipermist:org/WlanQos:WlanQos",
                        "description": "Quality-of-service settings for WLAN client traffic"
                    },
                    "radsec": {
                        "$ref": "#/types/junipermist:org/WlanRadsec:WlanRadsec",
                        "description": "TLS-secured RADIUS transport settings for this WLAN"
                    },
                    "rateset": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:org/WlanRateset:WlanRateset"
                        },
                        "description": "Data rate settings by RF band for this WLAN"
                    },
                    "reconnectClientsWhenRoamingMxcluster": {
                        "type": "boolean",
                        "description": "When different mxcluster is on different subnet, we'd want to disconnect clients (so they'll reconnect and get new IPs)"
                    },
                    "roamMode": {
                        "type": "string",
                        "description": "Fast roaming mode configured for this WLAN"
                    },
                    "schedule": {
                        "$ref": "#/types/junipermist:org/WlanSchedule:WlanSchedule",
                        "description": "Operating schedule controlling when this WLAN is active"
                    },
                    "sleExcluded": {
                        "type": "boolean",
                        "description": "Whether to exclude this WLAN from SLE metrics"
                    },
                    "ssid": {
                        "type": "string",
                        "description": "Name of the SSID"
                    },
                    "templateId": {
                        "type": "string",
                        "description": "Identifier of the WLAN template associated with this WLAN"
                    },
                    "useEapolV1": {
                        "type": "boolean",
                        "description": "If `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e or `auth.type`==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, should only be set for legacy client, such as pre-2004, 802.11b devices"
                    },
                    "vlanEnabled": {
                        "type": "boolean",
                        "description": "If vlan tagging is enabled"
                    },
                    "vlanId": {
                        "type": "string",
                        "description": "Default VLAN ID, range, or variable used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                    },
                    "vlanIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Pool of VLAN IDs used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vlanPooling`\" pulumi-lang-dotnet=\"`VlanPooling`\" pulumi-lang-go=\"`vlanPooling`\" pulumi-lang-python=\"`vlan_pooling`\" pulumi-lang-yaml=\"`vlanPooling`\" pulumi-lang-java=\"`vlanPooling`\" pulumi-lang-hcl=\"`vlan_pooling`\"\u003e`vlanPooling`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                    },
                    "vlanPooling": {
                        "type": "boolean",
                        "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Vlan pooling allows AP to place client on different VLAN using a deterministic algorithm"
                    },
                    "wlanLimitDown": {
                        "type": "string",
                        "description": "Downlink bandwidth limit applied to the whole WLAN"
                    },
                    "wlanLimitDownEnabled": {
                        "type": "boolean",
                        "description": "If downlink limiting for whole wlan is enabled"
                    },
                    "wlanLimitUp": {
                        "type": "string",
                        "description": "Uplink bandwidth limit applied to the whole WLAN"
                    },
                    "wlanLimitUpEnabled": {
                        "type": "boolean",
                        "description": "If uplink limiting for whole wlan is enabled"
                    },
                    "wxtagIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Identifiers of WxLAN tags used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtags`\" pulumi-lang-dotnet=\"`Wxtags`\" pulumi-lang-go=\"`wxtags`\" pulumi-lang-python=\"`wxtags`\" pulumi-lang-yaml=\"`wxtags`\" pulumi-lang-java=\"`wxtags`\" pulumi-lang-hcl=\"`wxtags`\"\u003e`wxtags`\u003c/span\u003e"
                    },
                    "wxtunnelId": {
                        "type": "string",
                        "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, id of the WXLAN Tunnel"
                    },
                    "wxtunnelRemoteId": {
                        "type": "string",
                        "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, remote tunnel identifier"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/wlanPortalImage:WlanPortalImage": {
            "description": "This resource is used to upload a WLAN Captive Web Portal background image.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wlanOne = new junipermist.org.WlanPortalImage(\"wlan_one\", {\n    siteId: terraformTest.id,\n    wlanId: wlanOneMistOrg.id,\n    file: \"/Users/johndoe/Documents/image.jpg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwlan_one = junipermist.org.WlanPortalImage(\"wlan_one\",\n    site_id=terraform_test[\"id\"],\n    wlan_id=wlan_one_mist_org[\"id\"],\n    file=\"/Users/johndoe/Documents/image.jpg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wlanOne = new JuniperMist.Org.WlanPortalImage(\"wlan_one\", new()\n    {\n        SiteId = terraformTest.Id,\n        WlanId = wlanOneMistOrg.Id,\n        File = \"/Users/johndoe/Documents/image.jpg\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewWlanPortalImage(ctx, \"wlan_one\", \u0026org.WlanPortalImageArgs{\n\t\t\tSiteId: terraformTest.Id,\n\t\t\tWlanId: pulumi.Any(wlanOneMistOrg.Id),\n\t\t\tFile:   pulumi.String(\"/Users/johndoe/Documents/image.jpg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_wlanportalimage\" \"wlan_one\" {\n  site_id = terraformTest.id\n  wlan_id = wlanOneMistOrg.id\n  file    = \"/Users/johndoe/Documents/image.jpg\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.WlanPortalImage;\nimport com.pulumi.junipermist.org.WlanPortalImageArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wlanOne = new WlanPortalImage(\"wlanOne\", WlanPortalImageArgs.builder()\n            .siteId(terraformTest.id())\n            .wlanId(wlanOneMistOrg.id())\n            .file(\"/Users/johndoe/Documents/image.jpg\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wlanOne:\n    type: junipermist:org:WlanPortalImage\n    name: wlan_one\n    properties:\n      siteId: ${terraformTest.id}\n      wlanId: ${wlanOneMistOrg.id}\n      file: /Users/johndoe/Documents/image.jpg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "file": {
                    "type": "string",
                    "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                },
                "orgId": {
                    "type": "string"
                },
                "wlanId": {
                    "type": "string",
                    "description": "Org WLAN ID\n"
                }
            },
            "required": [
                "file",
                "orgId",
                "wlanId"
            ],
            "inputProperties": {
                "file": {
                    "type": "string",
                    "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                },
                "orgId": {
                    "type": "string"
                },
                "wlanId": {
                    "type": "string",
                    "description": "Org WLAN ID\n"
                }
            },
            "requiredInputs": [
                "file",
                "orgId",
                "wlanId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering WlanPortalImage resources.\n",
                "properties": {
                    "file": {
                        "type": "string",
                        "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "wlanId": {
                        "type": "string",
                        "description": "Org WLAN ID\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/wlanPortalTemplate:WlanPortalTemplate": {
            "description": "This resource is used customize the WLAN Guest Portal.\n\nThe WLAN Portal Template can be used to define:\n* Guest Authentication methods and parameters (access duration, ...)\n* Default values of the text fields and labels on the portal\n* Values of the text fields and labels based on the User Agent (\u003cspan pulumi-lang-nodejs=\"`locales`\" pulumi-lang-dotnet=\"`Locales`\" pulumi-lang-go=\"`locales`\" pulumi-lang-python=\"`locales`\" pulumi-lang-yaml=\"`locales`\" pulumi-lang-java=\"`locales`\" pulumi-lang-hcl=\"`locales`\"\u003e`locales`\u003c/span\u003e property)\n\n**Notes:**\n* There is no feedback from the API, so there is no possibility to validate the changes. The resource states is directly generated based on the resource plan.* There is no option to delete or revert the changes. Deleting the resource will just remove it from the states. Once removed, it is possible to create a new one. It will replace the previous template\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wlanOne = new junipermist.org.WlanPortalTemplate(\"wlan_one\", {\n    orgId: terraformTest.id,\n    wlanId: wlanOneMistOrg.id,\n    portalTemplate: {\n        smsMessageFormat: \"Code {{code}} expires in {{duration}} minutes.\",\n        smsValidityDuration: 10,\n        pageTitle: \"Welcome To My Demo Portal\",\n        locales: {\n            \"fr-FR\": {\n                pageTitle: \"Bienvenue sur mon portail de démo\",\n            },\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwlan_one = junipermist.org.WlanPortalTemplate(\"wlan_one\",\n    org_id=terraform_test[\"id\"],\n    wlan_id=wlan_one_mist_org[\"id\"],\n    portal_template={\n        \"sms_message_format\": \"Code {{code}} expires in {{duration}} minutes.\",\n        \"sms_validity_duration\": 10,\n        \"page_title\": \"Welcome To My Demo Portal\",\n        \"locales\": {\n            \"fr-FR\": {\n                \"page_title\": \"Bienvenue sur mon portail de démo\",\n            },\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wlanOne = new JuniperMist.Org.WlanPortalTemplate(\"wlan_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        WlanId = wlanOneMistOrg.Id,\n        PortalTemplate = new JuniperMist.Org.Inputs.WlanPortalTemplatePortalTemplateArgs\n        {\n            SmsMessageFormat = \"Code {{code}} expires in {{duration}} minutes.\",\n            SmsValidityDuration = 10,\n            PageTitle = \"Welcome To My Demo Portal\",\n            Locales = \n            {\n                { \"fr-FR\", new JuniperMist.Org.Inputs.WlanPortalTemplatePortalTemplateLocalesArgs\n                {\n                    PageTitle = \"Bienvenue sur mon portail de démo\",\n                } },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewWlanPortalTemplate(ctx, \"wlan_one\", \u0026org.WlanPortalTemplateArgs{\n\t\t\tOrgId:  pulumi.Any(terraformTest.Id),\n\t\t\tWlanId: pulumi.Any(wlanOneMistOrg.Id),\n\t\t\tPortalTemplate: \u0026org.WlanPortalTemplatePortalTemplateArgs{\n\t\t\t\tSmsMessageFormat:    pulumi.String(\"Code {{code}} expires in {{duration}} minutes.\"),\n\t\t\t\tSmsValidityDuration: pulumi.Int(10),\n\t\t\t\tPageTitle:           pulumi.String(\"Welcome To My Demo Portal\"),\n\t\t\t\tLocales: org.WlanPortalTemplatePortalTemplateLocalesMap{\n\t\t\t\t\t\"fr-FR\": \u0026org.WlanPortalTemplatePortalTemplateLocalesArgs{\n\t\t\t\t\t\tPageTitle: pulumi.String(\"Bienvenue sur mon portail de démo\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_wlanportaltemplate\" \"wlan_one\" {\n  org_id  = terraformTest.id\n  wlan_id = wlanOneMistOrg.id\n  portal_template = {\n    sms_message_format    = \"Code {{code}} expires in {{duration}} minutes.\"\n    sms_validity_duration = \"10\"\n    page_title            = \"Welcome To My Demo Portal\"\n    locales = {\n      \"fr-FR\" = {\n        page_title = \"Bienvenue sur mon portail de démo\"\n      }\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.WlanPortalTemplate;\nimport com.pulumi.junipermist.org.WlanPortalTemplateArgs;\nimport com.pulumi.junipermist.org.inputs.WlanPortalTemplatePortalTemplateArgs;\nimport com.pulumi.junipermist.org.inputs.WlanPortalTemplatePortalTemplateLocalesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wlanOne = new WlanPortalTemplate(\"wlanOne\", WlanPortalTemplateArgs.builder()\n            .orgId(terraformTest.id())\n            .wlanId(wlanOneMistOrg.id())\n            .portalTemplate(WlanPortalTemplatePortalTemplateArgs.builder()\n                .smsMessageFormat(\"Code {{code}} expires in {{duration}} minutes.\")\n                .smsValidityDuration(10)\n                .pageTitle(\"Welcome To My Demo Portal\")\n                .locales(Map.of(\"fr-FR\", WlanPortalTemplatePortalTemplateLocalesArgs.builder()\n                    .pageTitle(\"Bienvenue sur mon portail de démo\")\n                    .build()))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wlanOne:\n    type: junipermist:org:WlanPortalTemplate\n    name: wlan_one\n    properties:\n      orgId: ${terraformTest.id}\n      wlanId: ${wlanOneMistOrg.id}\n      portalTemplate:\n        smsMessageFormat: Code {{code}} expires in {{duration}} minutes.\n        smsValidityDuration: '10'\n        pageTitle: Welcome To My Demo Portal\n        locales:\n          fr-FR:\n            pageTitle: Bienvenue sur mon portail de démo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "orgId": {
                    "type": "string"
                },
                "portalTemplate": {
                    "$ref": "#/types/junipermist:org/WlanPortalTemplatePortalTemplate:WlanPortalTemplatePortalTemplate",
                    "description": "Template settings that define guest portal text, layout, and localization"
                },
                "wlanId": {
                    "type": "string",
                    "description": "Org WLAN ID"
                }
            },
            "required": [
                "orgId",
                "portalTemplate",
                "wlanId"
            ],
            "inputProperties": {
                "orgId": {
                    "type": "string"
                },
                "portalTemplate": {
                    "$ref": "#/types/junipermist:org/WlanPortalTemplatePortalTemplate:WlanPortalTemplatePortalTemplate",
                    "description": "Template settings that define guest portal text, layout, and localization"
                },
                "wlanId": {
                    "type": "string",
                    "description": "Org WLAN ID"
                }
            },
            "requiredInputs": [
                "orgId",
                "portalTemplate",
                "wlanId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering WlanPortalTemplate resources.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    },
                    "portalTemplate": {
                        "$ref": "#/types/junipermist:org/WlanPortalTemplatePortalTemplate:WlanPortalTemplatePortalTemplate",
                        "description": "Template settings that define guest portal text, layout, and localization"
                    },
                    "wlanId": {
                        "type": "string",
                        "description": "Org WLAN ID"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/wlantemplate:Wlantemplate": {
            "description": "This resource manages the Org WLAN Templates.\n\nA WLAN template is a collection of WLANs, tunneling policies, and wxlan policies. It is used to create and manage wlan configurations at an organizational level.  \nWLAN templates allow for modular, scalable, and easy-to-manage configuration of ssids and their application to specific sites, site groups, or ap device profiles.  \nThey are valuable for automating configuration across multiple sites and profiles, making it easier to scale efficiently.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wlantemplateOne = new junipermist.org.Wlantemplate(\"wlantemplate_one\", {\n    name: \"wlantemplate_one\",\n    orgId: terraformTest.id,\n    applies: {\n        siteIds: [terraformSite.id],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwlantemplate_one = junipermist.org.Wlantemplate(\"wlantemplate_one\",\n    name=\"wlantemplate_one\",\n    org_id=terraform_test[\"id\"],\n    applies={\n        \"site_ids\": [terraform_site[\"id\"]],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wlantemplateOne = new JuniperMist.Org.Wlantemplate(\"wlantemplate_one\", new()\n    {\n        Name = \"wlantemplate_one\",\n        OrgId = terraformTest.Id,\n        Applies = new JuniperMist.Org.Inputs.WlantemplateAppliesArgs\n        {\n            SiteIds = new[]\n            {\n                terraformSite.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewWlantemplate(ctx, \"wlantemplate_one\", \u0026org.WlantemplateArgs{\n\t\t\tName:  pulumi.String(\"wlantemplate_one\"),\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tApplies: \u0026org.WlantemplateAppliesArgs{\n\t\t\t\tSiteIds: pulumi.StringArray{\n\t\t\t\t\tterraformSite.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_wlantemplate\" \"wlantemplate_one\" {\n  name   = \"wlantemplate_one\"\n  org_id = terraformTest.id\n  applies = {\n    site_ids = [terraformSite.id]\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Wlantemplate;\nimport com.pulumi.junipermist.org.WlantemplateArgs;\nimport com.pulumi.junipermist.org.inputs.WlantemplateAppliesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wlantemplateOne = new Wlantemplate(\"wlantemplateOne\", WlantemplateArgs.builder()\n            .name(\"wlantemplate_one\")\n            .orgId(terraformTest.id())\n            .applies(WlantemplateAppliesArgs.builder()\n                .siteIds(terraformSite.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wlantemplateOne:\n    type: junipermist:org:Wlantemplate\n    name: wlantemplate_one\n    properties:\n      name: wlantemplate_one\n      orgId: ${terraformTest.id}\n      applies:\n        siteIds:\n          - ${terraformSite.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Wlantemplate`\" pulumi-lang-dotnet=\"`junipermist.org.Wlantemplate`\" pulumi-lang-go=\"`org.Wlantemplate`\" pulumi-lang-python=\"`org.Wlantemplate`\" pulumi-lang-yaml=\"`junipermist.org.Wlantemplate`\" pulumi-lang-java=\"`junipermist.org.Wlantemplate`\" pulumi-lang-hcl=\"`mist_org_wlantemplate`\"\u003e`junipermist.org.Wlantemplate`\u003c/span\u003e with:\nOrg WLAN Template can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" wlantemplateId\n\" pulumi-lang-dotnet=\" WlantemplateId\n\" pulumi-lang-go=\" wlantemplateId\n\" pulumi-lang-python=\" wlantemplate_id\n\" pulumi-lang-yaml=\" wlantemplateId\n\" pulumi-lang-java=\" wlantemplateId\n\" pulumi-lang-hcl=\" wlantemplate_id\n\"\u003e wlantemplateId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/wlantemplate:Wlantemplate wlantemplate_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "applies": {
                    "$ref": "#/types/junipermist:org/WlantemplateApplies:WlantemplateApplies",
                    "description": "Organizations, sites, or site groups targeted by this WLAN template\n"
                },
                "deviceprofileIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Device profile IDs that further limit where this WLAN template applies\n"
                },
                "exceptions": {
                    "$ref": "#/types/junipermist:org/WlantemplateExceptions:WlantemplateExceptions",
                    "description": "Sites or site groups excluded from this WLAN template even when included by the application scope\n"
                },
                "filterByDeviceprofile": {
                    "type": "boolean",
                    "description": "Whether to further filter by Device Profile\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the WLAN template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this WLAN template\n"
                }
            },
            "required": [
                "applies",
                "deviceprofileIds",
                "exceptions",
                "filterByDeviceprofile",
                "name",
                "orgId"
            ],
            "inputProperties": {
                "applies": {
                    "$ref": "#/types/junipermist:org/WlantemplateApplies:WlantemplateApplies",
                    "description": "Organizations, sites, or site groups targeted by this WLAN template\n"
                },
                "deviceprofileIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Device profile IDs that further limit where this WLAN template applies\n"
                },
                "exceptions": {
                    "$ref": "#/types/junipermist:org/WlantemplateExceptions:WlantemplateExceptions",
                    "description": "Sites or site groups excluded from this WLAN template even when included by the application scope\n"
                },
                "filterByDeviceprofile": {
                    "type": "boolean",
                    "description": "Whether to further filter by Device Profile\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the WLAN template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns this WLAN template\n"
                }
            },
            "requiredInputs": [
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Wlantemplate resources.\n",
                "properties": {
                    "applies": {
                        "$ref": "#/types/junipermist:org/WlantemplateApplies:WlantemplateApplies",
                        "description": "Organizations, sites, or site groups targeted by this WLAN template\n"
                    },
                    "deviceprofileIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Device profile IDs that further limit where this WLAN template applies\n"
                    },
                    "exceptions": {
                        "$ref": "#/types/junipermist:org/WlantemplateExceptions:WlantemplateExceptions",
                        "description": "Sites or site groups excluded from this WLAN template even when included by the application scope\n"
                    },
                    "filterByDeviceprofile": {
                        "type": "boolean",
                        "description": "Whether to further filter by Device Profile\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the WLAN template\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns this WLAN template\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/wxrule:Wxrule": {
            "description": "This resource manages the Org WxRules (WxLAN policies).\n\nA WxLAN policy is a set of rules and settings that can be applied to devices in a network to determine how they are treated. it provides support for access policies, network segmentation, role-based policies, micro-segmentation, and least privilege.  \nWxLAN policies are used to allow or deny specific users from accessing specific resources in a wireless network.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wxruleOne = new junipermist.org.Wxrule(\"wxrule_one\", {\n    orgId: terraformTest.id,\n    templateId: wlantemplateOne.id,\n    srcWxtags: [wxtagOne.id],\n    enabled: true,\n    action: \"allow\",\n    dstDenyWxtags: [wxtagTwo.id],\n    order: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwxrule_one = junipermist.org.Wxrule(\"wxrule_one\",\n    org_id=terraform_test[\"id\"],\n    template_id=wlantemplate_one[\"id\"],\n    src_wxtags=[wxtag_one[\"id\"]],\n    enabled=True,\n    action=\"allow\",\n    dst_deny_wxtags=[wxtag_two[\"id\"]],\n    order=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wxruleOne = new JuniperMist.Org.Wxrule(\"wxrule_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        TemplateId = wlantemplateOne.Id,\n        SrcWxtags = new[]\n        {\n            wxtagOne.Id,\n        },\n        Enabled = true,\n        Action = \"allow\",\n        DstDenyWxtags = new[]\n        {\n            wxtagTwo.Id,\n        },\n        Order = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewWxrule(ctx, \"wxrule_one\", \u0026org.WxruleArgs{\n\t\t\tOrgId:      pulumi.Any(terraformTest.Id),\n\t\t\tTemplateId: pulumi.Any(wlantemplateOne.Id),\n\t\t\tSrcWxtags: pulumi.StringArray{\n\t\t\t\twxtagOne.Id,\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAction:  pulumi.String(\"allow\"),\n\t\t\tDstDenyWxtags: pulumi.StringArray{\n\t\t\t\twxtagTwo.Id,\n\t\t\t},\n\t\t\tOrder: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_wxrule\" \"wxrule_one\" {\n  org_id          = terraformTest.id\n  template_id     = wlantemplateOne.id\n  src_wxtags      = [wxtagOne.id]\n  enabled         = true\n  action          = \"allow\"\n  dst_deny_wxtags = [wxtagTwo.id]\n  order           = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Wxrule;\nimport com.pulumi.junipermist.org.WxruleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wxruleOne = new Wxrule(\"wxruleOne\", WxruleArgs.builder()\n            .orgId(terraformTest.id())\n            .templateId(wlantemplateOne.id())\n            .srcWxtags(wxtagOne.id())\n            .enabled(true)\n            .action(\"allow\")\n            .dstDenyWxtags(wxtagTwo.id())\n            .order(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wxruleOne:\n    type: junipermist:org:Wxrule\n    name: wxrule_one\n    properties:\n      orgId: ${terraformTest.id}\n      templateId: ${wlantemplateOne.id}\n      srcWxtags:\n        - ${wxtagOne.id}\n      enabled: true\n      action: allow\n      dstDenyWxtags:\n        - ${wxtagTwo.id}\n      order: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Wxrule`\" pulumi-lang-dotnet=\"`junipermist.org.Wxrule`\" pulumi-lang-go=\"`org.Wxrule`\" pulumi-lang-python=\"`org.Wxrule`\" pulumi-lang-yaml=\"`junipermist.org.Wxrule`\" pulumi-lang-java=\"`junipermist.org.Wxrule`\" pulumi-lang-hcl=\"`mist_org_wxrule`\"\u003e`junipermist.org.Wxrule`\u003c/span\u003e with:\nOrg WxRule can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" wxruleId\n\" pulumi-lang-dotnet=\" WxruleId\n\" pulumi-lang-go=\" wxruleId\n\" pulumi-lang-python=\" wxrule_id\n\" pulumi-lang-yaml=\" wxruleId\n\" pulumi-lang-java=\" wxruleId\n\" pulumi-lang-hcl=\" wxrule_id\n\"\u003e wxruleId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/wxrule:Wxrule wxrule_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Allow or block behavior applied by this WxLAN rule\n"
                },
                "applyTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WxLAN tag identifiers applied when this rule matches\n"
                },
                "blockedApps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application keys always blocked by this rule, regardless of the rule action\n"
                },
                "dstAllowWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers explicitly allowed by this rule\n"
                },
                "dstDenyWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers explicitly denied by this rule\n"
                },
                "dstWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers matched by this rule\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this WxLAN rule is enabled\n"
                },
                "order": {
                    "type": "integer",
                    "description": "Lookup priority for WxLAN rules; larger positive values match first, and -1 means LAST. Uniqueness is not checked\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization associated with this WxLAN rule\n"
                },
                "srcWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source WxLAN tag identifiers that must match for this rule to apply\n"
                },
                "templateId": {
                    "type": "string",
                    "description": "Only for Org Level WxRule\n"
                }
            },
            "required": [
                "action",
                "dstAllowWxtags",
                "dstDenyWxtags",
                "dstWxtags",
                "enabled",
                "order",
                "orgId",
                "srcWxtags",
                "templateId"
            ],
            "inputProperties": {
                "action": {
                    "type": "string",
                    "description": "Allow or block behavior applied by this WxLAN rule\n"
                },
                "applyTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WxLAN tag identifiers applied when this rule matches\n"
                },
                "blockedApps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application keys always blocked by this rule, regardless of the rule action\n"
                },
                "dstAllowWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers explicitly allowed by this rule\n"
                },
                "dstDenyWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers explicitly denied by this rule\n"
                },
                "dstWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers matched by this rule\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this WxLAN rule is enabled\n"
                },
                "order": {
                    "type": "integer",
                    "description": "Lookup priority for WxLAN rules; larger positive values match first, and -1 means LAST. Uniqueness is not checked\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization associated with this WxLAN rule\n"
                },
                "srcWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source WxLAN tag identifiers that must match for this rule to apply\n"
                },
                "templateId": {
                    "type": "string",
                    "description": "Only for Org Level WxRule\n"
                }
            },
            "requiredInputs": [
                "action",
                "order",
                "orgId",
                "templateId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Wxrule resources.\n",
                "properties": {
                    "action": {
                        "type": "string",
                        "description": "Allow or block behavior applied by this WxLAN rule\n"
                    },
                    "applyTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "WxLAN tag identifiers applied when this rule matches\n"
                    },
                    "blockedApps": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Application keys always blocked by this rule, regardless of the rule action\n"
                    },
                    "dstAllowWxtags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Destination WxLAN tag identifiers explicitly allowed by this rule\n"
                    },
                    "dstDenyWxtags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Destination WxLAN tag identifiers explicitly denied by this rule\n"
                    },
                    "dstWxtags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Destination WxLAN tag identifiers matched by this rule\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether this WxLAN rule is enabled\n"
                    },
                    "order": {
                        "type": "integer",
                        "description": "Lookup priority for WxLAN rules; larger positive values match first, and -1 means LAST. Uniqueness is not checked\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Owning organization associated with this WxLAN rule\n"
                    },
                    "srcWxtags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Source WxLAN tag identifiers that must match for this rule to apply\n"
                    },
                    "templateId": {
                        "type": "string",
                        "description": "Only for Org Level WxRule\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:org/wxtag:Wxtag": {
            "description": "This resource manages the Org WxLan tags (labels).\n\nA WxTag is a label or tag used in the mist system to classify and categorize applications, users, and resources for the purpose of creating policies and making network management decisions. They can be used \n* within the Org WxRules to create filtering rules:\n  * `mist_org_wxrule.dst_allow_wxtags`\n  * `mist_org_wxrule.dst_deny_wxtags`\n  * `mist_org_wxrule.dst_wxtags`\n  * `mist_org_wxrule.src_wxtags`\n* within the Org WxRules to assign specific VLAN:\n  * `mist_org_wxrule.apply_tags`\n* in the WLANs configuration to assign a WLAN to specific APs:\n  * `mist_org_wlan.wxtag_ids`\n* to identify unknown application used by Wi-Fi clients\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wxtagOne = new junipermist.org.Wxtag(\"wxtag_one\", {\n    orgId: terraformTest.id,\n    name: \"wxtag_one\",\n    values: [\"10.3.0.0/16\"],\n    op: \"in\",\n    type: \"match\",\n    match: \"ip_range_subnet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwxtag_one = junipermist.org.Wxtag(\"wxtag_one\",\n    org_id=terraform_test[\"id\"],\n    name=\"wxtag_one\",\n    values=[\"10.3.0.0/16\"],\n    op=\"in\",\n    type=\"match\",\n    match=\"ip_range_subnet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wxtagOne = new JuniperMist.Org.Wxtag(\"wxtag_one\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"wxtag_one\",\n        Values = new[]\n        {\n            \"10.3.0.0/16\",\n        },\n        Op = \"in\",\n        Type = \"match\",\n        Match = \"ip_range_subnet\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.NewWxtag(ctx, \"wxtag_one\", \u0026org.WxtagArgs{\n\t\t\tOrgId: pulumi.Any(terraformTest.Id),\n\t\t\tName:  pulumi.String(\"wxtag_one\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.3.0.0/16\"),\n\t\t\t},\n\t\t\tOp:    pulumi.String(\"in\"),\n\t\t\tType:  pulumi.String(\"match\"),\n\t\t\tMatch: pulumi.String(\"ip_range_subnet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_org_wxtag\" \"wxtag_one\" {\n  org_id = terraformTest.id\n  name   = \"wxtag_one\"\n  values = [\"10.3.0.0/16\"]\n  op     = \"in\"\n  type   = \"match\"\n  match  = \"ip_range_subnet\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.Wxtag;\nimport com.pulumi.junipermist.org.WxtagArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wxtagOne = new Wxtag(\"wxtagOne\", WxtagArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"wxtag_one\")\n            .values(\"10.3.0.0/16\")\n            .op(\"in\")\n            .type(\"match\")\n            .match(\"ip_range_subnet\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wxtagOne:\n    type: junipermist:org:Wxtag\n    name: wxtag_one\n    properties:\n      orgId: ${terraformTest.id}\n      name: wxtag_one\n      values:\n        - 10.3.0.0/16\n      op: in\n      type: match\n      match: ip_range_subnet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Wxtag`\" pulumi-lang-dotnet=\"`junipermist.org.Wxtag`\" pulumi-lang-go=\"`org.Wxtag`\" pulumi-lang-python=\"`org.Wxtag`\" pulumi-lang-yaml=\"`junipermist.org.Wxtag`\" pulumi-lang-java=\"`junipermist.org.Wxtag`\" pulumi-lang-hcl=\"`mist_org_wxtag`\"\u003e`junipermist.org.Wxtag`\u003c/span\u003e with:\nOrg WxTag can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" orgId \" pulumi-lang-dotnet=\" OrgId \" pulumi-lang-go=\" orgId \" pulumi-lang-python=\" org_id \" pulumi-lang-yaml=\" orgId \" pulumi-lang-java=\" orgId \" pulumi-lang-hcl=\" org_id \"\u003e orgId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" wxtagId\n\" pulumi-lang-dotnet=\" WxtagId\n\" pulumi-lang-go=\" wxtagId\n\" pulumi-lang-python=\" wxtag_id\n\" pulumi-lang-yaml=\" wxtagId\n\" pulumi-lang-java=\" wxtagId\n\" pulumi-lang-hcl=\" wxtag_id\n\"\u003e wxtagId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:org/wxtag:Wxtag wxtag_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\" pulumi-lang-hcl=\"`client`\"\u003e`client`\u003c/span\u003e, Client MAC address\n"
                },
                "match": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; attribute compared against \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the WxLAN tag\n"
                },
                "op": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; whether \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e are inclusive or exclusive matches\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization associated with this WxLAN tag\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WxtagSpec:WxtagSpec"
                    },
                    "description": "Traffic match specifications used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`spec`\" pulumi-lang-dotnet=\"`Spec`\" pulumi-lang-go=\"`spec`\" pulumi-lang-python=\"`spec`\" pulumi-lang-yaml=\"`spec`\" pulumi-lang-java=\"`spec`\" pulumi-lang-hcl=\"`spec`\"\u003e`spec`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "Kind of WxLAN tag and how it is populated\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Comparison values for the selected \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e attribute when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "Identifier of the VLAN associated with this WxLAN tag when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e\n"
                }
            },
            "required": [
                "name",
                "orgId",
                "type"
            ],
            "inputProperties": {
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\" pulumi-lang-hcl=\"`client`\"\u003e`client`\u003c/span\u003e, Client MAC address\n"
                },
                "match": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; attribute compared against \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the WxLAN tag\n"
                },
                "op": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; whether \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e are inclusive or exclusive matches\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization associated with this WxLAN tag\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:org/WxtagSpec:WxtagSpec"
                    },
                    "description": "Traffic match specifications used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`spec`\" pulumi-lang-dotnet=\"`Spec`\" pulumi-lang-go=\"`spec`\" pulumi-lang-python=\"`spec`\" pulumi-lang-yaml=\"`spec`\" pulumi-lang-java=\"`spec`\" pulumi-lang-hcl=\"`spec`\"\u003e`spec`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "Kind of WxLAN tag and how it is populated\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Comparison values for the selected \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e attribute when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "Identifier of the VLAN associated with this WxLAN tag when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e\n"
                }
            },
            "requiredInputs": [
                "orgId",
                "type"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Wxtag resources.\n",
                "properties": {
                    "mac": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\" pulumi-lang-hcl=\"`client`\"\u003e`client`\u003c/span\u003e, Client MAC address\n"
                    },
                    "match": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; attribute compared against \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the WxLAN tag\n"
                    },
                    "op": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; whether \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e are inclusive or exclusive matches\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Owning organization associated with this WxLAN tag\n"
                    },
                    "specs": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:org/WxtagSpec:WxtagSpec"
                        },
                        "description": "Traffic match specifications used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`spec`\" pulumi-lang-dotnet=\"`Spec`\" pulumi-lang-go=\"`spec`\" pulumi-lang-python=\"`spec`\" pulumi-lang-yaml=\"`spec`\" pulumi-lang-java=\"`spec`\" pulumi-lang-hcl=\"`spec`\"\u003e`spec`\u003c/span\u003e\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "Kind of WxLAN tag and how it is populated\n"
                    },
                    "values": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Comparison values for the selected \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e attribute when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n"
                    },
                    "vlanId": {
                        "type": "string",
                        "description": "Identifier of the VLAN associated with this WxLAN tag when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/base:base": {
            "description": "This resource manages the Site basic information.\n\nThis resource can be used to assign templates to a site, or to change basic information (e.g. Site Address)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst juniperFrance = new junipermist.site.Base(\"juniper_france\", {\n    orgId: terraformTest.id,\n    name: \"JNP-FR-PAR\",\n    countryCode: \"FR\",\n    timezone: \"Europe/Paris\",\n    address: \"41 Rue de Villiers, 92100 Neuilly sur Seine, France\",\n    notes: \"Created with Terraform, Updated with Terraform\",\n    latlng: {\n        lat: 48.899268,\n        lng: 2.214447,\n    },\n    sitegroupIds: [\n        testGroup.id,\n        testGroup2.id,\n    ],\n    networktemplateId: networktemplateOne.id,\n    rftemplateId: rftemplateOne.id,\n    gatewaytemplateId: gatewaytemplateOne.id,\n    alarmtemplateId: alarmtemplateOne.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\njuniper_france = junipermist.site.Base(\"juniper_france\",\n    org_id=terraform_test[\"id\"],\n    name=\"JNP-FR-PAR\",\n    country_code=\"FR\",\n    timezone=\"Europe/Paris\",\n    address=\"41 Rue de Villiers, 92100 Neuilly sur Seine, France\",\n    notes=\"Created with Terraform, Updated with Terraform\",\n    latlng={\n        \"lat\": 48.899268,\n        \"lng\": 2.214447,\n    },\n    sitegroup_ids=[\n        test_group[\"id\"],\n        test_group2[\"id\"],\n    ],\n    networktemplate_id=networktemplate_one[\"id\"],\n    rftemplate_id=rftemplate_one[\"id\"],\n    gatewaytemplate_id=gatewaytemplate_one[\"id\"],\n    alarmtemplate_id=alarmtemplate_one[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var juniperFrance = new JuniperMist.Site.Base(\"juniper_france\", new()\n    {\n        OrgId = terraformTest.Id,\n        Name = \"JNP-FR-PAR\",\n        CountryCode = \"FR\",\n        Timezone = \"Europe/Paris\",\n        Address = \"41 Rue de Villiers, 92100 Neuilly sur Seine, France\",\n        Notes = \"Created with Terraform, Updated with Terraform\",\n        Latlng = new JuniperMist.Site.Inputs.BaseLatlngArgs\n        {\n            Lat = 48.899268,\n            Lng = 2.214447,\n        },\n        SitegroupIds = new[]\n        {\n            testGroup.Id,\n            testGroup2.Id,\n        },\n        NetworktemplateId = networktemplateOne.Id,\n        RftemplateId = rftemplateOne.Id,\n        GatewaytemplateId = gatewaytemplateOne.Id,\n        AlarmtemplateId = alarmtemplateOne.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewBase(ctx, \"juniper_france\", \u0026site.BaseArgs{\n\t\t\tOrgId:       pulumi.Any(terraformTest.Id),\n\t\t\tName:        pulumi.String(\"JNP-FR-PAR\"),\n\t\t\tCountryCode: pulumi.String(\"FR\"),\n\t\t\tTimezone:    pulumi.String(\"Europe/Paris\"),\n\t\t\tAddress:     pulumi.String(\"41 Rue de Villiers, 92100 Neuilly sur Seine, France\"),\n\t\t\tNotes:       pulumi.String(\"Created with Terraform, Updated with Terraform\"),\n\t\t\tLatlng: \u0026site.BaseLatlngArgs{\n\t\t\t\tLat: pulumi.Float64(48.899268),\n\t\t\t\tLng: pulumi.Float64(2.214447),\n\t\t\t},\n\t\t\tSitegroupIds: pulumi.StringArray{\n\t\t\t\ttestGroup.Id,\n\t\t\t\ttestGroup2.Id,\n\t\t\t},\n\t\t\tNetworktemplateId: pulumi.Any(networktemplateOne.Id),\n\t\t\tRftemplateId:      pulumi.Any(rftemplateOne.Id),\n\t\t\tGatewaytemplateId: pulumi.Any(gatewaytemplateOne.Id),\n\t\t\tAlarmtemplateId:   pulumi.Any(alarmtemplateOne.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_base\" \"juniper_france\" {\n  org_id       = terraformTest.id\n  name         = \"JNP-FR-PAR\"\n  country_code = \"FR\"\n  timezone     = \"Europe/Paris\"\n  address      = \"41 Rue de Villiers, 92100 Neuilly sur Seine, France\"\n  notes        = \"Created with Terraform, Updated with Terraform\"\n  latlng = {\n    lat = 48.899268\n    lng = 2.214447\n  }\n  sitegroup_ids      = [testGroup.id, testGroup2.id]\n  networktemplate_id = networktemplateOne.id\n  rftemplate_id      = rftemplateOne.id\n  gatewaytemplate_id = gatewaytemplateOne.id\n  alarmtemplate_id   = alarmtemplateOne.id\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.base;\nimport com.pulumi.junipermist.site.baseArgs;\nimport com.pulumi.junipermist.site.inputs.BaseLatlngArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var juniperFrance = new Base(\"juniperFrance\", BaseArgs.builder()\n            .orgId(terraformTest.id())\n            .name(\"JNP-FR-PAR\")\n            .countryCode(\"FR\")\n            .timezone(\"Europe/Paris\")\n            .address(\"41 Rue de Villiers, 92100 Neuilly sur Seine, France\")\n            .notes(\"Created with Terraform, Updated with Terraform\")\n            .latlng(BaseLatlngArgs.builder()\n                .lat(48.899268)\n                .lng(2.214447)\n                .build())\n            .sitegroupIds(            \n                testGroup.id(),\n                testGroup2.id())\n            .networktemplateId(networktemplateOne.id())\n            .rftemplateId(rftemplateOne.id())\n            .gatewaytemplateId(gatewaytemplateOne.id())\n            .alarmtemplateId(alarmtemplateOne.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  juniperFrance:\n    type: junipermist:site:base\n    name: juniper_france\n    properties:\n      orgId: ${terraformTest.id}\n      name: JNP-FR-PAR\n      countryCode: FR\n      timezone: Europe/Paris\n      address: 41 Rue de Villiers, 92100 Neuilly sur Seine, France\n      notes: Created with Terraform, Updated with Terraform\n      latlng:\n        lat: 48.899268\n        lng: 2.214447\n      sitegroupIds:\n        - ${testGroup.id}\n        - ${testGroup2.id}\n      networktemplateId: ${networktemplateOne.id}\n      rftemplateId: ${rftemplateOne.id}\n      gatewaytemplateId: ${gatewaytemplateOne.id}\n      alarmtemplateId: ${alarmtemplateOne.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.base`\" pulumi-lang-dotnet=\"`junipermist.site.base`\" pulumi-lang-go=\"`site.base`\" pulumi-lang-python=\"`site.base`\" pulumi-lang-yaml=\"`junipermist.site.base`\" pulumi-lang-java=\"`junipermist.site.base`\" pulumi-lang-hcl=\"`mist_site`\"\u003e`junipermist.site.base`\u003c/span\u003e with:\nSite can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId\n\" pulumi-lang-dotnet=\" SiteId\n\" pulumi-lang-go=\" siteId\n\" pulumi-lang-python=\" site_id\n\" pulumi-lang-yaml=\" siteId\n\" pulumi-lang-java=\" siteId\n\" pulumi-lang-hcl=\" site_id\n\"\u003e siteId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:site/base:base site_one d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "address": {
                    "type": "string",
                    "description": "full address of the site\n"
                },
                "alarmtemplateId": {
                    "type": "string",
                    "description": "Alarm Template ID, this takes precedence over the Org-level alarmtemplate_id\n"
                },
                "aptemplateId": {
                    "type": "string",
                    "description": "AP Template ID, used by APs\n"
                },
                "countryCode": {
                    "type": "string",
                    "description": "Country code for the site (for AP config generation), in two-character\n"
                },
                "gatewaytemplateId": {
                    "type": "string",
                    "description": "Gateway Template ID, used by gateways\n"
                },
                "latlng": {
                    "$ref": "#/types/junipermist:site/baseLatlng:baseLatlng",
                    "description": "Latitude and longitude for the site location\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the site\n"
                },
                "networktemplateId": {
                    "type": "string",
                    "description": "Network Template ID, this takes precedence over Site Settings\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Optional, any notes about the site\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier associated with the site\n"
                },
                "rftemplateId": {
                    "type": "string",
                    "description": "RF Template ID, this takes precedence over Site Settings\n"
                },
                "routertemplateId": {
                    "type": "string",
                    "description": "Router Template ID, used by gateways\n"
                },
                "secpolicyId": {
                    "type": "string",
                    "description": "Security policy identifier applied to this site\n"
                },
                "sitegroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Sitegroups this site belongs to\n"
                },
                "sitetemplateId": {
                    "type": "string",
                    "description": "Site template identifier applied to this site\n"
                },
                "timezone": {
                    "type": "string",
                    "description": "IANA time zone name for the site\n"
                },
                "tzoffset": {
                    "type": "integer",
                    "description": "Time zone offset value derived from the site's timezone\n"
                }
            },
            "required": [
                "address",
                "name",
                "notes",
                "orgId",
                "sitegroupIds",
                "timezone",
                "tzoffset"
            ],
            "inputProperties": {
                "address": {
                    "type": "string",
                    "description": "full address of the site\n"
                },
                "alarmtemplateId": {
                    "type": "string",
                    "description": "Alarm Template ID, this takes precedence over the Org-level alarmtemplate_id\n"
                },
                "aptemplateId": {
                    "type": "string",
                    "description": "AP Template ID, used by APs\n"
                },
                "countryCode": {
                    "type": "string",
                    "description": "Country code for the site (for AP config generation), in two-character\n"
                },
                "gatewaytemplateId": {
                    "type": "string",
                    "description": "Gateway Template ID, used by gateways\n"
                },
                "latlng": {
                    "$ref": "#/types/junipermist:site/baseLatlng:baseLatlng",
                    "description": "Latitude and longitude for the site location\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the site\n"
                },
                "networktemplateId": {
                    "type": "string",
                    "description": "Network Template ID, this takes precedence over Site Settings\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Optional, any notes about the site\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier associated with the site\n"
                },
                "rftemplateId": {
                    "type": "string",
                    "description": "RF Template ID, this takes precedence over Site Settings\n"
                },
                "routertemplateId": {
                    "type": "string",
                    "description": "Router Template ID, used by gateways\n"
                },
                "secpolicyId": {
                    "type": "string",
                    "description": "Security policy identifier applied to this site\n"
                },
                "sitegroupIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Sitegroups this site belongs to\n"
                },
                "sitetemplateId": {
                    "type": "string",
                    "description": "Site template identifier applied to this site\n"
                },
                "timezone": {
                    "type": "string",
                    "description": "IANA time zone name for the site\n"
                }
            },
            "requiredInputs": [
                "address",
                "orgId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering base resources.\n",
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "full address of the site\n"
                    },
                    "alarmtemplateId": {
                        "type": "string",
                        "description": "Alarm Template ID, this takes precedence over the Org-level alarmtemplate_id\n"
                    },
                    "aptemplateId": {
                        "type": "string",
                        "description": "AP Template ID, used by APs\n"
                    },
                    "countryCode": {
                        "type": "string",
                        "description": "Country code for the site (for AP config generation), in two-character\n"
                    },
                    "gatewaytemplateId": {
                        "type": "string",
                        "description": "Gateway Template ID, used by gateways\n"
                    },
                    "latlng": {
                        "$ref": "#/types/junipermist:site/baseLatlng:baseLatlng",
                        "description": "Latitude and longitude for the site location\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the site\n"
                    },
                    "networktemplateId": {
                        "type": "string",
                        "description": "Network Template ID, this takes precedence over Site Settings\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Optional, any notes about the site\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization identifier associated with the site\n"
                    },
                    "rftemplateId": {
                        "type": "string",
                        "description": "RF Template ID, this takes precedence over Site Settings\n"
                    },
                    "routertemplateId": {
                        "type": "string",
                        "description": "Router Template ID, used by gateways\n"
                    },
                    "secpolicyId": {
                        "type": "string",
                        "description": "Security policy identifier applied to this site\n"
                    },
                    "sitegroupIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Sitegroups this site belongs to\n"
                    },
                    "sitetemplateId": {
                        "type": "string",
                        "description": "Site template identifier applied to this site\n"
                    },
                    "timezone": {
                        "type": "string",
                        "description": "IANA time zone name for the site\n"
                    },
                    "tzoffset": {
                        "type": "integer",
                        "description": "Time zone offset value derived from the site's timezone\n"
                    }
                },
                "type": "object"
            },
            "aliases": [
                {
                    "type": "junipermist:device/base:base"
                }
            ]
        },
        "junipermist:site/evpnTopology:EvpnTopology": {
            "description": "This resource manages the Site Evpn Topology.\n\nEVPN allows an alternative but more efficient LAN architecture utilizing VxLAN / MP-BGP to separate the control plane (MAC / IP Learning) from the forwarding plane.\n\n\u003e To create or manage your EVPN Topology with the Mist Provider, please refer to the `How To - EVPN Topology` Guide.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mist from \"@pulumi/mist\";\n\nconst evpnOne = new mist.index.SiteSiteEvpnTopology(\"evpn_one\", {\n    siteId: terraformTest.id,\n    name: \"evpn_one\",\n    evpnOptions: {\n        routedAt: \"core\",\n        overlay: {\n            as: 65000,\n        },\n        coreAsBorder: true,\n        autoLoopbackSubnet: \"172.16.192.0/24\",\n        autoLoopbackSubnet6: \"fd33:ab00:2::/64\",\n        perVlanVgaV4Mac: false,\n        underlay: {\n            asBase: 65001,\n            useIpv6: false,\n            subnet: \"10.255.240.0/20\",\n        },\n        autoRouterIdSubnet: \"172.16.254.0/23\",\n    },\n    switches: [\n        {\n            mac: \"020004000001\",\n            role: \"core\",\n        },\n        {\n            mac: \"02000400002\",\n            role: \"core\",\n        },\n        {\n            mac: \"02000400003\",\n            role: \"distribution\",\n        },\n        {\n            mac: \"02000400004\",\n            role: \"distribution\",\n        },\n        {\n            mac: \"02000400005\",\n            role: \"access\",\n        },\n        {\n            mac: \"02000400006\",\n            role: \"access\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_mist as mist\n\nevpn_one = mist.SiteSiteEvpnTopology(\"evpn_one\",\n    site_id=terraform_test.id,\n    name=evpn_one,\n    evpn_options={\n        routedAt: core,\n        overlay: {\n            as: 65000,\n        },\n        coreAsBorder: True,\n        autoLoopbackSubnet: 172.16.192.0/24,\n        autoLoopbackSubnet6: fd33:ab00:2::/64,\n        perVlanVgaV4Mac: False,\n        underlay: {\n            asBase: 65001,\n            useIpv6: False,\n            subnet: 10.255.240.0/20,\n        },\n        autoRouterIdSubnet: 172.16.254.0/23,\n    },\n    switches=[\n        {\n            mac: 020004000001,\n            role: core,\n        },\n        {\n            mac: 02000400002,\n            role: core,\n        },\n        {\n            mac: 02000400003,\n            role: distribution,\n        },\n        {\n            mac: 02000400004,\n            role: distribution,\n        },\n        {\n            mac: 02000400005,\n            role: access,\n        },\n        {\n            mac: 02000400006,\n            role: access,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mist = Pulumi.Mist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var evpnOne = new Mist.SiteSiteEvpnTopology(\"evpn_one\", new()\n    {\n        SiteId = terraformTest.Id,\n        Name = \"evpn_one\",\n        EvpnOptions = \n        {\n            { \"routedAt\", \"core\" },\n            { \"overlay\", \n            {\n                { \"as\", 65000 },\n            } },\n            { \"coreAsBorder\", true },\n            { \"autoLoopbackSubnet\", \"172.16.192.0/24\" },\n            { \"autoLoopbackSubnet6\", \"fd33:ab00:2::/64\" },\n            { \"perVlanVgaV4Mac\", false },\n            { \"underlay\", \n            {\n                { \"asBase\", 65001 },\n                { \"useIpv6\", false },\n                { \"subnet\", \"10.255.240.0/20\" },\n            } },\n            { \"autoRouterIdSubnet\", \"172.16.254.0/23\" },\n        },\n        Switches = new[]\n        {\n            \n            {\n                { \"mac\", \"020004000001\" },\n                { \"role\", \"core\" },\n            },\n            \n            {\n                { \"mac\", \"02000400002\" },\n                { \"role\", \"core\" },\n            },\n            \n            {\n                { \"mac\", \"02000400003\" },\n                { \"role\", \"distribution\" },\n            },\n            \n            {\n                { \"mac\", \"02000400004\" },\n                { \"role\", \"distribution\" },\n            },\n            \n            {\n                { \"mac\", \"02000400005\" },\n                { \"role\", \"access\" },\n            },\n            \n            {\n                { \"mac\", \"02000400006\" },\n                { \"role\", \"access\" },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mist/sdk/go/mist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mist.NewSiteSiteEvpnTopology(ctx, \"evpn_one\", \u0026mist.SiteSiteEvpnTopologyArgs{\n\t\t\tSiteId: terraformTest.Id,\n\t\t\tName:   \"evpn_one\",\n\t\t\tEvpnOptions: map[string]interface{}{\n\t\t\t\t\"routedAt\": \"core\",\n\t\t\t\t\"overlay\": map[string]interface{}{\n\t\t\t\t\t\"as\": 65000,\n\t\t\t\t},\n\t\t\t\t\"coreAsBorder\":        true,\n\t\t\t\t\"autoLoopbackSubnet\":  \"172.16.192.0/24\",\n\t\t\t\t\"autoLoopbackSubnet6\": \"fd33:ab00:2::/64\",\n\t\t\t\t\"perVlanVgaV4Mac\":     false,\n\t\t\t\t\"underlay\": map[string]interface{}{\n\t\t\t\t\t\"asBase\":  65001,\n\t\t\t\t\t\"useIpv6\": false,\n\t\t\t\t\t\"subnet\":  \"10.255.240.0/20\",\n\t\t\t\t},\n\t\t\t\t\"autoRouterIdSubnet\": \"172.16.254.0/23\",\n\t\t\t},\n\t\t\tSwitches: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"mac\":  \"020004000001\",\n\t\t\t\t\t\"role\": \"core\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"mac\":  \"02000400002\",\n\t\t\t\t\t\"role\": \"core\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"mac\":  \"02000400003\",\n\t\t\t\t\t\"role\": \"distribution\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"mac\":  \"02000400004\",\n\t\t\t\t\t\"role\": \"distribution\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"mac\":  \"02000400005\",\n\t\t\t\t\t\"role\": \"access\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"mac\":  \"02000400006\",\n\t\t\t\t\t\"role\": \"access\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\nresource \"mist_sitesiteevpntopology\" \"evpn_one\" {\n  site_id = terraformTest.id\n  name    = \"evpn_one\"\n  evpn_options = {\n    \"routedAt\" = \"core\"\n    \"overlay\" = {\n      \"as\" = 65000\n    }\n    \"coreAsBorder\"        = true\n    \"autoLoopbackSubnet\"  = \"172.16.192.0/24\"\n    \"autoLoopbackSubnet6\" = \"fd33:ab00:2::/64\"\n    \"perVlanVgaV4Mac\"     = false\n    \"underlay\" = {\n      \"asBase\"  = 65001\n      \"useIpv6\" = false\n      \"subnet\"  = \"10.255.240.0/20\"\n    }\n    \"autoRouterIdSubnet\" = \"172.16.254.0/23\"\n  }\n  switches = [{\n    \"mac\"  = \"020004000001\"\n    \"role\" = \"core\"\n    }, {\n    \"mac\"  = \"02000400002\"\n    \"role\" = \"core\"\n    }, {\n    \"mac\"  = \"02000400003\"\n    \"role\" = \"distribution\"\n    }, {\n    \"mac\"  = \"02000400004\"\n    \"role\" = \"distribution\"\n    }, {\n    \"mac\"  = \"02000400005\"\n    \"role\" = \"access\"\n    }, {\n    \"mac\"  = \"02000400006\"\n    \"role\" = \"access\"\n  }]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mist.SiteSiteEvpnTopology;\nimport com.pulumi.mist.SiteSiteEvpnTopologyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var evpnOne = new SiteSiteEvpnTopology(\"evpnOne\", SiteSiteEvpnTopologyArgs.builder()\n            .siteId(terraformTest.id())\n            .name(\"evpn_one\")\n            .evpnOptions(Map.ofEntries(\n                Map.entry(\"routedAt\", \"core\"),\n                Map.entry(\"overlay\", Map.of(\"as\", 65000)),\n                Map.entry(\"coreAsBorder\", true),\n                Map.entry(\"autoLoopbackSubnet\", \"172.16.192.0/24\"),\n                Map.entry(\"autoLoopbackSubnet6\", \"fd33:ab00:2::/64\"),\n                Map.entry(\"perVlanVgaV4Mac\", false),\n                Map.entry(\"underlay\", Map.ofEntries(\n                    Map.entry(\"asBase\", 65001),\n                    Map.entry(\"useIpv6\", false),\n                    Map.entry(\"subnet\", \"10.255.240.0/20\")\n                )),\n                Map.entry(\"autoRouterIdSubnet\", \"172.16.254.0/23\")\n            ))\n            .switches(Arrays.asList(            \n                Map.ofEntries(\n                    Map.entry(\"mac\", \"020004000001\"),\n                    Map.entry(\"role\", \"core\")\n                ),\n                Map.ofEntries(\n                    Map.entry(\"mac\", \"02000400002\"),\n                    Map.entry(\"role\", \"core\")\n                ),\n                Map.ofEntries(\n                    Map.entry(\"mac\", \"02000400003\"),\n                    Map.entry(\"role\", \"distribution\")\n                ),\n                Map.ofEntries(\n                    Map.entry(\"mac\", \"02000400004\"),\n                    Map.entry(\"role\", \"distribution\")\n                ),\n                Map.ofEntries(\n                    Map.entry(\"mac\", \"02000400005\"),\n                    Map.entry(\"role\", \"access\")\n                ),\n                Map.ofEntries(\n                    Map.entry(\"mac\", \"02000400006\"),\n                    Map.entry(\"role\", \"access\")\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  evpnOne:\n    type: mist:SiteSiteEvpnTopology\n    name: evpn_one\n    properties:\n      siteId: ${terraformTest.id}\n      name: evpn_one\n      evpnOptions:\n        routedAt: core\n        overlay:\n          as: 65000\n        coreAsBorder: true\n        autoLoopbackSubnet: 172.16.192.0/24\n        autoLoopbackSubnet6: fd33:ab00:2::/64\n        perVlanVgaV4Mac: false\n        underlay:\n          asBase: 65001\n          useIpv6: false\n          subnet: 10.255.240.0/20\n        autoRouterIdSubnet: 172.16.254.0/23\n      switches:\n        - mac: '020004000001'\n          role: core\n        - mac: '02000400002'\n          role: core\n        - mac: '02000400003'\n          role: distribution\n        - mac: '02000400004'\n          role: distribution\n        - mac: '02000400005'\n          role: access\n        - mac: '02000400006'\n          role: access\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.EvpnTopology`\" pulumi-lang-dotnet=\"`junipermist.site.EvpnTopology`\" pulumi-lang-go=\"`site.EvpnTopology`\" pulumi-lang-python=\"`site.EvpnTopology`\" pulumi-lang-yaml=\"`junipermist.site.EvpnTopology`\" pulumi-lang-java=\"`junipermist.site.EvpnTopology`\" pulumi-lang-hcl=\"`mist_site_evpn_topology`\"\u003e`junipermist.site.EvpnTopology`\u003c/span\u003e with:\nEVPN Topology can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" evpnTopologyId\n\" pulumi-lang-dotnet=\" EvpnTopologyId\n\" pulumi-lang-go=\" evpnTopologyId\n\" pulumi-lang-python=\" evpn_topology_id\n\" pulumi-lang-yaml=\" evpnTopologyId\n\" pulumi-lang-java=\" evpnTopologyId\n\" pulumi-lang-hcl=\" evpn_topology_id\n\"\u003e evpnTopologyId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:site/evpnTopology:EvpnTopology evpn_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "evpnOptions": {
                    "$ref": "#/types/junipermist:site/EvpnTopologyEvpnOptions:EvpnTopologyEvpnOptions",
                    "description": "Generation options applied to the EVPN topology"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for the EVPN topology"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the EVPN topology"
                },
                "podNames": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Property key is the pod number"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site associated with the EVPN topology"
                },
                "switches": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/EvpnTopologySwitches:EvpnTopologySwitches"
                    },
                    "description": "Topology member switches, roles, and links"
                }
            },
            "required": [
                "name",
                "orgId",
                "podNames",
                "siteId",
                "switches"
            ],
            "inputProperties": {
                "evpnOptions": {
                    "$ref": "#/types/junipermist:site/EvpnTopologyEvpnOptions:EvpnTopologyEvpnOptions",
                    "description": "Generation options applied to the EVPN topology"
                },
                "name": {
                    "type": "string",
                    "description": "Display name for the EVPN topology"
                },
                "podNames": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Property key is the pod number"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site associated with the EVPN topology"
                },
                "switches": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/EvpnTopologySwitches:EvpnTopologySwitches"
                    },
                    "description": "Topology member switches, roles, and links"
                }
            },
            "requiredInputs": [
                "siteId",
                "switches"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering EvpnTopology resources.\n",
                "properties": {
                    "evpnOptions": {
                        "$ref": "#/types/junipermist:site/EvpnTopologyEvpnOptions:EvpnTopologyEvpnOptions",
                        "description": "Generation options applied to the EVPN topology"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name for the EVPN topology"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns the EVPN topology"
                    },
                    "podNames": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Property key is the pod number"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Site associated with the EVPN topology"
                    },
                    "switches": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/EvpnTopologySwitches:EvpnTopologySwitches"
                        },
                        "description": "Topology member switches, roles, and links"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/networktemplate:Networktemplate": {
            "description": "This resource manages the Site Network configuration (Switch configuration).\n\nThe Site Network template can be used to override the Org Network template assign to the site, or to configure common switch settings across the site without having to create an Org Network template.\n\n\u003e When using the Mist APIs, all the switch settings defined at the site level are stored under the site settings with all the rest of the site configuration (`/api/v1/sites/{site_id}/setting` Mist API Endpoint). To simplify this resource, the \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Networktemplate`\" pulumi-lang-dotnet=\"`junipermist.site.Networktemplate`\" pulumi-lang-go=\"`site.Networktemplate`\" pulumi-lang-python=\"`site.Networktemplate`\" pulumi-lang-yaml=\"`junipermist.site.Networktemplate`\" pulumi-lang-java=\"`junipermist.site.Networktemplate`\" pulumi-lang-hcl=\"`mist_site_networktemplate`\"\u003e`junipermist.site.Networktemplate`\u003c/span\u003e resource has been created to centralize all the site level switches related settings.\n\n\u003e Only ONE \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Networktemplate`\" pulumi-lang-dotnet=\"`junipermist.site.Networktemplate`\" pulumi-lang-go=\"`site.Networktemplate`\" pulumi-lang-python=\"`site.Networktemplate`\" pulumi-lang-yaml=\"`junipermist.site.Networktemplate`\" pulumi-lang-java=\"`junipermist.site.Networktemplate`\" pulumi-lang-hcl=\"`mist_site_networktemplate`\"\u003e`junipermist.site.Networktemplate`\u003c/span\u003e resource can be configured per site. If multiple ones are configured, only the last one defined we be successfully deployed to Mist\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst networktemplateOne = new junipermist.site.Networktemplate(\"networktemplate_one\", {\n    siteId: terraformTest.id,\n    dnsServers: [\n        \"8.8.8.8\",\n        \"1.1.1.1\",\n    ],\n    dnsSuffixes: [\"mycorp.com\"],\n    ntpServers: [\"pool.ntp.org\"],\n    additionalConfigCmds: [\n        \"set system hostname test\",\n        \"set system services ssh root-login allow\",\n    ],\n    networks: {\n        network_one: {\n            vlanId: \"10\",\n        },\n        network_two: {\n            vlanId: \"11\",\n        },\n    },\n    portUsages: {\n        trunk: {\n            allNetworks: true,\n            enableQos: true,\n            mode: \"port_usage_one\",\n            portNetwork: \"network_one\",\n        },\n    },\n    radiusConfig: {\n        acctInterimInterval: 60,\n        coaEnabled: true,\n        network: \"network_one\",\n        acctServers: [{\n            host: \"1.2.3.4\",\n            secret: \"secret\",\n        }],\n        authServers: [{\n            host: \"1.2.3.4\",\n            secret: \"secret\",\n        }],\n    },\n    switchMatching: {\n        enable: true,\n        rules: [{\n            name: \"switch_rule_one\",\n            matchName: \"corp\",\n            matchNameOffset: 3,\n            matchRole: \"core\",\n            portConfig: {\n                \"ge-0/0/0-10\": {\n                    usage: \"port_usage_one\",\n                },\n            },\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nnetworktemplate_one = junipermist.site.Networktemplate(\"networktemplate_one\",\n    site_id=terraform_test[\"id\"],\n    dns_servers=[\n        \"8.8.8.8\",\n        \"1.1.1.1\",\n    ],\n    dns_suffixes=[\"mycorp.com\"],\n    ntp_servers=[\"pool.ntp.org\"],\n    additional_config_cmds=[\n        \"set system hostname test\",\n        \"set system services ssh root-login allow\",\n    ],\n    networks={\n        \"network_one\": {\n            \"vlan_id\": \"10\",\n        },\n        \"network_two\": {\n            \"vlan_id\": \"11\",\n        },\n    },\n    port_usages={\n        \"trunk\": {\n            \"all_networks\": True,\n            \"enable_qos\": True,\n            \"mode\": \"port_usage_one\",\n            \"port_network\": \"network_one\",\n        },\n    },\n    radius_config={\n        \"acct_interim_interval\": 60,\n        \"coa_enabled\": True,\n        \"network\": \"network_one\",\n        \"acct_servers\": [{\n            \"host\": \"1.2.3.4\",\n            \"secret\": \"secret\",\n        }],\n        \"auth_servers\": [{\n            \"host\": \"1.2.3.4\",\n            \"secret\": \"secret\",\n        }],\n    },\n    switch_matching={\n        \"enable\": True,\n        \"rules\": [{\n            \"name\": \"switch_rule_one\",\n            \"match_name\": \"corp\",\n            \"match_name_offset\": 3,\n            \"match_role\": \"core\",\n            \"port_config\": {\n                \"ge-0/0/0-10\": {\n                    \"usage\": \"port_usage_one\",\n                },\n            },\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var networktemplateOne = new JuniperMist.Site.Networktemplate(\"networktemplate_one\", new()\n    {\n        SiteId = terraformTest.Id,\n        DnsServers = new[]\n        {\n            \"8.8.8.8\",\n            \"1.1.1.1\",\n        },\n        DnsSuffixes = new[]\n        {\n            \"mycorp.com\",\n        },\n        NtpServers = new[]\n        {\n            \"pool.ntp.org\",\n        },\n        AdditionalConfigCmds = new[]\n        {\n            \"set system hostname test\",\n            \"set system services ssh root-login allow\",\n        },\n        Networks = \n        {\n            { \"network_one\", new JuniperMist.Site.Inputs.NetworktemplateNetworksArgs\n            {\n                VlanId = \"10\",\n            } },\n            { \"network_two\", new JuniperMist.Site.Inputs.NetworktemplateNetworksArgs\n            {\n                VlanId = \"11\",\n            } },\n        },\n        PortUsages = \n        {\n            { \"trunk\", new JuniperMist.Site.Inputs.NetworktemplatePortUsagesArgs\n            {\n                AllNetworks = true,\n                EnableQos = true,\n                Mode = \"port_usage_one\",\n                PortNetwork = \"network_one\",\n            } },\n        },\n        RadiusConfig = new JuniperMist.Site.Inputs.NetworktemplateRadiusConfigArgs\n        {\n            AcctInterimInterval = 60,\n            CoaEnabled = true,\n            Network = \"network_one\",\n            AcctServers = new[]\n            {\n                new JuniperMist.Site.Inputs.NetworktemplateRadiusConfigAcctServerArgs\n                {\n                    Host = \"1.2.3.4\",\n                    Secret = \"secret\",\n                },\n            },\n            AuthServers = new[]\n            {\n                new JuniperMist.Site.Inputs.NetworktemplateRadiusConfigAuthServerArgs\n                {\n                    Host = \"1.2.3.4\",\n                    Secret = \"secret\",\n                },\n            },\n        },\n        SwitchMatching = new JuniperMist.Site.Inputs.NetworktemplateSwitchMatchingArgs\n        {\n            Enable = true,\n            Rules = new[]\n            {\n                new JuniperMist.Site.Inputs.NetworktemplateSwitchMatchingRuleArgs\n                {\n                    Name = \"switch_rule_one\",\n                    MatchName = \"corp\",\n                    MatchNameOffset = 3,\n                    MatchRole = \"core\",\n                    PortConfig = \n                    {\n                        { \"ge-0/0/0-10\", new JuniperMist.Site.Inputs.NetworktemplateSwitchMatchingRulePortConfigArgs\n                        {\n                            Usage = \"port_usage_one\",\n                        } },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewNetworktemplate(ctx, \"networktemplate_one\", \u0026site.NetworktemplateArgs{\n\t\t\tSiteId: pulumi.Any(terraformTest.Id),\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tDnsSuffixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mycorp.com\"),\n\t\t\t},\n\t\t\tNtpServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"pool.ntp.org\"),\n\t\t\t},\n\t\t\tAdditionalConfigCmds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"set system hostname test\"),\n\t\t\t\tpulumi.String(\"set system services ssh root-login allow\"),\n\t\t\t},\n\t\t\tNetworks: site.NetworktemplateNetworksMap{\n\t\t\t\t\"network_one\": \u0026site.NetworktemplateNetworksArgs{\n\t\t\t\t\tVlanId: pulumi.String(\"10\"),\n\t\t\t\t},\n\t\t\t\t\"network_two\": \u0026site.NetworktemplateNetworksArgs{\n\t\t\t\t\tVlanId: pulumi.String(\"11\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPortUsages: site.NetworktemplatePortUsagesMap{\n\t\t\t\t\"trunk\": \u0026site.NetworktemplatePortUsagesArgs{\n\t\t\t\t\tAllNetworks: pulumi.Bool(true),\n\t\t\t\t\tEnableQos:   pulumi.Bool(true),\n\t\t\t\t\tMode:        pulumi.String(\"port_usage_one\"),\n\t\t\t\t\tPortNetwork: pulumi.String(\"network_one\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRadiusConfig: \u0026site.NetworktemplateRadiusConfigArgs{\n\t\t\t\tAcctInterimInterval: pulumi.Int(60),\n\t\t\t\tCoaEnabled:          pulumi.Bool(true),\n\t\t\t\tNetwork:             pulumi.String(\"network_one\"),\n\t\t\t\tAcctServers: site.NetworktemplateRadiusConfigAcctServerArray{\n\t\t\t\t\t\u0026site.NetworktemplateRadiusConfigAcctServerArgs{\n\t\t\t\t\t\tHost:   pulumi.String(\"1.2.3.4\"),\n\t\t\t\t\t\tSecret: pulumi.String(\"secret\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAuthServers: site.NetworktemplateRadiusConfigAuthServerArray{\n\t\t\t\t\t\u0026site.NetworktemplateRadiusConfigAuthServerArgs{\n\t\t\t\t\t\tHost:   pulumi.String(\"1.2.3.4\"),\n\t\t\t\t\t\tSecret: pulumi.String(\"secret\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSwitchMatching: \u0026site.NetworktemplateSwitchMatchingArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tRules: site.NetworktemplateSwitchMatchingRuleArray{\n\t\t\t\t\t\u0026site.NetworktemplateSwitchMatchingRuleArgs{\n\t\t\t\t\t\tName:            pulumi.String(\"switch_rule_one\"),\n\t\t\t\t\t\tMatchName:       pulumi.String(\"corp\"),\n\t\t\t\t\t\tMatchNameOffset: pulumi.Int(3),\n\t\t\t\t\t\tMatchRole:       pulumi.String(\"core\"),\n\t\t\t\t\t\tPortConfig: site.NetworktemplateSwitchMatchingRulePortConfigMap{\n\t\t\t\t\t\t\t\"ge-0/0/0-10\": \u0026site.NetworktemplateSwitchMatchingRulePortConfigArgs{\n\t\t\t\t\t\t\t\tUsage: pulumi.String(\"port_usage_one\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_networktemplate\" \"networktemplate_one\" {\n  site_id                = terraformTest.id\n  dns_servers            = [\"8.8.8.8\", \"1.1.1.1\"]\n  dns_suffixes           = [\"mycorp.com\"]\n  ntp_servers            = [\"pool.ntp.org\"]\n  additional_config_cmds = [\"set system hostname test\", \"set system services ssh root-login allow\"]\n  networks = {\n    \"network_one\" = {\n      vlan_id = 10\n    }\n    \"network_two\" = {\n      vlan_id = 11\n    }\n  }\n  port_usages = {\n    \"trunk\" = {\n      all_networks = true\n      enable_qos   = true\n      mode         = \"port_usage_one\"\n      port_network = \"network_one\"\n    }\n  }\n  radius_config = {\n    acct_interim_interval = 60\n    coa_enabled           = true\n    network               = \"network_one\"\n    acct_servers = [{\n      \"host\"   = \"1.2.3.4\"\n      \"secret\" = \"secret\"\n    }]\n    auth_servers = [{\n      \"host\"   = \"1.2.3.4\"\n      \"secret\" = \"secret\"\n    }]\n  }\n  switch_matching = {\n    enable = true\n    rules = [{\n      \"name\"            = \"switch_rule_one\"\n      \"matchName\"       = \"corp\"\n      \"matchNameOffset\" = 3\n      \"matchRole\"       = \"core\"\n      \"portConfig\" = {\n        \"ge-0/0/0-10\" = {\n          \"usage\" = \"port_usage_one\"\n        }\n      }\n    }]\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.Networktemplate;\nimport com.pulumi.junipermist.site.NetworktemplateArgs;\nimport com.pulumi.junipermist.site.inputs.NetworktemplateNetworksArgs;\nimport com.pulumi.junipermist.site.inputs.NetworktemplatePortUsagesArgs;\nimport com.pulumi.junipermist.site.inputs.NetworktemplateRadiusConfigArgs;\nimport com.pulumi.junipermist.site.inputs.NetworktemplateRadiusConfigAcctServerArgs;\nimport com.pulumi.junipermist.site.inputs.NetworktemplateRadiusConfigAuthServerArgs;\nimport com.pulumi.junipermist.site.inputs.NetworktemplateSwitchMatchingArgs;\nimport com.pulumi.junipermist.site.inputs.NetworktemplateSwitchMatchingRuleArgs;\nimport com.pulumi.junipermist.site.inputs.NetworktemplateSwitchMatchingRulePortConfigArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var networktemplateOne = new Networktemplate(\"networktemplateOne\", NetworktemplateArgs.builder()\n            .siteId(terraformTest.id())\n            .dnsServers(            \n                \"8.8.8.8\",\n                \"1.1.1.1\")\n            .dnsSuffixes(\"mycorp.com\")\n            .ntpServers(\"pool.ntp.org\")\n            .additionalConfigCmds(            \n                \"set system hostname test\",\n                \"set system services ssh root-login allow\")\n            .networks(Map.ofEntries(\n                Map.entry(\"network_one\", NetworktemplateNetworksArgs.builder()\n                    .vlanId(\"10\")\n                    .build()),\n                Map.entry(\"network_two\", NetworktemplateNetworksArgs.builder()\n                    .vlanId(\"11\")\n                    .build())\n            ))\n            .portUsages(Map.of(\"trunk\", NetworktemplatePortUsagesArgs.builder()\n                .allNetworks(true)\n                .enableQos(true)\n                .mode(\"port_usage_one\")\n                .portNetwork(\"network_one\")\n                .build()))\n            .radiusConfig(NetworktemplateRadiusConfigArgs.builder()\n                .acctInterimInterval(60)\n                .coaEnabled(true)\n                .network(\"network_one\")\n                .acctServers(NetworktemplateRadiusConfigAcctServerArgs.builder()\n                    .host(\"1.2.3.4\")\n                    .secret(\"secret\")\n                    .build())\n                .authServers(NetworktemplateRadiusConfigAuthServerArgs.builder()\n                    .host(\"1.2.3.4\")\n                    .secret(\"secret\")\n                    .build())\n                .build())\n            .switchMatching(NetworktemplateSwitchMatchingArgs.builder()\n                .enable(true)\n                .rules(NetworktemplateSwitchMatchingRuleArgs.builder()\n                    .name(\"switch_rule_one\")\n                    .matchName(\"corp\")\n                    .matchNameOffset(3)\n                    .matchRole(\"core\")\n                    .portConfig(Map.of(\"ge-0/0/0-10\", NetworktemplateSwitchMatchingRulePortConfigArgs.builder()\n                        .usage(\"port_usage_one\")\n                        .build()))\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  networktemplateOne:\n    type: junipermist:site:Networktemplate\n    name: networktemplate_one\n    properties:\n      siteId: ${terraformTest.id}\n      dnsServers:\n        - 8.8.8.8\n        - 1.1.1.1\n      dnsSuffixes:\n        - mycorp.com\n      ntpServers:\n        - pool.ntp.org\n      additionalConfigCmds:\n        - set system hostname test\n        - set system services ssh root-login allow\n      networks:\n        network_one:\n          vlanId: 10\n        network_two:\n          vlanId: 11\n      portUsages:\n        trunk:\n          allNetworks: true\n          enableQos: true\n          mode: port_usage_one\n          portNetwork: network_one\n      radiusConfig:\n        acctInterimInterval: 60\n        coaEnabled: true\n        network: network_one\n        acctServers:\n          - host: 1.2.3.4\n            secret: secret\n        authServers:\n          - host: 1.2.3.4\n            secret: secret\n      switchMatching:\n        enable: true\n        rules:\n          - name: switch_rule_one\n            matchName: corp\n            matchNameOffset: 3\n            matchRole: core\n            portConfig:\n              ge-0/0/0-10:\n                usage: port_usage_one\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Networktemplate`\" pulumi-lang-dotnet=\"`junipermist.site.Networktemplate`\" pulumi-lang-go=\"`site.Networktemplate`\" pulumi-lang-python=\"`site.Networktemplate`\" pulumi-lang-yaml=\"`junipermist.site.Networktemplate`\" pulumi-lang-java=\"`junipermist.site.Networktemplate`\" pulumi-lang-hcl=\"`mist_site_networktemplate`\"\u003e`junipermist.site.Networktemplate`\u003c/span\u003e with:\nSite Network Template can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId\n\" pulumi-lang-dotnet=\" SiteId\n\" pulumi-lang-go=\" siteId\n\" pulumi-lang-python=\" site_id\n\" pulumi-lang-yaml=\" siteId\n\" pulumi-lang-java=\" siteId\n\" pulumi-lang-hcl=\" site_id\n\"\u003e siteId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:site/networktemplate:Networktemplate networktemplate_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a\n```\n\n",
            "properties": {
                "aclPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateAclPolicy:NetworktemplateAclPolicy"
                    }
                },
                "aclTags": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateAclTags:NetworktemplateAclTags"
                    },
                    "description": "ACL Tags to identify traffic source or destination. Key name is the tag name"
                },
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional CLI commands to append to the generated Junos config. **Note**: no check is done"
                },
                "autoUpgradeLinecard": {
                    "type": "boolean"
                },
                "dhcpSnooping": {
                    "$ref": "#/types/junipermist:site/NetworktemplateDhcpSnooping:NetworktemplateDhcpSnooping"
                },
                "disabledSystemDefinedPortUsages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If some system-default port usages are not desired - namely, ap / iot / uplink"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Global dns settings. To keep compatibility, dns settings in \u003cspan pulumi-lang-nodejs=\"`ipConfig`\" pulumi-lang-dotnet=\"`IpConfig`\" pulumi-lang-go=\"`ipConfig`\" pulumi-lang-python=\"`ip_config`\" pulumi-lang-yaml=\"`ipConfig`\" pulumi-lang-java=\"`ipConfig`\" pulumi-lang-hcl=\"`ip_config`\"\u003e`ipConfig`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oobIpConfig`\" pulumi-lang-dotnet=\"`OobIpConfig`\" pulumi-lang-go=\"`oobIpConfig`\" pulumi-lang-python=\"`oob_ip_config`\" pulumi-lang-yaml=\"`oobIpConfig`\" pulumi-lang-java=\"`oobIpConfig`\" pulumi-lang-hcl=\"`oob_ip_config`\"\u003e`oobIpConfig`\u003c/span\u003e will overwrite this setting"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Global dns settings. To keep compatibility, dns settings in \u003cspan pulumi-lang-nodejs=\"`ipConfig`\" pulumi-lang-dotnet=\"`IpConfig`\" pulumi-lang-go=\"`ipConfig`\" pulumi-lang-python=\"`ip_config`\" pulumi-lang-yaml=\"`ipConfig`\" pulumi-lang-java=\"`ipConfig`\" pulumi-lang-hcl=\"`ip_config`\"\u003e`ipConfig`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oobIpConfig`\" pulumi-lang-dotnet=\"`OobIpConfig`\" pulumi-lang-go=\"`oobIpConfig`\" pulumi-lang-python=\"`oob_ip_config`\" pulumi-lang-yaml=\"`oobIpConfig`\" pulumi-lang-java=\"`oobIpConfig`\" pulumi-lang-hcl=\"`oob_ip_config`\"\u003e`oobIpConfig`\u003c/span\u003e will overwrite this setting"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateExtraRoutes:NetworktemplateExtraRoutes"
                    },
                    "description": "Property key is the destination CIDR (e.g. \"10.0.0.0/8\")"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateExtraRoutes6:NetworktemplateExtraRoutes6"
                    },
                    "description": "Property key is the destination CIDR (e.g. \"2a02:1234:420a:10c9::/64\")"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:site/NetworktemplateMistNac:NetworktemplateMistNac",
                    "description": "Enable\u003cspan pulumi-lang-nodejs=\" mistNac \" pulumi-lang-dotnet=\" MistNac \" pulumi-lang-go=\" mistNac \" pulumi-lang-python=\" mist_nac \" pulumi-lang-yaml=\" mistNac \" pulumi-lang-java=\" mistNac \" pulumi-lang-hcl=\" mist_nac \"\u003e mistNac \u003c/span\u003eto use RadSec"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateNetworks:NetworktemplateNetworks"
                    },
                    "description": "Property key is network name"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of NTP servers"
                },
                "ospfAreas": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateOspfAreas:NetworktemplateOspfAreas"
                    },
                    "description": "Junos OSPF areas. Property key is the OSPF Area (Area should be a number (0-255) / IP address)"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplatePortMirroring:NetworktemplatePortMirroring"
                    },
                    "description": "Property key is the port mirroring instance name. \u003cspan pulumi-lang-nodejs=\"`portMirroring`\" pulumi-lang-dotnet=\"`PortMirroring`\" pulumi-lang-go=\"`portMirroring`\" pulumi-lang-python=\"`port_mirroring`\" pulumi-lang-yaml=\"`portMirroring`\" pulumi-lang-java=\"`portMirroring`\" pulumi-lang-hcl=\"`port_mirroring`\"\u003e`portMirroring`\u003c/span\u003e can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output. A maximum 4 mirroring ports is allowed"
                },
                "portUsages": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplatePortUsages:NetworktemplatePortUsages"
                    },
                    "description": "Property key is the port usage name. Defines the profiles of port configuration configured on the switch"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:site/NetworktemplateRadiusConfig:NetworktemplateRadiusConfig",
                    "description": "Junos Radius config"
                },
                "remoteSyslog": {
                    "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslog:NetworktemplateRemoteSyslog"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRoutingPolicies:NetworktemplateRoutingPolicies"
                    },
                    "description": "Property key is the routing policy name"
                },
                "siteId": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization"
                },
                "snmpConfig": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfig:NetworktemplateSnmpConfig"
                },
                "switchMatching": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSwitchMatching:NetworktemplateSwitchMatching",
                    "description": "Defines custom switch configuration based on different criteria"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSwitchMgmt:NetworktemplateSwitchMgmt",
                    "description": "Switch Management settings"
                },
                "usesDescriptionFromPortUsage": {
                    "type": "boolean",
                    "description": "by default, we only honor description provided in port_config. This allows fallback to those defined in port_usages"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:site/NetworktemplateVrfConfig:NetworktemplateVrfConfig"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateVrfInstances:NetworktemplateVrfInstances"
                    },
                    "description": "Property key is the network name"
                }
            },
            "required": [
                "autoUpgradeLinecard",
                "dnsServers",
                "dnsSuffixes",
                "ntpServers",
                "siteId"
            ],
            "inputProperties": {
                "aclPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/NetworktemplateAclPolicy:NetworktemplateAclPolicy"
                    }
                },
                "aclTags": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateAclTags:NetworktemplateAclTags"
                    },
                    "description": "ACL Tags to identify traffic source or destination. Key name is the tag name"
                },
                "additionalConfigCmds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "additional CLI commands to append to the generated Junos config. **Note**: no check is done"
                },
                "autoUpgradeLinecard": {
                    "type": "boolean"
                },
                "dhcpSnooping": {
                    "$ref": "#/types/junipermist:site/NetworktemplateDhcpSnooping:NetworktemplateDhcpSnooping"
                },
                "disabledSystemDefinedPortUsages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If some system-default port usages are not desired - namely, ap / iot / uplink"
                },
                "dnsServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Global dns settings. To keep compatibility, dns settings in \u003cspan pulumi-lang-nodejs=\"`ipConfig`\" pulumi-lang-dotnet=\"`IpConfig`\" pulumi-lang-go=\"`ipConfig`\" pulumi-lang-python=\"`ip_config`\" pulumi-lang-yaml=\"`ipConfig`\" pulumi-lang-java=\"`ipConfig`\" pulumi-lang-hcl=\"`ip_config`\"\u003e`ipConfig`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oobIpConfig`\" pulumi-lang-dotnet=\"`OobIpConfig`\" pulumi-lang-go=\"`oobIpConfig`\" pulumi-lang-python=\"`oob_ip_config`\" pulumi-lang-yaml=\"`oobIpConfig`\" pulumi-lang-java=\"`oobIpConfig`\" pulumi-lang-hcl=\"`oob_ip_config`\"\u003e`oobIpConfig`\u003c/span\u003e will overwrite this setting"
                },
                "dnsSuffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Global dns settings. To keep compatibility, dns settings in \u003cspan pulumi-lang-nodejs=\"`ipConfig`\" pulumi-lang-dotnet=\"`IpConfig`\" pulumi-lang-go=\"`ipConfig`\" pulumi-lang-python=\"`ip_config`\" pulumi-lang-yaml=\"`ipConfig`\" pulumi-lang-java=\"`ipConfig`\" pulumi-lang-hcl=\"`ip_config`\"\u003e`ipConfig`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oobIpConfig`\" pulumi-lang-dotnet=\"`OobIpConfig`\" pulumi-lang-go=\"`oobIpConfig`\" pulumi-lang-python=\"`oob_ip_config`\" pulumi-lang-yaml=\"`oobIpConfig`\" pulumi-lang-java=\"`oobIpConfig`\" pulumi-lang-hcl=\"`oob_ip_config`\"\u003e`oobIpConfig`\u003c/span\u003e will overwrite this setting"
                },
                "extraRoutes": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateExtraRoutes:NetworktemplateExtraRoutes"
                    },
                    "description": "Property key is the destination CIDR (e.g. \"10.0.0.0/8\")"
                },
                "extraRoutes6": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateExtraRoutes6:NetworktemplateExtraRoutes6"
                    },
                    "description": "Property key is the destination CIDR (e.g. \"2a02:1234:420a:10c9::/64\")"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:site/NetworktemplateMistNac:NetworktemplateMistNac",
                    "description": "Enable\u003cspan pulumi-lang-nodejs=\" mistNac \" pulumi-lang-dotnet=\" MistNac \" pulumi-lang-go=\" mistNac \" pulumi-lang-python=\" mist_nac \" pulumi-lang-yaml=\" mistNac \" pulumi-lang-java=\" mistNac \" pulumi-lang-hcl=\" mist_nac \"\u003e mistNac \u003c/span\u003eto use RadSec"
                },
                "networks": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateNetworks:NetworktemplateNetworks"
                    },
                    "description": "Property key is network name"
                },
                "ntpServers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of NTP servers"
                },
                "ospfAreas": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateOspfAreas:NetworktemplateOspfAreas"
                    },
                    "description": "Junos OSPF areas. Property key is the OSPF Area (Area should be a number (0-255) / IP address)"
                },
                "portMirroring": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplatePortMirroring:NetworktemplatePortMirroring"
                    },
                    "description": "Property key is the port mirroring instance name. \u003cspan pulumi-lang-nodejs=\"`portMirroring`\" pulumi-lang-dotnet=\"`PortMirroring`\" pulumi-lang-go=\"`portMirroring`\" pulumi-lang-python=\"`port_mirroring`\" pulumi-lang-yaml=\"`portMirroring`\" pulumi-lang-java=\"`portMirroring`\" pulumi-lang-hcl=\"`port_mirroring`\"\u003e`portMirroring`\u003c/span\u003e can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output. A maximum 4 mirroring ports is allowed"
                },
                "portUsages": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplatePortUsages:NetworktemplatePortUsages"
                    },
                    "description": "Property key is the port usage name. Defines the profiles of port configuration configured on the switch"
                },
                "radiusConfig": {
                    "$ref": "#/types/junipermist:site/NetworktemplateRadiusConfig:NetworktemplateRadiusConfig",
                    "description": "Junos Radius config"
                },
                "remoteSyslog": {
                    "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslog:NetworktemplateRemoteSyslog"
                },
                "routingPolicies": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRoutingPolicies:NetworktemplateRoutingPolicies"
                    },
                    "description": "Property key is the routing policy name"
                },
                "siteId": {
                    "type": "string",
                    "description": "Unique ID of the object instance in the Mist Organization"
                },
                "snmpConfig": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfig:NetworktemplateSnmpConfig"
                },
                "switchMatching": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSwitchMatching:NetworktemplateSwitchMatching",
                    "description": "Defines custom switch configuration based on different criteria"
                },
                "switchMgmt": {
                    "$ref": "#/types/junipermist:site/NetworktemplateSwitchMgmt:NetworktemplateSwitchMgmt",
                    "description": "Switch Management settings"
                },
                "usesDescriptionFromPortUsage": {
                    "type": "boolean",
                    "description": "by default, we only honor description provided in port_config. This allows fallback to those defined in port_usages"
                },
                "vrfConfig": {
                    "$ref": "#/types/junipermist:site/NetworktemplateVrfConfig:NetworktemplateVrfConfig"
                },
                "vrfInstances": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/NetworktemplateVrfInstances:NetworktemplateVrfInstances"
                    },
                    "description": "Property key is the network name"
                }
            },
            "requiredInputs": [
                "siteId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Networktemplate resources.\n",
                "properties": {
                    "aclPolicies": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:site/NetworktemplateAclPolicy:NetworktemplateAclPolicy"
                        }
                    },
                    "aclTags": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/NetworktemplateAclTags:NetworktemplateAclTags"
                        },
                        "description": "ACL Tags to identify traffic source or destination. Key name is the tag name"
                    },
                    "additionalConfigCmds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "additional CLI commands to append to the generated Junos config. **Note**: no check is done"
                    },
                    "autoUpgradeLinecard": {
                        "type": "boolean"
                    },
                    "dhcpSnooping": {
                        "$ref": "#/types/junipermist:site/NetworktemplateDhcpSnooping:NetworktemplateDhcpSnooping"
                    },
                    "disabledSystemDefinedPortUsages": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "If some system-default port usages are not desired - namely, ap / iot / uplink"
                    },
                    "dnsServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Global dns settings. To keep compatibility, dns settings in \u003cspan pulumi-lang-nodejs=\"`ipConfig`\" pulumi-lang-dotnet=\"`IpConfig`\" pulumi-lang-go=\"`ipConfig`\" pulumi-lang-python=\"`ip_config`\" pulumi-lang-yaml=\"`ipConfig`\" pulumi-lang-java=\"`ipConfig`\" pulumi-lang-hcl=\"`ip_config`\"\u003e`ipConfig`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oobIpConfig`\" pulumi-lang-dotnet=\"`OobIpConfig`\" pulumi-lang-go=\"`oobIpConfig`\" pulumi-lang-python=\"`oob_ip_config`\" pulumi-lang-yaml=\"`oobIpConfig`\" pulumi-lang-java=\"`oobIpConfig`\" pulumi-lang-hcl=\"`oob_ip_config`\"\u003e`oobIpConfig`\u003c/span\u003e will overwrite this setting"
                    },
                    "dnsSuffixes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Global dns settings. To keep compatibility, dns settings in \u003cspan pulumi-lang-nodejs=\"`ipConfig`\" pulumi-lang-dotnet=\"`IpConfig`\" pulumi-lang-go=\"`ipConfig`\" pulumi-lang-python=\"`ip_config`\" pulumi-lang-yaml=\"`ipConfig`\" pulumi-lang-java=\"`ipConfig`\" pulumi-lang-hcl=\"`ip_config`\"\u003e`ipConfig`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oobIpConfig`\" pulumi-lang-dotnet=\"`OobIpConfig`\" pulumi-lang-go=\"`oobIpConfig`\" pulumi-lang-python=\"`oob_ip_config`\" pulumi-lang-yaml=\"`oobIpConfig`\" pulumi-lang-java=\"`oobIpConfig`\" pulumi-lang-hcl=\"`oob_ip_config`\"\u003e`oobIpConfig`\u003c/span\u003e will overwrite this setting"
                    },
                    "extraRoutes": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/NetworktemplateExtraRoutes:NetworktemplateExtraRoutes"
                        },
                        "description": "Property key is the destination CIDR (e.g. \"10.0.0.0/8\")"
                    },
                    "extraRoutes6": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/NetworktemplateExtraRoutes6:NetworktemplateExtraRoutes6"
                        },
                        "description": "Property key is the destination CIDR (e.g. \"2a02:1234:420a:10c9::/64\")"
                    },
                    "mistNac": {
                        "$ref": "#/types/junipermist:site/NetworktemplateMistNac:NetworktemplateMistNac",
                        "description": "Enable\u003cspan pulumi-lang-nodejs=\" mistNac \" pulumi-lang-dotnet=\" MistNac \" pulumi-lang-go=\" mistNac \" pulumi-lang-python=\" mist_nac \" pulumi-lang-yaml=\" mistNac \" pulumi-lang-java=\" mistNac \" pulumi-lang-hcl=\" mist_nac \"\u003e mistNac \u003c/span\u003eto use RadSec"
                    },
                    "networks": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/NetworktemplateNetworks:NetworktemplateNetworks"
                        },
                        "description": "Property key is network name"
                    },
                    "ntpServers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of NTP servers"
                    },
                    "ospfAreas": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/NetworktemplateOspfAreas:NetworktemplateOspfAreas"
                        },
                        "description": "Junos OSPF areas. Property key is the OSPF Area (Area should be a number (0-255) / IP address)"
                    },
                    "portMirroring": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/NetworktemplatePortMirroring:NetworktemplatePortMirroring"
                        },
                        "description": "Property key is the port mirroring instance name. \u003cspan pulumi-lang-nodejs=\"`portMirroring`\" pulumi-lang-dotnet=\"`PortMirroring`\" pulumi-lang-go=\"`portMirroring`\" pulumi-lang-python=\"`port_mirroring`\" pulumi-lang-yaml=\"`portMirroring`\" pulumi-lang-java=\"`portMirroring`\" pulumi-lang-hcl=\"`port_mirroring`\"\u003e`portMirroring`\u003c/span\u003e can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output. A maximum 4 mirroring ports is allowed"
                    },
                    "portUsages": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/NetworktemplatePortUsages:NetworktemplatePortUsages"
                        },
                        "description": "Property key is the port usage name. Defines the profiles of port configuration configured on the switch"
                    },
                    "radiusConfig": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRadiusConfig:NetworktemplateRadiusConfig",
                        "description": "Junos Radius config"
                    },
                    "remoteSyslog": {
                        "$ref": "#/types/junipermist:site/NetworktemplateRemoteSyslog:NetworktemplateRemoteSyslog"
                    },
                    "routingPolicies": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/NetworktemplateRoutingPolicies:NetworktemplateRoutingPolicies"
                        },
                        "description": "Property key is the routing policy name"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Unique ID of the object instance in the Mist Organization"
                    },
                    "snmpConfig": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSnmpConfig:NetworktemplateSnmpConfig"
                    },
                    "switchMatching": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSwitchMatching:NetworktemplateSwitchMatching",
                        "description": "Defines custom switch configuration based on different criteria"
                    },
                    "switchMgmt": {
                        "$ref": "#/types/junipermist:site/NetworktemplateSwitchMgmt:NetworktemplateSwitchMgmt",
                        "description": "Switch Management settings"
                    },
                    "usesDescriptionFromPortUsage": {
                        "type": "boolean",
                        "description": "by default, we only honor description provided in port_config. This allows fallback to those defined in port_usages"
                    },
                    "vrfConfig": {
                        "$ref": "#/types/junipermist:site/NetworktemplateVrfConfig:NetworktemplateVrfConfig"
                    },
                    "vrfInstances": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/NetworktemplateVrfInstances:NetworktemplateVrfInstances"
                        },
                        "description": "Property key is the network name"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/psk:Psk": {
            "description": "This data source provides the list of Site PSKs.\n\nA multi PSK (Pre-Shared Key) is a feature that allows the use of multiple PSKs for securing network connections.  \nIt provides a simple and comprehensive way to onboard client devices without relying on client mac addresses.  \nEach psk has its own key name, which can be used for user-level accountability, key rotation, and visibility in the management platform. It supports the creation, rotation, and auto-expiration of psks, and allows vlan assignment and role assignment for dynamic per-user policies.  \nMulti PSKs create virtual broadcast domains and can be used for end-user onboarding via authenticated sso login.\n\nMist supports two methods of Site PSKs lookup:\n* local\n* radius\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst pskOne = new junipermist.site.Psk(\"psk_one\", {\n    siteId: terraformSite.id,\n    name: \"JNP-FR-PAR\",\n    passphrase: \"secretone\",\n    ssid: wlanOne.ssid,\n    usage: \"multi\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\npsk_one = junipermist.site.Psk(\"psk_one\",\n    site_id=terraform_site[\"id\"],\n    name=\"JNP-FR-PAR\",\n    passphrase=\"secretone\",\n    ssid=wlan_one[\"ssid\"],\n    usage=\"multi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pskOne = new JuniperMist.Site.Psk(\"psk_one\", new()\n    {\n        SiteId = terraformSite.Id,\n        Name = \"JNP-FR-PAR\",\n        Passphrase = \"secretone\",\n        Ssid = wlanOne.Ssid,\n        Usage = \"multi\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewPsk(ctx, \"psk_one\", \u0026site.PskArgs{\n\t\t\tSiteId:     pulumi.Any(terraformSite.Id),\n\t\t\tName:       pulumi.String(\"JNP-FR-PAR\"),\n\t\t\tPassphrase: pulumi.String(\"secretone\"),\n\t\t\tSsid:       pulumi.Any(wlanOne.Ssid),\n\t\t\tUsage:      pulumi.String(\"multi\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_psk\" \"psk_one\" {\n  site_id    = terraformSite.id\n  name       = \"JNP-FR-PAR\"\n  passphrase = \"secretone\"\n  ssid       = wlanOne.ssid\n  usage      = \"multi\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.Psk;\nimport com.pulumi.junipermist.site.PskArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var pskOne = new Psk(\"pskOne\", PskArgs.builder()\n            .siteId(terraformSite.id())\n            .name(\"JNP-FR-PAR\")\n            .passphrase(\"secretone\")\n            .ssid(wlanOne.ssid())\n            .usage(\"multi\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pskOne:\n    type: junipermist:site:Psk\n    name: psk_one\n    properties:\n      siteId: ${terraformSite.id}\n      name: JNP-FR-PAR\n      passphrase: secretone\n      ssid: ${wlanOne.ssid}\n      usage: multi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Psk`\" pulumi-lang-dotnet=\"`junipermist.site.Psk`\" pulumi-lang-go=\"`site.Psk`\" pulumi-lang-python=\"`site.Psk`\" pulumi-lang-yaml=\"`junipermist.site.Psk`\" pulumi-lang-java=\"`junipermist.site.Psk`\" pulumi-lang-hcl=\"`mist_site_psk`\"\u003e`junipermist.site.Psk`\u003c/span\u003e with:\nSite PSK can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" pskId\n\" pulumi-lang-dotnet=\" PskId\n\" pulumi-lang-go=\" pskId\n\" pulumi-lang-python=\" psk_id\n\" pulumi-lang-yaml=\" pskId\n\" pulumi-lang-java=\" pskId\n\" pulumi-lang-hcl=\" psk_id\n\"\u003e pskId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:site/psk:Psk psk_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "email": {
                    "type": "string",
                    "description": "Notification recipient email address for PSK creation notification and expiration reminders\n"
                },
                "expireTime": {
                    "type": "integer",
                    "description": "Expire time for this PSK key (epoch time in seconds). Default \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e (as no expiration)\n"
                },
                "expiryNotificationTime": {
                    "type": "integer",
                    "description": "Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire\n"
                },
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e, client MAC address this PSK is bound to; empty when auto-binding is used\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the PSK\n"
                },
                "note": {
                    "type": "string",
                    "description": "Admin note or description stored with the PSK\n"
                },
                "notifyExpiry": {
                    "type": "boolean",
                    "description": "If set to true, reminder notification will be sent when psk is about to expire\n"
                },
                "notifyOnCreateOrEdit": {
                    "type": "boolean",
                    "description": "If set to true, notification will be sent when psk is created or edited\n"
                },
                "oldPassphrase": {
                    "type": "string",
                    "description": "previous passphrase of the PSK if it has been rotated\n",
                    "secret": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the site-level PSK\n"
                },
                "passphrase": {
                    "type": "string",
                    "description": "PSK passphrase, 8-63 characters or 64 hexadecimal characters\n",
                    "secret": true
                },
                "role": {
                    "type": "string",
                    "description": "Client role applied to users authenticated with this PSK\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site associated with the site-level PSK\n"
                },
                "ssid": {
                    "type": "string",
                    "description": "WLAN SSID where this PSK can be used\n"
                },
                "usage": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID returned for clients using this PSK\n"
                },
                "vlanName": {
                    "type": "string",
                    "description": "VLAN name to be assigned. Optional, \u003cspan pulumi-lang-nodejs=\"`vlanId`\" pulumi-lang-dotnet=\"`VlanId`\" pulumi-lang-go=\"`vlanId`\" pulumi-lang-python=\"`vlan_id`\" pulumi-lang-yaml=\"`vlanId`\" pulumi-lang-java=\"`vlanId`\" pulumi-lang-hcl=\"`vlan_id`\"\u003e`vlanId`\u003c/span\u003e takes precedence if both are provided\n"
                }
            },
            "required": [
                "expireTime",
                "name",
                "notifyExpiry",
                "orgId",
                "passphrase",
                "siteId",
                "ssid",
                "usage"
            ],
            "inputProperties": {
                "email": {
                    "type": "string",
                    "description": "Notification recipient email address for PSK creation notification and expiration reminders\n"
                },
                "expireTime": {
                    "type": "integer",
                    "description": "Expire time for this PSK key (epoch time in seconds). Default \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e (as no expiration)\n"
                },
                "expiryNotificationTime": {
                    "type": "integer",
                    "description": "Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire\n"
                },
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e, client MAC address this PSK is bound to; empty when auto-binding is used\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the PSK\n"
                },
                "note": {
                    "type": "string",
                    "description": "Admin note or description stored with the PSK\n"
                },
                "notifyExpiry": {
                    "type": "boolean",
                    "description": "If set to true, reminder notification will be sent when psk is about to expire\n"
                },
                "notifyOnCreateOrEdit": {
                    "type": "boolean",
                    "description": "If set to true, notification will be sent when psk is created or edited\n"
                },
                "oldPassphrase": {
                    "type": "string",
                    "description": "previous passphrase of the PSK if it has been rotated\n",
                    "secret": true
                },
                "passphrase": {
                    "type": "string",
                    "description": "PSK passphrase, 8-63 characters or 64 hexadecimal characters\n",
                    "secret": true
                },
                "role": {
                    "type": "string",
                    "description": "Client role applied to users authenticated with this PSK\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site associated with the site-level PSK\n"
                },
                "ssid": {
                    "type": "string",
                    "description": "WLAN SSID where this PSK can be used\n"
                },
                "usage": {
                    "type": "string",
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "VLAN ID returned for clients using this PSK\n"
                },
                "vlanName": {
                    "type": "string",
                    "description": "VLAN name to be assigned. Optional, \u003cspan pulumi-lang-nodejs=\"`vlanId`\" pulumi-lang-dotnet=\"`VlanId`\" pulumi-lang-go=\"`vlanId`\" pulumi-lang-python=\"`vlan_id`\" pulumi-lang-yaml=\"`vlanId`\" pulumi-lang-java=\"`vlanId`\" pulumi-lang-hcl=\"`vlan_id`\"\u003e`vlanId`\u003c/span\u003e takes precedence if both are provided\n"
                }
            },
            "requiredInputs": [
                "passphrase",
                "siteId",
                "ssid"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Psk resources.\n",
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "Notification recipient email address for PSK creation notification and expiration reminders\n"
                    },
                    "expireTime": {
                        "type": "integer",
                        "description": "Expire time for this PSK key (epoch time in seconds). Default \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e (as no expiration)\n"
                    },
                    "expiryNotificationTime": {
                        "type": "integer",
                        "description": "Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire\n"
                    },
                    "mac": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`usage`\" pulumi-lang-dotnet=\"`Usage`\" pulumi-lang-go=\"`usage`\" pulumi-lang-python=\"`usage`\" pulumi-lang-yaml=\"`usage`\" pulumi-lang-java=\"`usage`\" pulumi-lang-hcl=\"`usage`\"\u003e`usage`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e, client MAC address this PSK is bound to; empty when auto-binding is used\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the PSK\n"
                    },
                    "note": {
                        "type": "string",
                        "description": "Admin note or description stored with the PSK\n"
                    },
                    "notifyExpiry": {
                        "type": "boolean",
                        "description": "If set to true, reminder notification will be sent when psk is about to expire\n"
                    },
                    "notifyOnCreateOrEdit": {
                        "type": "boolean",
                        "description": "If set to true, notification will be sent when psk is created or edited\n"
                    },
                    "oldPassphrase": {
                        "type": "string",
                        "description": "previous passphrase of the PSK if it has been rotated\n",
                        "secret": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns the site-level PSK\n"
                    },
                    "passphrase": {
                        "type": "string",
                        "description": "PSK passphrase, 8-63 characters or 64 hexadecimal characters\n",
                        "secret": true
                    },
                    "role": {
                        "type": "string",
                        "description": "Client role applied to users authenticated with this PSK\n"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Site associated with the site-level PSK\n"
                    },
                    "ssid": {
                        "type": "string",
                        "description": "WLAN SSID where this PSK can be used\n"
                    },
                    "usage": {
                        "type": "string",
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`multi`\" pulumi-lang-dotnet=\"`Multi`\" pulumi-lang-go=\"`multi`\" pulumi-lang-python=\"`multi`\" pulumi-lang-yaml=\"`multi`\" pulumi-lang-java=\"`multi`\" pulumi-lang-hcl=\"`multi`\"\u003e`multi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\" pulumi-lang-hcl=\"`single`\"\u003e`single`\u003c/span\u003e\n"
                    },
                    "vlanId": {
                        "type": "string",
                        "description": "VLAN ID returned for clients using this PSK\n"
                    },
                    "vlanName": {
                        "type": "string",
                        "description": "VLAN name to be assigned. Optional, \u003cspan pulumi-lang-nodejs=\"`vlanId`\" pulumi-lang-dotnet=\"`VlanId`\" pulumi-lang-go=\"`vlanId`\" pulumi-lang-python=\"`vlan_id`\" pulumi-lang-yaml=\"`vlanId`\" pulumi-lang-java=\"`vlanId`\" pulumi-lang-hcl=\"`vlan_id`\"\u003e`vlanId`\u003c/span\u003e takes precedence if both are provided\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/setting:Setting": {
            "description": "This resource manages the Site Settings.\n\nThe Site Settings can be used to customize the Site configuration and assign Site Variables (Sites Variables can be reused in configuration templates)\n\n\u003e When using the Mist APIs, all the switch settings defined at the site level are stored under the site settings with all the rest of the site configuration (`/api/v1/sites/{site_id}/setting` Mist API Endpoint). To simplify this resource, all the site level switches related settings are moved into the \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Networktemplate`\" pulumi-lang-dotnet=\"`junipermist.site.Networktemplate`\" pulumi-lang-go=\"`site.Networktemplate`\" pulumi-lang-python=\"`site.Networktemplate`\" pulumi-lang-yaml=\"`junipermist.site.Networktemplate`\" pulumi-lang-java=\"`junipermist.site.Networktemplate`\" pulumi-lang-hcl=\"`mist_site_networktemplate`\"\u003e`junipermist.site.Networktemplate`\u003c/span\u003e resource\n\n\u003e Only ONE \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Setting`\" pulumi-lang-dotnet=\"`junipermist.site.Setting`\" pulumi-lang-go=\"`site.Setting`\" pulumi-lang-python=\"`site.Setting`\" pulumi-lang-yaml=\"`junipermist.site.Setting`\" pulumi-lang-java=\"`junipermist.site.Setting`\" pulumi-lang-hcl=\"`mist_site_setting`\"\u003e`junipermist.site.Setting`\u003c/span\u003e resource can be configured per site. If multiple ones are configured, only the last one defined we be successfully deployed to Mist\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst siteOne = new junipermist.site.Setting(\"site_one\", {\n    siteId: terraformSite.id,\n    apUpdownThreshold: 5,\n    deviceUpdownThreshold: 5,\n    autoUpgrade: {\n        enabled: true,\n        dayOfWeek: \"tue\",\n        timeOfDay: \"02:00\",\n        version: \"beta\",\n    },\n    configAutoRevert: true,\n    persistConfigOnDevice: true,\n    proxy: {\n        url: \"http://myproxy:3128\",\n    },\n    rogue: {\n        enabled: true,\n        honeypotEnabled: true,\n        minDuration: 5,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nsite_one = junipermist.site.Setting(\"site_one\",\n    site_id=terraform_site[\"id\"],\n    ap_updown_threshold=5,\n    device_updown_threshold=5,\n    auto_upgrade={\n        \"enabled\": True,\n        \"day_of_week\": \"tue\",\n        \"time_of_day\": \"02:00\",\n        \"version\": \"beta\",\n    },\n    config_auto_revert=True,\n    persist_config_on_device=True,\n    proxy={\n        \"url\": \"http://myproxy:3128\",\n    },\n    rogue={\n        \"enabled\": True,\n        \"honeypot_enabled\": True,\n        \"min_duration\": 5,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var siteOne = new JuniperMist.Site.Setting(\"site_one\", new()\n    {\n        SiteId = terraformSite.Id,\n        ApUpdownThreshold = 5,\n        DeviceUpdownThreshold = 5,\n        AutoUpgrade = new JuniperMist.Site.Inputs.SettingAutoUpgradeArgs\n        {\n            Enabled = true,\n            DayOfWeek = \"tue\",\n            TimeOfDay = \"02:00\",\n            Version = \"beta\",\n        },\n        ConfigAutoRevert = true,\n        PersistConfigOnDevice = true,\n        Proxy = new JuniperMist.Site.Inputs.SettingProxyArgs\n        {\n            Url = \"http://myproxy:3128\",\n        },\n        Rogue = new JuniperMist.Site.Inputs.SettingRogueArgs\n        {\n            Enabled = true,\n            HoneypotEnabled = true,\n            MinDuration = 5,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewSetting(ctx, \"site_one\", \u0026site.SettingArgs{\n\t\t\tSiteId:                pulumi.Any(terraformSite.Id),\n\t\t\tApUpdownThreshold:     pulumi.Int(5),\n\t\t\tDeviceUpdownThreshold: pulumi.Int(5),\n\t\t\tAutoUpgrade: \u0026site.SettingAutoUpgradeArgs{\n\t\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\t\tDayOfWeek: pulumi.String(\"tue\"),\n\t\t\t\tTimeOfDay: pulumi.String(\"02:00\"),\n\t\t\t\tVersion:   pulumi.String(\"beta\"),\n\t\t\t},\n\t\t\tConfigAutoRevert:      pulumi.Bool(true),\n\t\t\tPersistConfigOnDevice: pulumi.Bool(true),\n\t\t\tProxy: \u0026site.SettingProxyArgs{\n\t\t\t\tUrl: pulumi.String(\"http://myproxy:3128\"),\n\t\t\t},\n\t\t\tRogue: \u0026site.SettingRogueArgs{\n\t\t\t\tEnabled:         pulumi.Bool(true),\n\t\t\t\tHoneypotEnabled: pulumi.Bool(true),\n\t\t\t\tMinDuration:     pulumi.Int(5),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_setting\" \"site_one\" {\n  site_id                 = terraformSite.id\n  ap_updown_threshold     = 5\n  device_updown_threshold = 5\n  auto_upgrade = {\n    enabled     = true\n    day_of_week = \"tue\"\n    time_of_day = \"02:00\"\n    version     = \"beta\"\n  }\n  config_auto_revert       = true\n  persist_config_on_device = true\n  proxy = {\n    url = \"http://myproxy:3128\"\n  }\n  rogue = {\n    enabled          = true\n    honeypot_enabled = true\n    min_duration     = 5\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.Setting;\nimport com.pulumi.junipermist.site.SettingArgs;\nimport com.pulumi.junipermist.site.inputs.SettingAutoUpgradeArgs;\nimport com.pulumi.junipermist.site.inputs.SettingProxyArgs;\nimport com.pulumi.junipermist.site.inputs.SettingRogueArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var siteOne = new Setting(\"siteOne\", SettingArgs.builder()\n            .siteId(terraformSite.id())\n            .apUpdownThreshold(5)\n            .deviceUpdownThreshold(5)\n            .autoUpgrade(SettingAutoUpgradeArgs.builder()\n                .enabled(true)\n                .dayOfWeek(\"tue\")\n                .timeOfDay(\"02:00\")\n                .version(\"beta\")\n                .build())\n            .configAutoRevert(true)\n            .persistConfigOnDevice(true)\n            .proxy(SettingProxyArgs.builder()\n                .url(\"http://myproxy:3128\")\n                .build())\n            .rogue(SettingRogueArgs.builder()\n                .enabled(true)\n                .honeypotEnabled(true)\n                .minDuration(5)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  siteOne:\n    type: junipermist:site:Setting\n    name: site_one\n    properties:\n      siteId: ${terraformSite.id}\n      apUpdownThreshold: 5\n      deviceUpdownThreshold: 5\n      autoUpgrade:\n        enabled: true\n        dayOfWeek: tue\n        timeOfDay: 02:00\n        version: beta\n      configAutoRevert: true\n      persistConfigOnDevice: true\n      proxy:\n        url: http://myproxy:3128\n      rogue:\n        enabled: true\n        honeypotEnabled: true\n        minDuration: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Setting`\" pulumi-lang-dotnet=\"`junipermist.site.Setting`\" pulumi-lang-go=\"`site.Setting`\" pulumi-lang-python=\"`site.Setting`\" pulumi-lang-yaml=\"`junipermist.site.Setting`\" pulumi-lang-java=\"`junipermist.site.Setting`\" pulumi-lang-hcl=\"`mist_site_setting`\"\u003e`junipermist.site.Setting`\u003c/span\u003e with:\nSite Setting can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId\n\" pulumi-lang-dotnet=\" SiteId\n\" pulumi-lang-go=\" siteId\n\" pulumi-lang-python=\" site_id\n\" pulumi-lang-yaml=\" siteId\n\" pulumi-lang-java=\" siteId\n\" pulumi-lang-hcl=\" site_id\n\"\u003e siteId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:site/setting:Setting site_setting_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a\n```\n\n",
            "properties": {
                "allowMist": {
                    "type": "boolean",
                    "description": "whether to allow Mist to look at this org"
                },
                "analytic": {
                    "$ref": "#/types/junipermist:site/SettingAnalytic:SettingAnalytic",
                    "description": "Advanced analytics configuration for the site"
                },
                "apSyntheticTest": {
                    "$ref": "#/types/junipermist:site/SettingApSyntheticTest:SettingApSyntheticTest",
                    "description": "Synthetic test configuration for APs at the site"
                },
                "apUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for AP devices only. When configured it takes effect for AP devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "autoUpgrade": {
                    "$ref": "#/types/junipermist:site/SettingAutoUpgrade:SettingAutoUpgrade",
                    "description": "Automatic AP firmware upgrade settings for the site. Overrides org setting when provided."
                },
                "autoUpgradeEsl": {
                    "$ref": "#/types/junipermist:site/SettingAutoUpgradeEsl:SettingAutoUpgradeEsl",
                    "description": "Automatic ESL firmware upgrade settings for the site"
                },
                "bgpNeighborUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based bgp neighbor down delivery."
                },
                "blacklistUrl": {
                    "type": "string",
                    "description": "Read-only URL for the site blacklist file"
                },
                "bleConfig": {
                    "$ref": "#/types/junipermist:site/SettingBleConfig:SettingBleConfig",
                    "description": "Bluetooth Low Energy configuration applied to APs at the site"
                },
                "configAutoRevert": {
                    "type": "boolean",
                    "description": "Whether to enable ap auto config revert"
                },
                "configPushPolicy": {
                    "$ref": "#/types/junipermist:site/SettingConfigPushPolicy:SettingConfigPushPolicy",
                    "description": "Policy controlling how site configuration pushes are applied"
                },
                "criticalUrlMonitoring": {
                    "$ref": "#/types/junipermist:site/SettingCriticalUrlMonitoring:SettingCriticalUrlMonitoring",
                    "description": "Monitoring configuration for critical URLs at the site"
                },
                "deviceUpdownThreshold": {
                    "type": "integer",
                    "description": "By default, device_updown_threshold, if set, will apply to all devices types if different values for specific device type is desired, use the following"
                },
                "enableUnii4": {
                    "type": "boolean",
                    "description": "Whether UNII-4 channels are enabled for the site"
                },
                "engagement": {
                    "$ref": "#/types/junipermist:site/SettingEngagement:SettingEngagement",
                    "description": "Dwell-time analytics rules for the site"
                },
                "gatewayMgmt": {
                    "$ref": "#/types/junipermist:site/SettingGatewayMgmt:SettingGatewayMgmt",
                    "description": "Management access settings for gateways at the site"
                },
                "gatewayTunnelUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based gateway tunnel (secure edge tunnels) up-down delivery."
                },
                "gatewayUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for Gateway devices only. When configured it takes effect for GW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "iotproxy": {
                    "$ref": "#/types/junipermist:site/SettingIotproxy:SettingIotproxy",
                    "description": "Proxy settings for IoT traffic at the site"
                },
                "juniperSrx": {
                    "$ref": "#/types/junipermist:site/SettingJuniperSrx:SettingJuniperSrx",
                    "description": "SRX integration settings for the site"
                },
                "led": {
                    "$ref": "#/types/junipermist:site/SettingLed:SettingLed",
                    "description": "AP LED behavior configured for the site"
                },
                "marvis": {
                    "$ref": "#/types/junipermist:site/SettingMarvis:SettingMarvis",
                    "description": "AI assistant settings for Marvis at the site"
                },
                "mxedgeMgmt": {
                    "$ref": "#/types/junipermist:site/SettingMxedgeMgmt:SettingMxedgeMgmt",
                    "description": "Mist Edge management access settings for the site"
                },
                "mxtunnel": {
                    "$ref": "#/types/junipermist:site/SettingMxtunnel:SettingMxtunnel",
                    "description": "Site Mist Tunnel configuration"
                },
                "occupancy": {
                    "$ref": "#/types/junipermist:site/SettingOccupancy:SettingOccupancy",
                    "description": "Analytics settings for site occupancy"
                },
                "persistConfigOnDevice": {
                    "type": "boolean",
                    "description": "Whether to store the config on AP"
                },
                "proxy": {
                    "$ref": "#/types/junipermist:site/SettingProxy:SettingProxy",
                    "description": "Network proxy settings for devices at the site"
                },
                "removeExistingConfigs": {
                    "type": "boolean",
                    "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed."
                },
                "reportGatt": {
                    "type": "boolean",
                    "description": "Whether AP should periodically connect to BLE devices and report GATT device info (device name, manufacturer name, serial number, battery %, temperature, humidity)"
                },
                "rogue": {
                    "$ref": "#/types/junipermist:site/SettingRogue:SettingRogue",
                    "description": "AP threat detection settings for the site"
                },
                "rtsa": {
                    "$ref": "#/types/junipermist:site/SettingRtsa:SettingRtsa",
                    "description": "Managed mobility and asset tracking settings for the site"
                },
                "simpleAlert": {
                    "$ref": "#/types/junipermist:site/SettingSimpleAlert:SettingSimpleAlert",
                    "description": "Threshold alert settings for the site"
                },
                "siteId": {
                    "type": "string",
                    "description": "Identifier of the site these settings apply to"
                },
                "skyatp": {
                    "$ref": "#/types/junipermist:site/SettingSkyatp:SettingSkyatp",
                    "description": "Threat intelligence settings from Sky ATP for the site"
                },
                "sleThresholds": {
                    "$ref": "#/types/junipermist:site/SettingSleThresholds:SettingSleThresholds",
                    "description": "Service level expectation threshold settings for the site"
                },
                "srxApp": {
                    "$ref": "#/types/junipermist:site/SettingSrxApp:SettingSrxApp",
                    "description": "Juniper SRX application visibility settings for the site"
                },
                "sshKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Public SSH keys configured for the site"
                },
                "ssr": {
                    "$ref": "#/types/junipermist:site/SettingSsr:SettingSsr",
                    "description": "Session Smart Router settings for the site"
                },
                "switchUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for Switch devices only. When configured it takes effect for SW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "syntheticTest": {
                    "$ref": "#/types/junipermist:site/SettingSyntheticTest:SettingSyntheticTest",
                    "description": "Active monitoring test configuration for the site"
                },
                "trackAnonymousDevices": {
                    "type": "boolean",
                    "description": "Whether to track anonymous BLE assets (requires ‘track_asset’  enabled)"
                },
                "tuntermMonitoringDisabled": {
                    "type": "boolean",
                    "description": "Whether tunnel termination monitoring is disabled for the site"
                },
                "tuntermMonitorings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingTuntermMonitoring:SettingTuntermMonitoring"
                    },
                    "description": "Tunnel termination monitoring settings for the site"
                },
                "tuntermMulticastConfig": {
                    "$ref": "#/types/junipermist:site/SettingTuntermMulticastConfig:SettingTuntermMulticastConfig",
                    "description": "Multicast settings for tunnel termination at the site"
                },
                "uplinkPortConfig": {
                    "$ref": "#/types/junipermist:site/SettingUplinkPortConfig:SettingUplinkPortConfig",
                    "description": "AP uplink port configuration for the site"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Template variables defined for the site"
                },
                "varsAnnotations": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/SettingVarsAnnotations:SettingVarsAnnotations"
                    },
                    "description": "Metadata annotations for site template variables"
                },
                "vna": {
                    "$ref": "#/types/junipermist:site/SettingVna:SettingVna",
                    "description": "Virtual Network Assistant settings for the site"
                },
                "vpnPathUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based vpn path down delivery."
                },
                "vpnPeerUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based vpn peer down delivery."
                },
                "vsInstance": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/SettingVsInstance:SettingVsInstance"
                    },
                    "description": "EX9200 virtual switch instance definitions for the site"
                },
                "wanVna": {
                    "$ref": "#/types/junipermist:site/SettingWanVna:SettingWanVna",
                    "description": "Virtual Network Assistant settings for WAN experiences at the site"
                },
                "watchedStationUrl": {
                    "type": "string",
                    "description": "Read-only URL for the watched station list file"
                },
                "whitelistUrl": {
                    "type": "string",
                    "description": "Read-only URL for the site whitelist file"
                },
                "wids": {
                    "$ref": "#/types/junipermist:site/SettingWids:SettingWids",
                    "description": "Wireless intrusion detection settings for the site"
                },
                "wifi": {
                    "$ref": "#/types/junipermist:site/SettingWifi:SettingWifi",
                    "description": "Wireless LAN configuration settings for the site"
                },
                "wiredVna": {
                    "$ref": "#/types/junipermist:site/SettingWiredVna:SettingWiredVna",
                    "description": "Virtual Network Assistant settings for wired experiences at the site"
                },
                "zoneOccupancyAlert": {
                    "$ref": "#/types/junipermist:site/SettingZoneOccupancyAlert:SettingZoneOccupancyAlert",
                    "description": "Occupancy alert settings for site zones"
                }
            },
            "required": [
                "allowMist",
                "analytic",
                "autoUpgrade",
                "blacklistUrl",
                "configAutoRevert",
                "enableUnii4",
                "engagement",
                "gatewayMgmt",
                "led",
                "occupancy",
                "persistConfigOnDevice",
                "rogue",
                "rtsa",
                "siteId",
                "sshKeys",
                "syntheticTest",
                "uplinkPortConfig",
                "watchedStationUrl",
                "whitelistUrl",
                "wids",
                "wifi",
                "zoneOccupancyAlert"
            ],
            "inputProperties": {
                "allowMist": {
                    "type": "boolean",
                    "description": "whether to allow Mist to look at this org"
                },
                "analytic": {
                    "$ref": "#/types/junipermist:site/SettingAnalytic:SettingAnalytic",
                    "description": "Advanced analytics configuration for the site"
                },
                "apSyntheticTest": {
                    "$ref": "#/types/junipermist:site/SettingApSyntheticTest:SettingApSyntheticTest",
                    "description": "Synthetic test configuration for APs at the site"
                },
                "apUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for AP devices only. When configured it takes effect for AP devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "autoUpgrade": {
                    "$ref": "#/types/junipermist:site/SettingAutoUpgrade:SettingAutoUpgrade",
                    "description": "Automatic AP firmware upgrade settings for the site. Overrides org setting when provided."
                },
                "autoUpgradeEsl": {
                    "$ref": "#/types/junipermist:site/SettingAutoUpgradeEsl:SettingAutoUpgradeEsl",
                    "description": "Automatic ESL firmware upgrade settings for the site"
                },
                "bgpNeighborUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based bgp neighbor down delivery."
                },
                "bleConfig": {
                    "$ref": "#/types/junipermist:site/SettingBleConfig:SettingBleConfig",
                    "description": "Bluetooth Low Energy configuration applied to APs at the site"
                },
                "configAutoRevert": {
                    "type": "boolean",
                    "description": "Whether to enable ap auto config revert"
                },
                "configPushPolicy": {
                    "$ref": "#/types/junipermist:site/SettingConfigPushPolicy:SettingConfigPushPolicy",
                    "description": "Policy controlling how site configuration pushes are applied"
                },
                "criticalUrlMonitoring": {
                    "$ref": "#/types/junipermist:site/SettingCriticalUrlMonitoring:SettingCriticalUrlMonitoring",
                    "description": "Monitoring configuration for critical URLs at the site"
                },
                "deviceUpdownThreshold": {
                    "type": "integer",
                    "description": "By default, device_updown_threshold, if set, will apply to all devices types if different values for specific device type is desired, use the following"
                },
                "enableUnii4": {
                    "type": "boolean",
                    "description": "Whether UNII-4 channels are enabled for the site"
                },
                "engagement": {
                    "$ref": "#/types/junipermist:site/SettingEngagement:SettingEngagement",
                    "description": "Dwell-time analytics rules for the site"
                },
                "gatewayMgmt": {
                    "$ref": "#/types/junipermist:site/SettingGatewayMgmt:SettingGatewayMgmt",
                    "description": "Management access settings for gateways at the site"
                },
                "gatewayTunnelUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based gateway tunnel (secure edge tunnels) up-down delivery."
                },
                "gatewayUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for Gateway devices only. When configured it takes effect for GW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "iotproxy": {
                    "$ref": "#/types/junipermist:site/SettingIotproxy:SettingIotproxy",
                    "description": "Proxy settings for IoT traffic at the site"
                },
                "juniperSrx": {
                    "$ref": "#/types/junipermist:site/SettingJuniperSrx:SettingJuniperSrx",
                    "description": "SRX integration settings for the site"
                },
                "led": {
                    "$ref": "#/types/junipermist:site/SettingLed:SettingLed",
                    "description": "AP LED behavior configured for the site"
                },
                "marvis": {
                    "$ref": "#/types/junipermist:site/SettingMarvis:SettingMarvis",
                    "description": "AI assistant settings for Marvis at the site"
                },
                "mxedgeMgmt": {
                    "$ref": "#/types/junipermist:site/SettingMxedgeMgmt:SettingMxedgeMgmt",
                    "description": "Mist Edge management access settings for the site"
                },
                "mxtunnel": {
                    "$ref": "#/types/junipermist:site/SettingMxtunnel:SettingMxtunnel",
                    "description": "Site Mist Tunnel configuration"
                },
                "occupancy": {
                    "$ref": "#/types/junipermist:site/SettingOccupancy:SettingOccupancy",
                    "description": "Analytics settings for site occupancy"
                },
                "persistConfigOnDevice": {
                    "type": "boolean",
                    "description": "Whether to store the config on AP"
                },
                "proxy": {
                    "$ref": "#/types/junipermist:site/SettingProxy:SettingProxy",
                    "description": "Network proxy settings for devices at the site"
                },
                "removeExistingConfigs": {
                    "type": "boolean",
                    "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed."
                },
                "reportGatt": {
                    "type": "boolean",
                    "description": "Whether AP should periodically connect to BLE devices and report GATT device info (device name, manufacturer name, serial number, battery %, temperature, humidity)"
                },
                "rogue": {
                    "$ref": "#/types/junipermist:site/SettingRogue:SettingRogue",
                    "description": "AP threat detection settings for the site"
                },
                "rtsa": {
                    "$ref": "#/types/junipermist:site/SettingRtsa:SettingRtsa",
                    "description": "Managed mobility and asset tracking settings for the site"
                },
                "simpleAlert": {
                    "$ref": "#/types/junipermist:site/SettingSimpleAlert:SettingSimpleAlert",
                    "description": "Threshold alert settings for the site"
                },
                "siteId": {
                    "type": "string",
                    "description": "Identifier of the site these settings apply to"
                },
                "skyatp": {
                    "$ref": "#/types/junipermist:site/SettingSkyatp:SettingSkyatp",
                    "description": "Threat intelligence settings from Sky ATP for the site"
                },
                "sleThresholds": {
                    "$ref": "#/types/junipermist:site/SettingSleThresholds:SettingSleThresholds",
                    "description": "Service level expectation threshold settings for the site"
                },
                "srxApp": {
                    "$ref": "#/types/junipermist:site/SettingSrxApp:SettingSrxApp",
                    "description": "Juniper SRX application visibility settings for the site"
                },
                "sshKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Public SSH keys configured for the site"
                },
                "ssr": {
                    "$ref": "#/types/junipermist:site/SettingSsr:SettingSsr",
                    "description": "Session Smart Router settings for the site"
                },
                "switchUpdownThreshold": {
                    "type": "integer",
                    "description": "Enable threshold-based device down delivery for Switch devices only. When configured it takes effect for SW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                },
                "syntheticTest": {
                    "$ref": "#/types/junipermist:site/SettingSyntheticTest:SettingSyntheticTest",
                    "description": "Active monitoring test configuration for the site"
                },
                "trackAnonymousDevices": {
                    "type": "boolean",
                    "description": "Whether to track anonymous BLE assets (requires ‘track_asset’  enabled)"
                },
                "tuntermMonitoringDisabled": {
                    "type": "boolean",
                    "description": "Whether tunnel termination monitoring is disabled for the site"
                },
                "tuntermMonitorings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/SettingTuntermMonitoring:SettingTuntermMonitoring"
                    },
                    "description": "Tunnel termination monitoring settings for the site"
                },
                "tuntermMulticastConfig": {
                    "$ref": "#/types/junipermist:site/SettingTuntermMulticastConfig:SettingTuntermMulticastConfig",
                    "description": "Multicast settings for tunnel termination at the site"
                },
                "uplinkPortConfig": {
                    "$ref": "#/types/junipermist:site/SettingUplinkPortConfig:SettingUplinkPortConfig",
                    "description": "AP uplink port configuration for the site"
                },
                "vars": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Template variables defined for the site"
                },
                "varsAnnotations": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/SettingVarsAnnotations:SettingVarsAnnotations"
                    },
                    "description": "Metadata annotations for site template variables"
                },
                "vna": {
                    "$ref": "#/types/junipermist:site/SettingVna:SettingVna",
                    "description": "Virtual Network Assistant settings for the site"
                },
                "vpnPathUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based vpn path down delivery."
                },
                "vpnPeerUpdownThreshold": {
                    "type": "integer",
                    "description": "enable threshold-based vpn peer down delivery."
                },
                "vsInstance": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/SettingVsInstance:SettingVsInstance"
                    },
                    "description": "EX9200 virtual switch instance definitions for the site"
                },
                "wanVna": {
                    "$ref": "#/types/junipermist:site/SettingWanVna:SettingWanVna",
                    "description": "Virtual Network Assistant settings for WAN experiences at the site"
                },
                "wids": {
                    "$ref": "#/types/junipermist:site/SettingWids:SettingWids",
                    "description": "Wireless intrusion detection settings for the site"
                },
                "wifi": {
                    "$ref": "#/types/junipermist:site/SettingWifi:SettingWifi",
                    "description": "Wireless LAN configuration settings for the site"
                },
                "wiredVna": {
                    "$ref": "#/types/junipermist:site/SettingWiredVna:SettingWiredVna",
                    "description": "Virtual Network Assistant settings for wired experiences at the site"
                },
                "zoneOccupancyAlert": {
                    "$ref": "#/types/junipermist:site/SettingZoneOccupancyAlert:SettingZoneOccupancyAlert",
                    "description": "Occupancy alert settings for site zones"
                }
            },
            "requiredInputs": [
                "siteId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Setting resources.\n",
                "properties": {
                    "allowMist": {
                        "type": "boolean",
                        "description": "whether to allow Mist to look at this org"
                    },
                    "analytic": {
                        "$ref": "#/types/junipermist:site/SettingAnalytic:SettingAnalytic",
                        "description": "Advanced analytics configuration for the site"
                    },
                    "apSyntheticTest": {
                        "$ref": "#/types/junipermist:site/SettingApSyntheticTest:SettingApSyntheticTest",
                        "description": "Synthetic test configuration for APs at the site"
                    },
                    "apUpdownThreshold": {
                        "type": "integer",
                        "description": "Enable threshold-based device down delivery for AP devices only. When configured it takes effect for AP devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                    },
                    "autoUpgrade": {
                        "$ref": "#/types/junipermist:site/SettingAutoUpgrade:SettingAutoUpgrade",
                        "description": "Automatic AP firmware upgrade settings for the site. Overrides org setting when provided."
                    },
                    "autoUpgradeEsl": {
                        "$ref": "#/types/junipermist:site/SettingAutoUpgradeEsl:SettingAutoUpgradeEsl",
                        "description": "Automatic ESL firmware upgrade settings for the site"
                    },
                    "bgpNeighborUpdownThreshold": {
                        "type": "integer",
                        "description": "enable threshold-based bgp neighbor down delivery."
                    },
                    "blacklistUrl": {
                        "type": "string",
                        "description": "Read-only URL for the site blacklist file"
                    },
                    "bleConfig": {
                        "$ref": "#/types/junipermist:site/SettingBleConfig:SettingBleConfig",
                        "description": "Bluetooth Low Energy configuration applied to APs at the site"
                    },
                    "configAutoRevert": {
                        "type": "boolean",
                        "description": "Whether to enable ap auto config revert"
                    },
                    "configPushPolicy": {
                        "$ref": "#/types/junipermist:site/SettingConfigPushPolicy:SettingConfigPushPolicy",
                        "description": "Policy controlling how site configuration pushes are applied"
                    },
                    "criticalUrlMonitoring": {
                        "$ref": "#/types/junipermist:site/SettingCriticalUrlMonitoring:SettingCriticalUrlMonitoring",
                        "description": "Monitoring configuration for critical URLs at the site"
                    },
                    "deviceUpdownThreshold": {
                        "type": "integer",
                        "description": "By default, device_updown_threshold, if set, will apply to all devices types if different values for specific device type is desired, use the following"
                    },
                    "enableUnii4": {
                        "type": "boolean",
                        "description": "Whether UNII-4 channels are enabled for the site"
                    },
                    "engagement": {
                        "$ref": "#/types/junipermist:site/SettingEngagement:SettingEngagement",
                        "description": "Dwell-time analytics rules for the site"
                    },
                    "gatewayMgmt": {
                        "$ref": "#/types/junipermist:site/SettingGatewayMgmt:SettingGatewayMgmt",
                        "description": "Management access settings for gateways at the site"
                    },
                    "gatewayTunnelUpdownThreshold": {
                        "type": "integer",
                        "description": "enable threshold-based gateway tunnel (secure edge tunnels) up-down delivery."
                    },
                    "gatewayUpdownThreshold": {
                        "type": "integer",
                        "description": "Enable threshold-based device down delivery for Gateway devices only. When configured it takes effect for GW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                    },
                    "iotproxy": {
                        "$ref": "#/types/junipermist:site/SettingIotproxy:SettingIotproxy",
                        "description": "Proxy settings for IoT traffic at the site"
                    },
                    "juniperSrx": {
                        "$ref": "#/types/junipermist:site/SettingJuniperSrx:SettingJuniperSrx",
                        "description": "SRX integration settings for the site"
                    },
                    "led": {
                        "$ref": "#/types/junipermist:site/SettingLed:SettingLed",
                        "description": "AP LED behavior configured for the site"
                    },
                    "marvis": {
                        "$ref": "#/types/junipermist:site/SettingMarvis:SettingMarvis",
                        "description": "AI assistant settings for Marvis at the site"
                    },
                    "mxedgeMgmt": {
                        "$ref": "#/types/junipermist:site/SettingMxedgeMgmt:SettingMxedgeMgmt",
                        "description": "Mist Edge management access settings for the site"
                    },
                    "mxtunnel": {
                        "$ref": "#/types/junipermist:site/SettingMxtunnel:SettingMxtunnel",
                        "description": "Site Mist Tunnel configuration"
                    },
                    "occupancy": {
                        "$ref": "#/types/junipermist:site/SettingOccupancy:SettingOccupancy",
                        "description": "Analytics settings for site occupancy"
                    },
                    "persistConfigOnDevice": {
                        "type": "boolean",
                        "description": "Whether to store the config on AP"
                    },
                    "proxy": {
                        "$ref": "#/types/junipermist:site/SettingProxy:SettingProxy",
                        "description": "Network proxy settings for devices at the site"
                    },
                    "removeExistingConfigs": {
                        "type": "boolean",
                        "description": "By default, only the configuration generated by Mist is cleaned up during the configuration process. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, all the existing configuration will be removed."
                    },
                    "reportGatt": {
                        "type": "boolean",
                        "description": "Whether AP should periodically connect to BLE devices and report GATT device info (device name, manufacturer name, serial number, battery %, temperature, humidity)"
                    },
                    "rogue": {
                        "$ref": "#/types/junipermist:site/SettingRogue:SettingRogue",
                        "description": "AP threat detection settings for the site"
                    },
                    "rtsa": {
                        "$ref": "#/types/junipermist:site/SettingRtsa:SettingRtsa",
                        "description": "Managed mobility and asset tracking settings for the site"
                    },
                    "simpleAlert": {
                        "$ref": "#/types/junipermist:site/SettingSimpleAlert:SettingSimpleAlert",
                        "description": "Threshold alert settings for the site"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Identifier of the site these settings apply to"
                    },
                    "skyatp": {
                        "$ref": "#/types/junipermist:site/SettingSkyatp:SettingSkyatp",
                        "description": "Threat intelligence settings from Sky ATP for the site"
                    },
                    "sleThresholds": {
                        "$ref": "#/types/junipermist:site/SettingSleThresholds:SettingSleThresholds",
                        "description": "Service level expectation threshold settings for the site"
                    },
                    "srxApp": {
                        "$ref": "#/types/junipermist:site/SettingSrxApp:SettingSrxApp",
                        "description": "Juniper SRX application visibility settings for the site"
                    },
                    "sshKeys": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Public SSH keys configured for the site"
                    },
                    "ssr": {
                        "$ref": "#/types/junipermist:site/SettingSsr:SettingSsr",
                        "description": "Session Smart Router settings for the site"
                    },
                    "switchUpdownThreshold": {
                        "type": "integer",
                        "description": "Enable threshold-based device down delivery for Switch devices only. When configured it takes effect for SW devices and \u003cspan pulumi-lang-nodejs=\"`deviceUpdownThreshold`\" pulumi-lang-dotnet=\"`DeviceUpdownThreshold`\" pulumi-lang-go=\"`deviceUpdownThreshold`\" pulumi-lang-python=\"`device_updown_threshold`\" pulumi-lang-yaml=\"`deviceUpdownThreshold`\" pulumi-lang-java=\"`deviceUpdownThreshold`\" pulumi-lang-hcl=\"`device_updown_threshold`\"\u003e`deviceUpdownThreshold`\u003c/span\u003e is ignored."
                    },
                    "syntheticTest": {
                        "$ref": "#/types/junipermist:site/SettingSyntheticTest:SettingSyntheticTest",
                        "description": "Active monitoring test configuration for the site"
                    },
                    "trackAnonymousDevices": {
                        "type": "boolean",
                        "description": "Whether to track anonymous BLE assets (requires ‘track_asset’  enabled)"
                    },
                    "tuntermMonitoringDisabled": {
                        "type": "boolean",
                        "description": "Whether tunnel termination monitoring is disabled for the site"
                    },
                    "tuntermMonitorings": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:site/SettingTuntermMonitoring:SettingTuntermMonitoring"
                        },
                        "description": "Tunnel termination monitoring settings for the site"
                    },
                    "tuntermMulticastConfig": {
                        "$ref": "#/types/junipermist:site/SettingTuntermMulticastConfig:SettingTuntermMulticastConfig",
                        "description": "Multicast settings for tunnel termination at the site"
                    },
                    "uplinkPortConfig": {
                        "$ref": "#/types/junipermist:site/SettingUplinkPortConfig:SettingUplinkPortConfig",
                        "description": "AP uplink port configuration for the site"
                    },
                    "vars": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Template variables defined for the site"
                    },
                    "varsAnnotations": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/SettingVarsAnnotations:SettingVarsAnnotations"
                        },
                        "description": "Metadata annotations for site template variables"
                    },
                    "vna": {
                        "$ref": "#/types/junipermist:site/SettingVna:SettingVna",
                        "description": "Virtual Network Assistant settings for the site"
                    },
                    "vpnPathUpdownThreshold": {
                        "type": "integer",
                        "description": "enable threshold-based vpn path down delivery."
                    },
                    "vpnPeerUpdownThreshold": {
                        "type": "integer",
                        "description": "enable threshold-based vpn peer down delivery."
                    },
                    "vsInstance": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/SettingVsInstance:SettingVsInstance"
                        },
                        "description": "EX9200 virtual switch instance definitions for the site"
                    },
                    "wanVna": {
                        "$ref": "#/types/junipermist:site/SettingWanVna:SettingWanVna",
                        "description": "Virtual Network Assistant settings for WAN experiences at the site"
                    },
                    "watchedStationUrl": {
                        "type": "string",
                        "description": "Read-only URL for the watched station list file"
                    },
                    "whitelistUrl": {
                        "type": "string",
                        "description": "Read-only URL for the site whitelist file"
                    },
                    "wids": {
                        "$ref": "#/types/junipermist:site/SettingWids:SettingWids",
                        "description": "Wireless intrusion detection settings for the site"
                    },
                    "wifi": {
                        "$ref": "#/types/junipermist:site/SettingWifi:SettingWifi",
                        "description": "Wireless LAN configuration settings for the site"
                    },
                    "wiredVna": {
                        "$ref": "#/types/junipermist:site/SettingWiredVna:SettingWiredVna",
                        "description": "Virtual Network Assistant settings for wired experiences at the site"
                    },
                    "zoneOccupancyAlert": {
                        "$ref": "#/types/junipermist:site/SettingZoneOccupancyAlert:SettingZoneOccupancyAlert",
                        "description": "Occupancy alert settings for site zones"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/webhook:Webhook": {
            "description": "This resource manages Site Webhooks.\n\nA Site Webhook is a configuration that allows real-time events and data from a specific site to be pushed to a provided url.  \nIt enables the collection of information about various topics such as device events, alarms, audits, client sessions and location updates at the site level.  \nThe Webhook can be set up and customized using the Mist API, allowing users to receive and analyze specific data from a particular site.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst webhookOne = new junipermist.site.Webhook(\"webhook_one\", {\n    siteId: terraformSite.id,\n    name: \"webhook_one\",\n    type: \"http-post\",\n    url: \"https://myserver.com:4321/\",\n    verifyCert: false,\n    enabled: true,\n    topics: [\n        \"device-events\",\n        \"alarms\",\n        \"audits\",\n        \"client-join\",\n        \"client-info\",\n        \"client-sessions\",\n        \"device-updowns\",\n        \"mxedge-events\",\n        \"nac-events\",\n        \"nac-accounting\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwebhook_one = junipermist.site.Webhook(\"webhook_one\",\n    site_id=terraform_site[\"id\"],\n    name=\"webhook_one\",\n    type=\"http-post\",\n    url=\"https://myserver.com:4321/\",\n    verify_cert=False,\n    enabled=True,\n    topics=[\n        \"device-events\",\n        \"alarms\",\n        \"audits\",\n        \"client-join\",\n        \"client-info\",\n        \"client-sessions\",\n        \"device-updowns\",\n        \"mxedge-events\",\n        \"nac-events\",\n        \"nac-accounting\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var webhookOne = new JuniperMist.Site.Webhook(\"webhook_one\", new()\n    {\n        SiteId = terraformSite.Id,\n        Name = \"webhook_one\",\n        Type = \"http-post\",\n        Url = \"https://myserver.com:4321/\",\n        VerifyCert = false,\n        Enabled = true,\n        Topics = new[]\n        {\n            \"device-events\",\n            \"alarms\",\n            \"audits\",\n            \"client-join\",\n            \"client-info\",\n            \"client-sessions\",\n            \"device-updowns\",\n            \"mxedge-events\",\n            \"nac-events\",\n            \"nac-accounting\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewWebhook(ctx, \"webhook_one\", \u0026site.WebhookArgs{\n\t\t\tSiteId:     pulumi.Any(terraformSite.Id),\n\t\t\tName:       pulumi.String(\"webhook_one\"),\n\t\t\tType:       pulumi.String(\"http-post\"),\n\t\t\tUrl:        pulumi.String(\"https://myserver.com:4321/\"),\n\t\t\tVerifyCert: pulumi.Bool(false),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"device-events\"),\n\t\t\t\tpulumi.String(\"alarms\"),\n\t\t\t\tpulumi.String(\"audits\"),\n\t\t\t\tpulumi.String(\"client-join\"),\n\t\t\t\tpulumi.String(\"client-info\"),\n\t\t\t\tpulumi.String(\"client-sessions\"),\n\t\t\t\tpulumi.String(\"device-updowns\"),\n\t\t\t\tpulumi.String(\"mxedge-events\"),\n\t\t\t\tpulumi.String(\"nac-events\"),\n\t\t\t\tpulumi.String(\"nac-accounting\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_webhook\" \"webhook_one\" {\n  site_id     = terraformSite.id\n  name        = \"webhook_one\"\n  type        = \"http-post\"\n  url         = \"https://myserver.com:4321/\"\n  verify_cert = false\n  enabled     = true\n  topics      = [\"device-events\", \"alarms\", \"audits\", \"client-join\", \"client-info\", \"client-sessions\", \"device-updowns\", \"mxedge-events\", \"nac-events\", \"nac-accounting\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.Webhook;\nimport com.pulumi.junipermist.site.WebhookArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var webhookOne = new Webhook(\"webhookOne\", WebhookArgs.builder()\n            .siteId(terraformSite.id())\n            .name(\"webhook_one\")\n            .type(\"http-post\")\n            .url(\"https://myserver.com:4321/\")\n            .verifyCert(false)\n            .enabled(true)\n            .topics(            \n                \"device-events\",\n                \"alarms\",\n                \"audits\",\n                \"client-join\",\n                \"client-info\",\n                \"client-sessions\",\n                \"device-updowns\",\n                \"mxedge-events\",\n                \"nac-events\",\n                \"nac-accounting\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  webhookOne:\n    type: junipermist:site:Webhook\n    name: webhook_one\n    properties:\n      siteId: ${terraformSite.id}\n      name: webhook_one\n      type: http-post\n      url: https://myserver.com:4321/\n      verifyCert: false\n      enabled: true\n      topics:\n        - device-events\n        - alarms\n        - audits\n        - client-join\n        - client-info\n        - client-sessions\n        - device-updowns\n        - mxedge-events\n        - nac-events\n        - nac-accounting\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Webhook`\" pulumi-lang-dotnet=\"`junipermist.site.Webhook`\" pulumi-lang-go=\"`site.Webhook`\" pulumi-lang-python=\"`site.Webhook`\" pulumi-lang-yaml=\"`junipermist.site.Webhook`\" pulumi-lang-java=\"`junipermist.site.Webhook`\" pulumi-lang-hcl=\"`mist_site_webhook`\"\u003e`junipermist.site.Webhook`\u003c/span\u003e with:\nSite Webhook can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" webhookId\n\" pulumi-lang-dotnet=\" WebhookId\n\" pulumi-lang-go=\" webhookId\n\" pulumi-lang-python=\" webhook_id\n\" pulumi-lang-yaml=\" webhookId\n\" pulumi-lang-java=\" webhookId\n\" pulumi-lang-hcl=\" webhook_id\n\"\u003e webhookId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:site/webhook:Webhook webhook_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "assetfilterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Asset filter identifiers used to restrict `asset-raw-rssi` webhook events\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether webhook is enabled\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the webhook\n"
                },
                "oauth2ClientId": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client identifier used to request an access token\n"
                },
                "oauth2ClientSecret": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client secret used to request an access token\n",
                    "secret": true
                },
                "oauth2GrantType": {
                    "type": "string",
                    "description": "OAuth2 grant type used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2Password": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; password used for the OAuth2 token request\n",
                    "secret": true
                },
                "oauth2Scopes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "OAuth2 scopes included in the token request when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2TokenUrl": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e; token endpoint URL used to obtain the OAuth2 access token\n"
                },
                "oauth2Username": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; username used for the OAuth2 token request\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization that owns the webhook"
                },
                "secret": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`\n",
                    "secret": true
                },
                "singleEventPerMessage": {
                    "type": "boolean",
                    "description": "Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, only a single event will be sent per message. this feature is only available on certain topics (see List Webhook Topics)"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site associated with this webhook when it is site-scoped\n"
                },
                "splunkToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e. If\u003cspan pulumi-lang-nodejs=\" splunkToken \" pulumi-lang-dotnet=\" SplunkToken \" pulumi-lang-go=\" splunkToken \" pulumi-lang-python=\" splunk_token \" pulumi-lang-yaml=\" splunkToken \" pulumi-lang-java=\" splunkToken \" pulumi-lang-hcl=\" splunk_token \"\u003e splunkToken \u003c/span\u003eis not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.",
                    "secret": true
                },
                "topics": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alarms`\" pulumi-lang-dotnet=\"`Alarms`\" pulumi-lang-go=\"`alarms`\" pulumi-lang-python=\"`alarms`\" pulumi-lang-yaml=\"`alarms`\" pulumi-lang-java=\"`alarms`\" pulumi-lang-hcl=\"`alarms`\"\u003e`alarms`\u003c/span\u003e, `asset-raw`, `asset-raw-rssi`, \u003cspan pulumi-lang-nodejs=\"`audits`\" pulumi-lang-dotnet=\"`Audits`\" pulumi-lang-go=\"`audits`\" pulumi-lang-python=\"`audits`\" pulumi-lang-yaml=\"`audits`\" pulumi-lang-java=\"`audits`\" pulumi-lang-hcl=\"`audits`\"\u003e`audits`\u003c/span\u003e, `client-info`, `client-join`, `client-latency`, `client-sessions`, `device-events`, `device-updowns`, `discovered-raw-rssi`, `guest-authorizations`, \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\" pulumi-lang-hcl=\"`location`\"\u003e`location`\u003c/span\u003e, `location-asset`, `location-centrak`, `location-client`, `location-sdk`, `location-unclient`, `mxedge-events`, `minis-application`, `minis-reachability`, `nac-accounting`, `nac-events`, `occupancy-alerts`, \u003cspan pulumi-lang-nodejs=\"`rssizone`\" pulumi-lang-dotnet=\"`Rssizone`\" pulumi-lang-go=\"`rssizone`\" pulumi-lang-python=\"`rssizone`\" pulumi-lang-yaml=\"`rssizone`\" pulumi-lang-java=\"`rssizone`\" pulumi-lang-hcl=\"`rssizone`\"\u003e`rssizone`\u003c/span\u003e, `sdkclient-scan-data`, \u003cspan pulumi-lang-nodejs=\"`vbeacon`\" pulumi-lang-dotnet=\"`Vbeacon`\" pulumi-lang-go=\"`vbeacon`\" pulumi-lang-python=\"`vbeacon`\" pulumi-lang-yaml=\"`vbeacon`\" pulumi-lang-java=\"`vbeacon`\" pulumi-lang-hcl=\"`vbeacon`\"\u003e`vbeacon`\u003c/span\u003e, `wifi-conn-raw`, `wifi-unconn-raw`, \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\" pulumi-lang-hcl=\"`zone`\"\u003e`zone`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "Delivery mechanism used by this webhook"
                },
                "url": {
                    "type": "string",
                    "description": "Destination URL that receives webhook deliveries\n"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "When url uses HTTPS, whether to verify the certificate"
                }
            },
            "required": [
                "enabled",
                "name",
                "orgId",
                "siteId",
                "topics",
                "type",
                "url",
                "verifyCert"
            ],
            "inputProperties": {
                "assetfilterIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Asset filter identifiers used to restrict `asset-raw-rssi` webhook events\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether webhook is enabled\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the webhook\n"
                },
                "oauth2ClientId": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client identifier used to request an access token\n"
                },
                "oauth2ClientSecret": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client secret used to request an access token\n",
                    "secret": true
                },
                "oauth2GrantType": {
                    "type": "string",
                    "description": "OAuth2 grant type used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2Password": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; password used for the OAuth2 token request\n",
                    "secret": true
                },
                "oauth2Scopes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "OAuth2 scopes included in the token request when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                },
                "oauth2TokenUrl": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e; token endpoint URL used to obtain the OAuth2 access token\n"
                },
                "oauth2Username": {
                    "type": "string",
                    "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; username used for the OAuth2 token request\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`\n",
                    "secret": true
                },
                "singleEventPerMessage": {
                    "type": "boolean",
                    "description": "Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, only a single event will be sent per message. this feature is only available on certain topics (see List Webhook Topics)"
                },
                "siteId": {
                    "type": "string",
                    "description": "Site associated with this webhook when it is site-scoped\n"
                },
                "splunkToken": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e. If\u003cspan pulumi-lang-nodejs=\" splunkToken \" pulumi-lang-dotnet=\" SplunkToken \" pulumi-lang-go=\" splunkToken \" pulumi-lang-python=\" splunk_token \" pulumi-lang-yaml=\" splunkToken \" pulumi-lang-java=\" splunkToken \" pulumi-lang-hcl=\" splunk_token \"\u003e splunkToken \u003c/span\u003eis not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.",
                    "secret": true
                },
                "topics": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alarms`\" pulumi-lang-dotnet=\"`Alarms`\" pulumi-lang-go=\"`alarms`\" pulumi-lang-python=\"`alarms`\" pulumi-lang-yaml=\"`alarms`\" pulumi-lang-java=\"`alarms`\" pulumi-lang-hcl=\"`alarms`\"\u003e`alarms`\u003c/span\u003e, `asset-raw`, `asset-raw-rssi`, \u003cspan pulumi-lang-nodejs=\"`audits`\" pulumi-lang-dotnet=\"`Audits`\" pulumi-lang-go=\"`audits`\" pulumi-lang-python=\"`audits`\" pulumi-lang-yaml=\"`audits`\" pulumi-lang-java=\"`audits`\" pulumi-lang-hcl=\"`audits`\"\u003e`audits`\u003c/span\u003e, `client-info`, `client-join`, `client-latency`, `client-sessions`, `device-events`, `device-updowns`, `discovered-raw-rssi`, `guest-authorizations`, \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\" pulumi-lang-hcl=\"`location`\"\u003e`location`\u003c/span\u003e, `location-asset`, `location-centrak`, `location-client`, `location-sdk`, `location-unclient`, `mxedge-events`, `minis-application`, `minis-reachability`, `nac-accounting`, `nac-events`, `occupancy-alerts`, \u003cspan pulumi-lang-nodejs=\"`rssizone`\" pulumi-lang-dotnet=\"`Rssizone`\" pulumi-lang-go=\"`rssizone`\" pulumi-lang-python=\"`rssizone`\" pulumi-lang-yaml=\"`rssizone`\" pulumi-lang-java=\"`rssizone`\" pulumi-lang-hcl=\"`rssizone`\"\u003e`rssizone`\u003c/span\u003e, `sdkclient-scan-data`, \u003cspan pulumi-lang-nodejs=\"`vbeacon`\" pulumi-lang-dotnet=\"`Vbeacon`\" pulumi-lang-go=\"`vbeacon`\" pulumi-lang-python=\"`vbeacon`\" pulumi-lang-yaml=\"`vbeacon`\" pulumi-lang-java=\"`vbeacon`\" pulumi-lang-hcl=\"`vbeacon`\"\u003e`vbeacon`\u003c/span\u003e, `wifi-conn-raw`, `wifi-unconn-raw`, \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\" pulumi-lang-hcl=\"`zone`\"\u003e`zone`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "Delivery mechanism used by this webhook"
                },
                "url": {
                    "type": "string",
                    "description": "Destination URL that receives webhook deliveries\n"
                },
                "verifyCert": {
                    "type": "boolean",
                    "description": "When url uses HTTPS, whether to verify the certificate"
                }
            },
            "requiredInputs": [
                "siteId",
                "topics",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Webhook resources.\n",
                "properties": {
                    "assetfilterIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Asset filter identifiers used to restrict `asset-raw-rssi` webhook events\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether webhook is enabled\n"
                    },
                    "headers": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the webhook\n"
                    },
                    "oauth2ClientId": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client identifier used to request an access token\n"
                    },
                    "oauth2ClientSecret": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`clientCredentials`\" pulumi-lang-dotnet=\"`ClientCredentials`\" pulumi-lang-go=\"`clientCredentials`\" pulumi-lang-python=\"`client_credentials`\" pulumi-lang-yaml=\"`clientCredentials`\" pulumi-lang-java=\"`clientCredentials`\" pulumi-lang-hcl=\"`client_credentials`\"\u003e`clientCredentials`\u003c/span\u003e; OAuth2 client secret used to request an access token\n",
                        "secret": true
                    },
                    "oauth2GrantType": {
                        "type": "string",
                        "description": "OAuth2 grant type used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                    },
                    "oauth2Password": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; password used for the OAuth2 token request\n",
                        "secret": true
                    },
                    "oauth2Scopes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "OAuth2 scopes included in the token request when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e\n"
                    },
                    "oauth2TokenUrl": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth2`\" pulumi-lang-dotnet=\"`Oauth2`\" pulumi-lang-go=\"`oauth2`\" pulumi-lang-python=\"`oauth2`\" pulumi-lang-yaml=\"`oauth2`\" pulumi-lang-java=\"`oauth2`\" pulumi-lang-hcl=\"`oauth2`\"\u003e`oauth2`\u003c/span\u003e; token endpoint URL used to obtain the OAuth2 access token\n"
                    },
                    "oauth2Username": {
                        "type": "string",
                        "description": "Required when \u003cspan pulumi-lang-nodejs=\"`oauth2GrantType`\" pulumi-lang-dotnet=\"`Oauth2GrantType`\" pulumi-lang-go=\"`oauth2GrantType`\" pulumi-lang-python=\"`oauth2_grant_type`\" pulumi-lang-yaml=\"`oauth2GrantType`\" pulumi-lang-java=\"`oauth2GrantType`\" pulumi-lang-hcl=\"`oauth2_grant_type`\"\u003e`oauth2GrantType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e; username used for the OAuth2 token request\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization that owns the webhook"
                    },
                    "secret": {
                        "type": "string",
                        "description": "Only if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=`http-post`\n",
                        "secret": true
                    },
                    "singleEventPerMessage": {
                        "type": "boolean",
                        "description": "Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, only a single event will be sent per message. this feature is only available on certain topics (see List Webhook Topics)"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Site associated with this webhook when it is site-scoped\n"
                    },
                    "splunkToken": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`splunk`\" pulumi-lang-dotnet=\"`Splunk`\" pulumi-lang-go=\"`splunk`\" pulumi-lang-python=\"`splunk`\" pulumi-lang-yaml=\"`splunk`\" pulumi-lang-java=\"`splunk`\" pulumi-lang-hcl=\"`splunk`\"\u003e`splunk`\u003c/span\u003e. If\u003cspan pulumi-lang-nodejs=\" splunkToken \" pulumi-lang-dotnet=\" SplunkToken \" pulumi-lang-go=\" splunkToken \" pulumi-lang-python=\" splunk_token \" pulumi-lang-yaml=\" splunkToken \" pulumi-lang-java=\" splunkToken \" pulumi-lang-hcl=\" splunk_token \"\u003e splunkToken \u003c/span\u003eis not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.",
                        "secret": true
                    },
                    "topics": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`alarms`\" pulumi-lang-dotnet=\"`Alarms`\" pulumi-lang-go=\"`alarms`\" pulumi-lang-python=\"`alarms`\" pulumi-lang-yaml=\"`alarms`\" pulumi-lang-java=\"`alarms`\" pulumi-lang-hcl=\"`alarms`\"\u003e`alarms`\u003c/span\u003e, `asset-raw`, `asset-raw-rssi`, \u003cspan pulumi-lang-nodejs=\"`audits`\" pulumi-lang-dotnet=\"`Audits`\" pulumi-lang-go=\"`audits`\" pulumi-lang-python=\"`audits`\" pulumi-lang-yaml=\"`audits`\" pulumi-lang-java=\"`audits`\" pulumi-lang-hcl=\"`audits`\"\u003e`audits`\u003c/span\u003e, `client-info`, `client-join`, `client-latency`, `client-sessions`, `device-events`, `device-updowns`, `discovered-raw-rssi`, `guest-authorizations`, \u003cspan pulumi-lang-nodejs=\"`location`\" pulumi-lang-dotnet=\"`Location`\" pulumi-lang-go=\"`location`\" pulumi-lang-python=\"`location`\" pulumi-lang-yaml=\"`location`\" pulumi-lang-java=\"`location`\" pulumi-lang-hcl=\"`location`\"\u003e`location`\u003c/span\u003e, `location-asset`, `location-centrak`, `location-client`, `location-sdk`, `location-unclient`, `mxedge-events`, `minis-application`, `minis-reachability`, `nac-accounting`, `nac-events`, `occupancy-alerts`, \u003cspan pulumi-lang-nodejs=\"`rssizone`\" pulumi-lang-dotnet=\"`Rssizone`\" pulumi-lang-go=\"`rssizone`\" pulumi-lang-python=\"`rssizone`\" pulumi-lang-yaml=\"`rssizone`\" pulumi-lang-java=\"`rssizone`\" pulumi-lang-hcl=\"`rssizone`\"\u003e`rssizone`\u003c/span\u003e, `sdkclient-scan-data`, \u003cspan pulumi-lang-nodejs=\"`vbeacon`\" pulumi-lang-dotnet=\"`Vbeacon`\" pulumi-lang-go=\"`vbeacon`\" pulumi-lang-python=\"`vbeacon`\" pulumi-lang-yaml=\"`vbeacon`\" pulumi-lang-java=\"`vbeacon`\" pulumi-lang-hcl=\"`vbeacon`\"\u003e`vbeacon`\u003c/span\u003e, `wifi-conn-raw`, `wifi-unconn-raw`, \u003cspan pulumi-lang-nodejs=\"`zone`\" pulumi-lang-dotnet=\"`Zone`\" pulumi-lang-go=\"`zone`\" pulumi-lang-python=\"`zone`\" pulumi-lang-yaml=\"`zone`\" pulumi-lang-java=\"`zone`\" pulumi-lang-hcl=\"`zone`\"\u003e`zone`\u003c/span\u003e\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "Delivery mechanism used by this webhook"
                    },
                    "url": {
                        "type": "string",
                        "description": "Destination URL that receives webhook deliveries\n"
                    },
                    "verifyCert": {
                        "type": "boolean",
                        "description": "When url uses HTTPS, whether to verify the certificate"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/wlan:Wlan": {
            "description": "This resource manages the Site Wlans.\nThe WLAN object contains all the required configuration to broadcast an SSID (Authentication, VLAN, ...)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wlanOne = new junipermist.site.Wlan(\"wlan_one\", {\n    ssid: \"wlan_one\",\n    siteId: terraformTest.id,\n    bands: [\n        \"5\",\n        \"6\",\n    ],\n    vlanEnabled: true,\n    vlanId: \"143\",\n    wlanLimitUp: \"10000\",\n    wlanLimitDown: \"20000\",\n    clientLimitUp: \"512\",\n    clientLimitDown: \"1000\",\n    auth: {\n        type: \"psk\",\n        psk: \"secretpsk\",\n    },\n    \"interface\": \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwlan_one = junipermist.site.Wlan(\"wlan_one\",\n    ssid=\"wlan_one\",\n    site_id=terraform_test[\"id\"],\n    bands=[\n        \"5\",\n        \"6\",\n    ],\n    vlan_enabled=True,\n    vlan_id=\"143\",\n    wlan_limit_up=\"10000\",\n    wlan_limit_down=\"20000\",\n    client_limit_up=\"512\",\n    client_limit_down=\"1000\",\n    auth={\n        \"type\": \"psk\",\n        \"psk\": \"secretpsk\",\n    },\n    interface=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wlanOne = new JuniperMist.Site.Wlan(\"wlan_one\", new()\n    {\n        Ssid = \"wlan_one\",\n        SiteId = terraformTest.Id,\n        Bands = new[]\n        {\n            \"5\",\n            \"6\",\n        },\n        VlanEnabled = true,\n        VlanId = \"143\",\n        WlanLimitUp = \"10000\",\n        WlanLimitDown = \"20000\",\n        ClientLimitUp = \"512\",\n        ClientLimitDown = \"1000\",\n        Auth = new JuniperMist.Site.Inputs.WlanAuthArgs\n        {\n            Type = \"psk\",\n            Psk = \"secretpsk\",\n        },\n        Interface = \"all\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewWlan(ctx, \"wlan_one\", \u0026site.WlanArgs{\n\t\t\tSsid:   pulumi.String(\"wlan_one\"),\n\t\t\tSiteId: pulumi.Any(terraformTest.Id),\n\t\t\tBands: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"5\"),\n\t\t\t\tpulumi.String(\"6\"),\n\t\t\t},\n\t\t\tVlanEnabled:     pulumi.Bool(true),\n\t\t\tVlanId:          pulumi.String(\"143\"),\n\t\t\tWlanLimitUp:     pulumi.String(\"10000\"),\n\t\t\tWlanLimitDown:   pulumi.String(\"20000\"),\n\t\t\tClientLimitUp:   pulumi.String(\"512\"),\n\t\t\tClientLimitDown: pulumi.String(\"1000\"),\n\t\t\tAuth: \u0026site.WlanAuthArgs{\n\t\t\t\tType: pulumi.String(\"psk\"),\n\t\t\t\tPsk:  pulumi.String(\"secretpsk\"),\n\t\t\t},\n\t\t\tInterface: pulumi.String(\"all\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_wlan\" \"wlan_one\" {\n  ssid              = \"wlan_one\"\n  site_id           = terraformTest.id\n  bands             = [\"5\", \"6\"]\n  vlan_enabled      = true\n  vlan_id           = 143\n  wlan_limit_up     = 10000\n  wlan_limit_down   = 20000\n  client_limit_up   = 512\n  client_limit_down = 1000\n  auth = {\n    type = \"psk\"\n    psk  = \"secretpsk\"\n  }\n  interface = \"all\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.Wlan;\nimport com.pulumi.junipermist.site.WlanArgs;\nimport com.pulumi.junipermist.site.inputs.WlanAuthArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wlanOne = new Wlan(\"wlanOne\", WlanArgs.builder()\n            .ssid(\"wlan_one\")\n            .siteId(terraformTest.id())\n            .bands(            \n                \"5\",\n                \"6\")\n            .vlanEnabled(true)\n            .vlanId(\"143\")\n            .wlanLimitUp(\"10000\")\n            .wlanLimitDown(\"20000\")\n            .clientLimitUp(\"512\")\n            .clientLimitDown(\"1000\")\n            .auth(WlanAuthArgs.builder()\n                .type(\"psk\")\n                .psk(\"secretpsk\")\n                .build())\n            .interface_(\"all\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wlanOne:\n    type: junipermist:site:Wlan\n    name: wlan_one\n    properties:\n      ssid: wlan_one\n      siteId: ${terraformTest.id}\n      bands:\n        - '5'\n        - '6'\n      vlanEnabled: true\n      vlanId: 143\n      wlanLimitUp: 10000\n      wlanLimitDown: 20000\n      clientLimitUp: 512\n      clientLimitDown: 1000\n      auth:\n        type: psk\n        psk: secretpsk\n      interface: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Wlan`\" pulumi-lang-dotnet=\"`junipermist.site.Wlan`\" pulumi-lang-go=\"`site.Wlan`\" pulumi-lang-python=\"`site.Wlan`\" pulumi-lang-yaml=\"`junipermist.site.Wlan`\" pulumi-lang-java=\"`junipermist.site.Wlan`\" pulumi-lang-hcl=\"`mist_site_wlan`\"\u003e`junipermist.site.Wlan`\u003c/span\u003e with:\nSite WLAN can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" wlanId\n\" pulumi-lang-dotnet=\" WlanId\n\" pulumi-lang-go=\" wlanId\n\" pulumi-lang-python=\" wlan_id\n\" pulumi-lang-yaml=\" wlanId\n\" pulumi-lang-java=\" wlanId\n\" pulumi-lang-hcl=\" wlan_id\n\"\u003e wlanId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:site/wlan:Wlan wlan_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "acctImmediateUpdate": {
                    "type": "boolean",
                    "description": "Enable coa-immediate-update and address-change-immediate-update on the access profile."
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WlanAcctServer:WlanAcctServer"
                    },
                    "description": "RADIUS accounting servers used by this WLAN"
                },
                "airwatch": {
                    "$ref": "#/types/junipermist:site/WlanAirwatch:WlanAirwatch",
                    "description": "Integration settings for AirWatch device compliance on this WLAN"
                },
                "allowIpv6Ndp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows or disallows ipv6 Neighbor Discovery packets to go through"
                },
                "allowMdns": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows mDNS / Bonjour packets to go through"
                },
                "allowSsdp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows SSDP"
                },
                "apIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Access point identifiers used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`aps`\" pulumi-lang-dotnet=\"`Aps`\" pulumi-lang-go=\"`aps`\" pulumi-lang-python=\"`aps`\" pulumi-lang-yaml=\"`aps`\" pulumi-lang-java=\"`aps`\" pulumi-lang-hcl=\"`aps`\"\u003e`aps`\u003c/span\u003e"
                },
                "appLimit": {
                    "$ref": "#/types/junipermist:site/WlanAppLimit:WlanAppLimit",
                    "description": "Bandwidth limits for applications on this WLAN"
                },
                "appQos": {
                    "$ref": "#/types/junipermist:site/WlanAppQos:WlanAppQos",
                    "description": "QoS rules for application traffic on this WLAN"
                },
                "applyTo": {
                    "type": "string",
                    "description": "Scope that determines where this WLAN is applied"
                },
                "arpFilter": {
                    "type": "boolean",
                    "description": "Whether to enable smart arp filter"
                },
                "auth": {
                    "$ref": "#/types/junipermist:site/WlanAuth:WlanAuth",
                    "description": "Settings that control client authentication for this WLAN"
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "RADIUS authentication server selection behavior for this WLAN"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WlanAuthServer:WlanAuthServer"
                    },
                    "description": "RADIUS authentication servers used by this WLAN. Required when `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e"
                },
                "authServersNasId": {
                    "type": "string",
                    "description": "Optional, up to 48 bytes, will be dynamically generated if not provided. used only for authentication servers"
                },
                "authServersNasIp": {
                    "type": "string",
                    "description": "Optional, NAS-IP-ADDRESS to use"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘retries’ are set to value of auth_servers_retries. ‘max-requests’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersRetries \" pulumi-lang-dotnet=\" AuthServersRetries \" pulumi-lang-go=\" authServersRetries \" pulumi-lang-python=\" auth_servers_retries \" pulumi-lang-yaml=\" authServersRetries \" pulumi-lang-java=\" authServersRetries \" pulumi-lang-hcl=\" auth_servers_retries \"\u003e authServersRetries \u003c/span\u003eand is set to default value to 3."
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘quite-period’  and ‘transmit-period’ are set to half the value of auth_servers_timeout. ‘supplicant-timeout’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersTimeout \" pulumi-lang-dotnet=\" AuthServersTimeout \" pulumi-lang-go=\" authServersTimeout \" pulumi-lang-python=\" auth_servers_timeout \" pulumi-lang-yaml=\" authServersTimeout \" pulumi-lang-java=\" authServersTimeout \" pulumi-lang-hcl=\" auth_servers_timeout \"\u003e authServersTimeout \u003c/span\u003eand is set to default value of 10."
                },
                "bandSteer": {
                    "type": "boolean",
                    "description": "Whether to enable band_steering, this works only when band==both"
                },
                "bandSteerForceBand5": {
                    "type": "boolean",
                    "description": "Force\u003cspan pulumi-lang-nodejs=\" dualBand \" pulumi-lang-dotnet=\" DualBand \" pulumi-lang-go=\" dualBand \" pulumi-lang-python=\" dual_band \" pulumi-lang-yaml=\" dualBand \" pulumi-lang-java=\" dualBand \" pulumi-lang-hcl=\" dual_band \"\u003e dualBand \u003c/span\u003ecapable client to connect to 5G"
                },
                "bands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "list of radios that the wlan should apply to. enum: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\" pulumi-lang-hcl=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e"
                },
                "blockBlacklistClients": {
                    "type": "boolean",
                    "description": "Whether to block the clients in the blacklist (up to first 256 macs)"
                },
                "bonjour": {
                    "$ref": "#/types/junipermist:site/WlanBonjour:WlanBonjour",
                    "description": "Service discovery gateway settings for Bonjour traffic on this WLAN"
                },
                "ciscoCwa": {
                    "$ref": "#/types/junipermist:site/WlanCiscoCwa:WlanCiscoCwa",
                    "description": "Central web authentication settings for Cisco CWA on this WLAN"
                },
                "clientLimitDown": {
                    "type": "string",
                    "description": "Downlink bandwidth limit applied per client"
                },
                "clientLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting per-client is enabled"
                },
                "clientLimitUp": {
                    "type": "string",
                    "description": "Uplink bandwidth limit applied per client"
                },
                "clientLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting per-client is enabled"
                },
                "coaServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WlanCoaServer:WlanCoaServer"
                    },
                    "description": "RADIUS Change of Authorization servers available to this WLAN"
                },
                "disable11ax": {
                    "type": "boolean",
                    "description": "Some old WLAN drivers may not be compatible"
                },
                "disable11be": {
                    "type": "boolean",
                    "description": "To disable Wi-Fi 7 EHT IEs"
                },
                "disableHtVhtRates": {
                    "type": "boolean",
                    "description": "To disable ht or vht rates"
                },
                "disableMessageAuthenticatorCheck": {
                    "type": "boolean",
                    "description": "whether to disable Message-Authenticator Check, which is used to verify the integrity of RADIUS messages, default is false (i.e. for better security)"
                },
                "disableUapsd": {
                    "type": "boolean",
                    "description": "Whether to disable U-APSD"
                },
                "disableV1RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages"
                },
                "disableV2RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages"
                },
                "disableWhenGatewayUnreachable": {
                    "type": "boolean",
                    "description": "When any of the following is true, this WLAN will be disabled\n   * cannot get IP\n   * cannot obtain default gateway\n   * cannot reach default gateway"
                },
                "disableWhenMxtunnelDown": {
                    "type": "boolean",
                    "description": "Whether to disable this WLAN when the configured Mist tunnel is down"
                },
                "disableWmm": {
                    "type": "boolean",
                    "description": "Whether to disable WMM"
                },
                "dnsServerRewrite": {
                    "$ref": "#/types/junipermist:site/WlanDnsServerRewrite:WlanDnsServerRewrite",
                    "description": "RADIUS group based DNS server rewrite settings for this WLAN"
                },
                "dtim": {
                    "type": "integer",
                    "description": "Delivery Traffic Indication Message interval for this WLAN"
                },
                "dynamicPsk": {
                    "$ref": "#/types/junipermist:site/WlanDynamicPsk:WlanDynamicPsk",
                    "description": "Per-user PSK selection settings for this WLAN"
                },
                "dynamicVlan": {
                    "$ref": "#/types/junipermist:site/WlanDynamicVlan:WlanDynamicVlan",
                    "description": "VLAN assignment settings for 802.1X dynamic VLANs"
                },
                "enableFtm": {
                    "type": "boolean",
                    "description": "Enable FTM (Fine-Time Measurement, 802.11mc); configures the AP as an FTM Responder (target), allowing clients to perform ranging requests against it"
                },
                "enableLocalKeycaching": {
                    "type": "boolean",
                    "description": "Enable AP-AP keycaching via multicast"
                },
                "enableWirelessBridging": {
                    "type": "boolean",
                    "description": "By default, we'd inspect all DHCP packets and drop those unrelated to the wireless client itself in the case where client is a wireless bridge (DHCP packets for other MACs will need to be forwarded),\u003cspan pulumi-lang-nodejs=\" wirelessBridging \" pulumi-lang-dotnet=\" WirelessBridging \" pulumi-lang-go=\" wirelessBridging \" pulumi-lang-python=\" wireless_bridging \" pulumi-lang-yaml=\" wirelessBridging \" pulumi-lang-java=\" wirelessBridging \" pulumi-lang-hcl=\" wireless_bridging \"\u003e wirelessBridging \u003c/span\u003ecan be enabled"
                },
                "enableWirelessBridgingDhcpTracking": {
                    "type": "boolean",
                    "description": "If the client bridge is doing DHCP on behalf of other devices (L2-NAT), enable\u003cspan pulumi-lang-nodejs=\" dhcpTracking \" pulumi-lang-dotnet=\" DhcpTracking \" pulumi-lang-go=\" dhcpTracking \" pulumi-lang-python=\" dhcp_tracking \" pulumi-lang-yaml=\" dhcpTracking \" pulumi-lang-java=\" dhcpTracking \" pulumi-lang-hcl=\" dhcp_tracking \"\u003e dhcpTracking \u003c/span\u003ewill cut down DHCP response packets to be forwarded to wireless"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If this wlan is enabled"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from ‘auth_servers_timeout’ and ‘auth_server_retries’ ."
                },
                "hideSsid": {
                    "type": "boolean",
                    "description": "Whether to hide SSID in beacon"
                },
                "hostnameIe": {
                    "type": "boolean",
                    "description": "Include hostname inside IE in AP beacons / probe responses"
                },
                "hotspot20": {
                    "$ref": "#/types/junipermist:site/WlanHotspot20:WlanHotspot20",
                    "description": "Passpoint and Hotspot 2.0 settings for this WLAN"
                },
                "injectDhcpOption82": {
                    "$ref": "#/types/junipermist:site/WlanInjectDhcpOption82:WlanInjectDhcpOption82",
                    "description": "DHCP Option 82 insertion settings for this WLAN"
                },
                "interface": {
                    "type": "string",
                    "description": "Network interface or tunnel where this WLAN bridges client traffic"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to stop clients to talk to each other"
                },
                "l2Isolation": {
                    "type": "boolean",
                    "description": "If isolation is enabled, whether to deny clients to talk to L2 on the LAN"
                },
                "legacyOverds": {
                    "type": "boolean",
                    "description": "Legacy devices requires the Over-DS (for Fast BSS Transition) bit set (while our chip doesn’t support it). Warning! Enabling this will cause problem for iOS devices."
                },
                "limitBcast": {
                    "type": "boolean",
                    "description": "Whether to limit broadcast packets going to wireless (i.e. only allow certain bcast packets to go through)"
                },
                "limitProbeResponse": {
                    "type": "boolean",
                    "description": "Limit probe response base on some heuristic rules"
                },
                "maxIdletime": {
                    "type": "integer",
                    "description": "Max idle time in seconds"
                },
                "maxNumClients": {
                    "type": "integer",
                    "description": "Maximum number of client connected to the SSID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means unlimited"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:site/WlanMistNac:WlanMistNac",
                    "description": "Juniper Mist NAC settings used by this WLAN"
                },
                "mspId": {
                    "type": "string",
                    "description": "Managed service provider identifier associated with this WLAN"
                },
                "mxtunnelIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Tunnel identifiers used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e"
                },
                "mxtunnelNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Tunnel names used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e"
                },
                "noStaticDns": {
                    "type": "boolean",
                    "description": "Whether to only allow client to use DNS that we’ve learned from DHCP response"
                },
                "noStaticIp": {
                    "type": "boolean",
                    "description": "Whether to only allow client that we’ve learned from DHCP exchange to talk"
                },
                "orgId": {
                    "type": "string",
                    "description": "Owning organization associated with this WLAN"
                },
                "portal": {
                    "$ref": "#/types/junipermist:site/WlanPortal:WlanPortal",
                    "description": "Guest portal settings for this WLAN"
                },
                "portalAllowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal hostnames that clients may reach before authorization"
                },
                "portalAllowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal CIDR subnets that clients may reach before authorization"
                },
                "portalApiSecret": {
                    "type": "string",
                    "description": "API secret (auto-generated) that can be used to sign guest authorization requests, only generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e"
                },
                "portalDeniedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal hostnames denied before authorization, taking precedence over allowed hostnames"
                },
                "portalImage": {
                    "type": "string",
                    "description": "Url of portal background image"
                },
                "portalSsoUrl": {
                    "type": "string",
                    "description": "URL used in the SSO process, auto-generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e"
                },
                "qos": {
                    "$ref": "#/types/junipermist:site/WlanQos:WlanQos",
                    "description": "Quality-of-service settings for WLAN client traffic"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:site/WlanRadsec:WlanRadsec",
                    "description": "TLS-secured RADIUS transport settings for this WLAN"
                },
                "rateset": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/WlanRateset:WlanRateset"
                    },
                    "description": "Data rate settings by RF band for this WLAN"
                },
                "reconnectClientsWhenRoamingMxcluster": {
                    "type": "boolean",
                    "description": "When different mxcluster is on different subnet, we'd want to disconnect clients (so they'll reconnect and get new IPs)"
                },
                "roamMode": {
                    "type": "string",
                    "description": "Fast roaming mode configured for this WLAN"
                },
                "schedule": {
                    "$ref": "#/types/junipermist:site/WlanSchedule:WlanSchedule",
                    "description": "Operating schedule controlling when this WLAN is active"
                },
                "siteId": {
                    "type": "string",
                    "description": "Mist site associated with this WLAN, when site-scoped"
                },
                "sleExcluded": {
                    "type": "boolean",
                    "description": "Whether to exclude this WLAN from SLE metrics"
                },
                "ssid": {
                    "type": "string",
                    "description": "Name of the SSID"
                },
                "useEapolV1": {
                    "type": "boolean",
                    "description": "If `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e or `auth.type`==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, should only be set for legacy client, such as pre-2004, 802.11b devices"
                },
                "vlanEnabled": {
                    "type": "boolean",
                    "description": "If vlan tagging is enabled"
                },
                "vlanId": {
                    "type": "string",
                    "description": "Default VLAN ID, range, or variable used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pool of VLAN IDs used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vlanPooling`\" pulumi-lang-dotnet=\"`VlanPooling`\" pulumi-lang-go=\"`vlanPooling`\" pulumi-lang-python=\"`vlan_pooling`\" pulumi-lang-yaml=\"`vlanPooling`\" pulumi-lang-java=\"`vlanPooling`\" pulumi-lang-hcl=\"`vlan_pooling`\"\u003e`vlanPooling`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                },
                "vlanPooling": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Vlan pooling allows AP to place client on different VLAN using a deterministic algorithm"
                },
                "wlanLimitDown": {
                    "type": "string",
                    "description": "Downlink bandwidth limit applied to the whole WLAN"
                },
                "wlanLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting for whole wlan is enabled"
                },
                "wlanLimitUp": {
                    "type": "string",
                    "description": "Uplink bandwidth limit applied to the whole WLAN"
                },
                "wlanLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting for whole wlan is enabled"
                },
                "wxtagIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Identifiers of WxLAN tags used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtags`\" pulumi-lang-dotnet=\"`Wxtags`\" pulumi-lang-go=\"`wxtags`\" pulumi-lang-python=\"`wxtags`\" pulumi-lang-yaml=\"`wxtags`\" pulumi-lang-java=\"`wxtags`\" pulumi-lang-hcl=\"`wxtags`\"\u003e`wxtags`\u003c/span\u003e"
                },
                "wxtunnelId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, id of the WXLAN Tunnel"
                },
                "wxtunnelRemoteId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, remote tunnel identifier"
                }
            },
            "required": [
                "acctImmediateUpdate",
                "acctInterimInterval",
                "acctServers",
                "airwatch",
                "allowIpv6Ndp",
                "allowMdns",
                "allowSsdp",
                "apIds",
                "appQos",
                "applyTo",
                "arpFilter",
                "authServerSelection",
                "authServers",
                "authServersNasId",
                "authServersNasIp",
                "bandSteer",
                "ciscoCwa",
                "clientLimitDown",
                "clientLimitUp",
                "disable11ax",
                "disableUapsd",
                "disableWmm",
                "dtim",
                "enableFtm",
                "enabled",
                "hideSsid",
                "hostnameIe",
                "interface",
                "limitBcast",
                "limitProbeResponse",
                "maxIdletime",
                "mistNac",
                "mspId",
                "mxtunnelIds",
                "mxtunnelNames",
                "noStaticDns",
                "noStaticIp",
                "orgId",
                "portal",
                "portalAllowedHostnames",
                "portalAllowedSubnets",
                "portalApiSecret",
                "portalDeniedHostnames",
                "portalImage",
                "portalSsoUrl",
                "qos",
                "radsec",
                "rateset",
                "schedule",
                "siteId",
                "ssid",
                "useEapolV1",
                "vlanEnabled",
                "vlanIds",
                "vlanPooling",
                "wlanLimitDown",
                "wlanLimitUp",
                "wxtagIds",
                "wxtunnelId",
                "wxtunnelRemoteId"
            ],
            "inputProperties": {
                "acctImmediateUpdate": {
                    "type": "boolean",
                    "description": "Enable coa-immediate-update and address-change-immediate-update on the access profile."
                },
                "acctInterimInterval": {
                    "type": "integer",
                    "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled"
                },
                "acctServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WlanAcctServer:WlanAcctServer"
                    },
                    "description": "RADIUS accounting servers used by this WLAN"
                },
                "airwatch": {
                    "$ref": "#/types/junipermist:site/WlanAirwatch:WlanAirwatch",
                    "description": "Integration settings for AirWatch device compliance on this WLAN"
                },
                "allowIpv6Ndp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows or disallows ipv6 Neighbor Discovery packets to go through"
                },
                "allowMdns": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows mDNS / Bonjour packets to go through"
                },
                "allowSsdp": {
                    "type": "boolean",
                    "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows SSDP"
                },
                "apIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Access point identifiers used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`aps`\" pulumi-lang-dotnet=\"`Aps`\" pulumi-lang-go=\"`aps`\" pulumi-lang-python=\"`aps`\" pulumi-lang-yaml=\"`aps`\" pulumi-lang-java=\"`aps`\" pulumi-lang-hcl=\"`aps`\"\u003e`aps`\u003c/span\u003e"
                },
                "appLimit": {
                    "$ref": "#/types/junipermist:site/WlanAppLimit:WlanAppLimit",
                    "description": "Bandwidth limits for applications on this WLAN"
                },
                "appQos": {
                    "$ref": "#/types/junipermist:site/WlanAppQos:WlanAppQos",
                    "description": "QoS rules for application traffic on this WLAN"
                },
                "applyTo": {
                    "type": "string",
                    "description": "Scope that determines where this WLAN is applied"
                },
                "arpFilter": {
                    "type": "boolean",
                    "description": "Whether to enable smart arp filter"
                },
                "auth": {
                    "$ref": "#/types/junipermist:site/WlanAuth:WlanAuth",
                    "description": "Settings that control client authentication for this WLAN"
                },
                "authServerSelection": {
                    "type": "string",
                    "description": "RADIUS authentication server selection behavior for this WLAN"
                },
                "authServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WlanAuthServer:WlanAuthServer"
                    },
                    "description": "RADIUS authentication servers used by this WLAN. Required when `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e"
                },
                "authServersNasId": {
                    "type": "string",
                    "description": "Optional, up to 48 bytes, will be dynamically generated if not provided. used only for authentication servers"
                },
                "authServersNasIp": {
                    "type": "string",
                    "description": "Optional, NAS-IP-ADDRESS to use"
                },
                "authServersRetries": {
                    "type": "integer",
                    "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘retries’ are set to value of auth_servers_retries. ‘max-requests’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersRetries \" pulumi-lang-dotnet=\" AuthServersRetries \" pulumi-lang-go=\" authServersRetries \" pulumi-lang-python=\" auth_servers_retries \" pulumi-lang-yaml=\" authServersRetries \" pulumi-lang-java=\" authServersRetries \" pulumi-lang-hcl=\" auth_servers_retries \"\u003e authServersRetries \u003c/span\u003eand is set to default value to 3."
                },
                "authServersTimeout": {
                    "type": "integer",
                    "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘quite-period’  and ‘transmit-period’ are set to half the value of auth_servers_timeout. ‘supplicant-timeout’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersTimeout \" pulumi-lang-dotnet=\" AuthServersTimeout \" pulumi-lang-go=\" authServersTimeout \" pulumi-lang-python=\" auth_servers_timeout \" pulumi-lang-yaml=\" authServersTimeout \" pulumi-lang-java=\" authServersTimeout \" pulumi-lang-hcl=\" auth_servers_timeout \"\u003e authServersTimeout \u003c/span\u003eand is set to default value of 10."
                },
                "bandSteer": {
                    "type": "boolean",
                    "description": "Whether to enable band_steering, this works only when band==both"
                },
                "bandSteerForceBand5": {
                    "type": "boolean",
                    "description": "Force\u003cspan pulumi-lang-nodejs=\" dualBand \" pulumi-lang-dotnet=\" DualBand \" pulumi-lang-go=\" dualBand \" pulumi-lang-python=\" dual_band \" pulumi-lang-yaml=\" dualBand \" pulumi-lang-java=\" dualBand \" pulumi-lang-hcl=\" dual_band \"\u003e dualBand \u003c/span\u003ecapable client to connect to 5G"
                },
                "bands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "list of radios that the wlan should apply to. enum: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\" pulumi-lang-hcl=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e"
                },
                "blockBlacklistClients": {
                    "type": "boolean",
                    "description": "Whether to block the clients in the blacklist (up to first 256 macs)"
                },
                "bonjour": {
                    "$ref": "#/types/junipermist:site/WlanBonjour:WlanBonjour",
                    "description": "Service discovery gateway settings for Bonjour traffic on this WLAN"
                },
                "ciscoCwa": {
                    "$ref": "#/types/junipermist:site/WlanCiscoCwa:WlanCiscoCwa",
                    "description": "Central web authentication settings for Cisco CWA on this WLAN"
                },
                "clientLimitDown": {
                    "type": "string",
                    "description": "Downlink bandwidth limit applied per client"
                },
                "clientLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting per-client is enabled"
                },
                "clientLimitUp": {
                    "type": "string",
                    "description": "Uplink bandwidth limit applied per client"
                },
                "clientLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting per-client is enabled"
                },
                "coaServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WlanCoaServer:WlanCoaServer"
                    },
                    "description": "RADIUS Change of Authorization servers available to this WLAN"
                },
                "disable11ax": {
                    "type": "boolean",
                    "description": "Some old WLAN drivers may not be compatible"
                },
                "disable11be": {
                    "type": "boolean",
                    "description": "To disable Wi-Fi 7 EHT IEs"
                },
                "disableHtVhtRates": {
                    "type": "boolean",
                    "description": "To disable ht or vht rates"
                },
                "disableMessageAuthenticatorCheck": {
                    "type": "boolean",
                    "description": "whether to disable Message-Authenticator Check, which is used to verify the integrity of RADIUS messages, default is false (i.e. for better security)"
                },
                "disableUapsd": {
                    "type": "boolean",
                    "description": "Whether to disable U-APSD"
                },
                "disableV1RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages"
                },
                "disableV2RoamNotify": {
                    "type": "boolean",
                    "description": "Disable sending v2 roam notification messages"
                },
                "disableWhenGatewayUnreachable": {
                    "type": "boolean",
                    "description": "When any of the following is true, this WLAN will be disabled\n   * cannot get IP\n   * cannot obtain default gateway\n   * cannot reach default gateway"
                },
                "disableWhenMxtunnelDown": {
                    "type": "boolean",
                    "description": "Whether to disable this WLAN when the configured Mist tunnel is down"
                },
                "disableWmm": {
                    "type": "boolean",
                    "description": "Whether to disable WMM"
                },
                "dnsServerRewrite": {
                    "$ref": "#/types/junipermist:site/WlanDnsServerRewrite:WlanDnsServerRewrite",
                    "description": "RADIUS group based DNS server rewrite settings for this WLAN"
                },
                "dtim": {
                    "type": "integer",
                    "description": "Delivery Traffic Indication Message interval for this WLAN"
                },
                "dynamicPsk": {
                    "$ref": "#/types/junipermist:site/WlanDynamicPsk:WlanDynamicPsk",
                    "description": "Per-user PSK selection settings for this WLAN"
                },
                "dynamicVlan": {
                    "$ref": "#/types/junipermist:site/WlanDynamicVlan:WlanDynamicVlan",
                    "description": "VLAN assignment settings for 802.1X dynamic VLANs"
                },
                "enableFtm": {
                    "type": "boolean",
                    "description": "Enable FTM (Fine-Time Measurement, 802.11mc); configures the AP as an FTM Responder (target), allowing clients to perform ranging requests against it"
                },
                "enableLocalKeycaching": {
                    "type": "boolean",
                    "description": "Enable AP-AP keycaching via multicast"
                },
                "enableWirelessBridging": {
                    "type": "boolean",
                    "description": "By default, we'd inspect all DHCP packets and drop those unrelated to the wireless client itself in the case where client is a wireless bridge (DHCP packets for other MACs will need to be forwarded),\u003cspan pulumi-lang-nodejs=\" wirelessBridging \" pulumi-lang-dotnet=\" WirelessBridging \" pulumi-lang-go=\" wirelessBridging \" pulumi-lang-python=\" wireless_bridging \" pulumi-lang-yaml=\" wirelessBridging \" pulumi-lang-java=\" wirelessBridging \" pulumi-lang-hcl=\" wireless_bridging \"\u003e wirelessBridging \u003c/span\u003ecan be enabled"
                },
                "enableWirelessBridgingDhcpTracking": {
                    "type": "boolean",
                    "description": "If the client bridge is doing DHCP on behalf of other devices (L2-NAT), enable\u003cspan pulumi-lang-nodejs=\" dhcpTracking \" pulumi-lang-dotnet=\" DhcpTracking \" pulumi-lang-go=\" dhcpTracking \" pulumi-lang-python=\" dhcp_tracking \" pulumi-lang-yaml=\" dhcpTracking \" pulumi-lang-java=\" dhcpTracking \" pulumi-lang-hcl=\" dhcp_tracking \"\u003e dhcpTracking \u003c/span\u003ewill cut down DHCP response packets to be forwarded to wireless"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If this wlan is enabled"
                },
                "fastDot1xTimers": {
                    "type": "boolean",
                    "description": "If set to true, sets default fast-timers with values calculated from ‘auth_servers_timeout’ and ‘auth_server_retries’ ."
                },
                "hideSsid": {
                    "type": "boolean",
                    "description": "Whether to hide SSID in beacon"
                },
                "hostnameIe": {
                    "type": "boolean",
                    "description": "Include hostname inside IE in AP beacons / probe responses"
                },
                "hotspot20": {
                    "$ref": "#/types/junipermist:site/WlanHotspot20:WlanHotspot20",
                    "description": "Passpoint and Hotspot 2.0 settings for this WLAN"
                },
                "injectDhcpOption82": {
                    "$ref": "#/types/junipermist:site/WlanInjectDhcpOption82:WlanInjectDhcpOption82",
                    "description": "DHCP Option 82 insertion settings for this WLAN"
                },
                "interface": {
                    "type": "string",
                    "description": "Network interface or tunnel where this WLAN bridges client traffic"
                },
                "isolation": {
                    "type": "boolean",
                    "description": "Whether to stop clients to talk to each other"
                },
                "l2Isolation": {
                    "type": "boolean",
                    "description": "If isolation is enabled, whether to deny clients to talk to L2 on the LAN"
                },
                "legacyOverds": {
                    "type": "boolean",
                    "description": "Legacy devices requires the Over-DS (for Fast BSS Transition) bit set (while our chip doesn’t support it). Warning! Enabling this will cause problem for iOS devices."
                },
                "limitBcast": {
                    "type": "boolean",
                    "description": "Whether to limit broadcast packets going to wireless (i.e. only allow certain bcast packets to go through)"
                },
                "limitProbeResponse": {
                    "type": "boolean",
                    "description": "Limit probe response base on some heuristic rules"
                },
                "maxIdletime": {
                    "type": "integer",
                    "description": "Max idle time in seconds"
                },
                "maxNumClients": {
                    "type": "integer",
                    "description": "Maximum number of client connected to the SSID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means unlimited"
                },
                "mistNac": {
                    "$ref": "#/types/junipermist:site/WlanMistNac:WlanMistNac",
                    "description": "Juniper Mist NAC settings used by this WLAN"
                },
                "mxtunnelIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Tunnel identifiers used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e"
                },
                "mxtunnelNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Mist Tunnel names used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e"
                },
                "noStaticDns": {
                    "type": "boolean",
                    "description": "Whether to only allow client to use DNS that we’ve learned from DHCP response"
                },
                "noStaticIp": {
                    "type": "boolean",
                    "description": "Whether to only allow client that we’ve learned from DHCP exchange to talk"
                },
                "portal": {
                    "$ref": "#/types/junipermist:site/WlanPortal:WlanPortal",
                    "description": "Guest portal settings for this WLAN"
                },
                "portalAllowedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal hostnames that clients may reach before authorization"
                },
                "portalAllowedSubnets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal CIDR subnets that clients may reach before authorization"
                },
                "portalDeniedHostnames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Guest portal hostnames denied before authorization, taking precedence over allowed hostnames"
                },
                "qos": {
                    "$ref": "#/types/junipermist:site/WlanQos:WlanQos",
                    "description": "Quality-of-service settings for WLAN client traffic"
                },
                "radsec": {
                    "$ref": "#/types/junipermist:site/WlanRadsec:WlanRadsec",
                    "description": "TLS-secured RADIUS transport settings for this WLAN"
                },
                "rateset": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/junipermist:site/WlanRateset:WlanRateset"
                    },
                    "description": "Data rate settings by RF band for this WLAN"
                },
                "reconnectClientsWhenRoamingMxcluster": {
                    "type": "boolean",
                    "description": "When different mxcluster is on different subnet, we'd want to disconnect clients (so they'll reconnect and get new IPs)"
                },
                "roamMode": {
                    "type": "string",
                    "description": "Fast roaming mode configured for this WLAN"
                },
                "schedule": {
                    "$ref": "#/types/junipermist:site/WlanSchedule:WlanSchedule",
                    "description": "Operating schedule controlling when this WLAN is active"
                },
                "siteId": {
                    "type": "string",
                    "description": "Mist site associated with this WLAN, when site-scoped"
                },
                "sleExcluded": {
                    "type": "boolean",
                    "description": "Whether to exclude this WLAN from SLE metrics"
                },
                "ssid": {
                    "type": "string",
                    "description": "Name of the SSID"
                },
                "useEapolV1": {
                    "type": "boolean",
                    "description": "If `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e or `auth.type`==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, should only be set for legacy client, such as pre-2004, 802.11b devices"
                },
                "vlanEnabled": {
                    "type": "boolean",
                    "description": "If vlan tagging is enabled"
                },
                "vlanId": {
                    "type": "string",
                    "description": "Default VLAN ID, range, or variable used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                },
                "vlanIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pool of VLAN IDs used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vlanPooling`\" pulumi-lang-dotnet=\"`VlanPooling`\" pulumi-lang-go=\"`vlanPooling`\" pulumi-lang-python=\"`vlan_pooling`\" pulumi-lang-yaml=\"`vlanPooling`\" pulumi-lang-java=\"`vlanPooling`\" pulumi-lang-hcl=\"`vlan_pooling`\"\u003e`vlanPooling`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                },
                "vlanPooling": {
                    "type": "boolean",
                    "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Vlan pooling allows AP to place client on different VLAN using a deterministic algorithm"
                },
                "wlanLimitDown": {
                    "type": "string",
                    "description": "Downlink bandwidth limit applied to the whole WLAN"
                },
                "wlanLimitDownEnabled": {
                    "type": "boolean",
                    "description": "If downlink limiting for whole wlan is enabled"
                },
                "wlanLimitUp": {
                    "type": "string",
                    "description": "Uplink bandwidth limit applied to the whole WLAN"
                },
                "wlanLimitUpEnabled": {
                    "type": "boolean",
                    "description": "If uplink limiting for whole wlan is enabled"
                },
                "wxtagIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Identifiers of WxLAN tags used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtags`\" pulumi-lang-dotnet=\"`Wxtags`\" pulumi-lang-go=\"`wxtags`\" pulumi-lang-python=\"`wxtags`\" pulumi-lang-yaml=\"`wxtags`\" pulumi-lang-java=\"`wxtags`\" pulumi-lang-hcl=\"`wxtags`\"\u003e`wxtags`\u003c/span\u003e"
                },
                "wxtunnelId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, id of the WXLAN Tunnel"
                },
                "wxtunnelRemoteId": {
                    "type": "string",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, remote tunnel identifier"
                }
            },
            "requiredInputs": [
                "siteId",
                "ssid"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Wlan resources.\n",
                "properties": {
                    "acctImmediateUpdate": {
                        "type": "boolean",
                        "description": "Enable coa-immediate-update and address-change-immediate-update on the access profile."
                    },
                    "acctInterimInterval": {
                        "type": "integer",
                        "description": "How frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the RADIUS server, 600 and up is recommended when enabled"
                    },
                    "acctServers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:site/WlanAcctServer:WlanAcctServer"
                        },
                        "description": "RADIUS accounting servers used by this WLAN"
                    },
                    "airwatch": {
                        "$ref": "#/types/junipermist:site/WlanAirwatch:WlanAirwatch",
                        "description": "Integration settings for AirWatch device compliance on this WLAN"
                    },
                    "allowIpv6Ndp": {
                        "type": "boolean",
                        "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows or disallows ipv6 Neighbor Discovery packets to go through"
                    },
                    "allowMdns": {
                        "type": "boolean",
                        "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows mDNS / Bonjour packets to go through"
                    },
                    "allowSsdp": {
                        "type": "boolean",
                        "description": "Only applicable when \u003cspan pulumi-lang-nodejs=\"`limitBcast`\" pulumi-lang-dotnet=\"`LimitBcast`\" pulumi-lang-go=\"`limitBcast`\" pulumi-lang-python=\"`limit_bcast`\" pulumi-lang-yaml=\"`limitBcast`\" pulumi-lang-java=\"`limitBcast`\" pulumi-lang-hcl=\"`limit_bcast`\"\u003e`limitBcast`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, which allows SSDP"
                    },
                    "apIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Access point identifiers used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`aps`\" pulumi-lang-dotnet=\"`Aps`\" pulumi-lang-go=\"`aps`\" pulumi-lang-python=\"`aps`\" pulumi-lang-yaml=\"`aps`\" pulumi-lang-java=\"`aps`\" pulumi-lang-hcl=\"`aps`\"\u003e`aps`\u003c/span\u003e"
                    },
                    "appLimit": {
                        "$ref": "#/types/junipermist:site/WlanAppLimit:WlanAppLimit",
                        "description": "Bandwidth limits for applications on this WLAN"
                    },
                    "appQos": {
                        "$ref": "#/types/junipermist:site/WlanAppQos:WlanAppQos",
                        "description": "QoS rules for application traffic on this WLAN"
                    },
                    "applyTo": {
                        "type": "string",
                        "description": "Scope that determines where this WLAN is applied"
                    },
                    "arpFilter": {
                        "type": "boolean",
                        "description": "Whether to enable smart arp filter"
                    },
                    "auth": {
                        "$ref": "#/types/junipermist:site/WlanAuth:WlanAuth",
                        "description": "Settings that control client authentication for this WLAN"
                    },
                    "authServerSelection": {
                        "type": "string",
                        "description": "RADIUS authentication server selection behavior for this WLAN"
                    },
                    "authServers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:site/WlanAuthServer:WlanAuthServer"
                        },
                        "description": "RADIUS authentication servers used by this WLAN. Required when `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e"
                    },
                    "authServersNasId": {
                        "type": "string",
                        "description": "Optional, up to 48 bytes, will be dynamically generated if not provided. used only for authentication servers"
                    },
                    "authServersNasIp": {
                        "type": "string",
                        "description": "Optional, NAS-IP-ADDRESS to use"
                    },
                    "authServersRetries": {
                        "type": "integer",
                        "description": "RADIUS auth session retries. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘retries’ are set to value of auth_servers_retries. ‘max-requests’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersRetries \" pulumi-lang-dotnet=\" AuthServersRetries \" pulumi-lang-go=\" authServersRetries \" pulumi-lang-python=\" auth_servers_retries \" pulumi-lang-yaml=\" authServersRetries \" pulumi-lang-java=\" authServersRetries \" pulumi-lang-hcl=\" auth_servers_retries \"\u003e authServersRetries \u003c/span\u003eand is set to default value to 3."
                    },
                    "authServersTimeout": {
                        "type": "integer",
                        "description": "RADIUS auth session timeout. Following fast timers are set if \u003cspan pulumi-lang-nodejs=\"\"fastDot1xTimers\"\" pulumi-lang-dotnet=\"\"FastDot1xTimers\"\" pulumi-lang-go=\"\"fastDot1xTimers\"\" pulumi-lang-python=\"\"fast_dot1x_timers\"\" pulumi-lang-yaml=\"\"fastDot1xTimers\"\" pulumi-lang-java=\"\"fastDot1xTimers\"\" pulumi-lang-hcl=\"\"fast_dot1x_timers\"\"\u003e\"fastDot1xTimers\"\u003c/span\u003e knob is enabled. ‘quite-period’  and ‘transmit-period’ are set to half the value of auth_servers_timeout. ‘supplicant-timeout’ is also set when setting\u003cspan pulumi-lang-nodejs=\" authServersTimeout \" pulumi-lang-dotnet=\" AuthServersTimeout \" pulumi-lang-go=\" authServersTimeout \" pulumi-lang-python=\" auth_servers_timeout \" pulumi-lang-yaml=\" authServersTimeout \" pulumi-lang-java=\" authServersTimeout \" pulumi-lang-hcl=\" auth_servers_timeout \"\u003e authServersTimeout \u003c/span\u003eand is set to default value of 10."
                    },
                    "bandSteer": {
                        "type": "boolean",
                        "description": "Whether to enable band_steering, this works only when band==both"
                    },
                    "bandSteerForceBand5": {
                        "type": "boolean",
                        "description": "Force\u003cspan pulumi-lang-nodejs=\" dualBand \" pulumi-lang-dotnet=\" DualBand \" pulumi-lang-go=\" dualBand \" pulumi-lang-python=\" dual_band \" pulumi-lang-yaml=\" dualBand \" pulumi-lang-java=\" dualBand \" pulumi-lang-hcl=\" dual_band \"\u003e dualBand \u003c/span\u003ecapable client to connect to 5G"
                    },
                    "bands": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "list of radios that the wlan should apply to. enum: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\" pulumi-lang-hcl=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\" pulumi-lang-hcl=\"`6`\"\u003e`6`\u003c/span\u003e"
                    },
                    "blockBlacklistClients": {
                        "type": "boolean",
                        "description": "Whether to block the clients in the blacklist (up to first 256 macs)"
                    },
                    "bonjour": {
                        "$ref": "#/types/junipermist:site/WlanBonjour:WlanBonjour",
                        "description": "Service discovery gateway settings for Bonjour traffic on this WLAN"
                    },
                    "ciscoCwa": {
                        "$ref": "#/types/junipermist:site/WlanCiscoCwa:WlanCiscoCwa",
                        "description": "Central web authentication settings for Cisco CWA on this WLAN"
                    },
                    "clientLimitDown": {
                        "type": "string",
                        "description": "Downlink bandwidth limit applied per client"
                    },
                    "clientLimitDownEnabled": {
                        "type": "boolean",
                        "description": "If downlink limiting per-client is enabled"
                    },
                    "clientLimitUp": {
                        "type": "string",
                        "description": "Uplink bandwidth limit applied per client"
                    },
                    "clientLimitUpEnabled": {
                        "type": "boolean",
                        "description": "If uplink limiting per-client is enabled"
                    },
                    "coaServers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:site/WlanCoaServer:WlanCoaServer"
                        },
                        "description": "RADIUS Change of Authorization servers available to this WLAN"
                    },
                    "disable11ax": {
                        "type": "boolean",
                        "description": "Some old WLAN drivers may not be compatible"
                    },
                    "disable11be": {
                        "type": "boolean",
                        "description": "To disable Wi-Fi 7 EHT IEs"
                    },
                    "disableHtVhtRates": {
                        "type": "boolean",
                        "description": "To disable ht or vht rates"
                    },
                    "disableMessageAuthenticatorCheck": {
                        "type": "boolean",
                        "description": "whether to disable Message-Authenticator Check, which is used to verify the integrity of RADIUS messages, default is false (i.e. for better security)"
                    },
                    "disableUapsd": {
                        "type": "boolean",
                        "description": "Whether to disable U-APSD"
                    },
                    "disableV1RoamNotify": {
                        "type": "boolean",
                        "description": "Disable sending v2 roam notification messages"
                    },
                    "disableV2RoamNotify": {
                        "type": "boolean",
                        "description": "Disable sending v2 roam notification messages"
                    },
                    "disableWhenGatewayUnreachable": {
                        "type": "boolean",
                        "description": "When any of the following is true, this WLAN will be disabled\n   * cannot get IP\n   * cannot obtain default gateway\n   * cannot reach default gateway"
                    },
                    "disableWhenMxtunnelDown": {
                        "type": "boolean",
                        "description": "Whether to disable this WLAN when the configured Mist tunnel is down"
                    },
                    "disableWmm": {
                        "type": "boolean",
                        "description": "Whether to disable WMM"
                    },
                    "dnsServerRewrite": {
                        "$ref": "#/types/junipermist:site/WlanDnsServerRewrite:WlanDnsServerRewrite",
                        "description": "RADIUS group based DNS server rewrite settings for this WLAN"
                    },
                    "dtim": {
                        "type": "integer",
                        "description": "Delivery Traffic Indication Message interval for this WLAN"
                    },
                    "dynamicPsk": {
                        "$ref": "#/types/junipermist:site/WlanDynamicPsk:WlanDynamicPsk",
                        "description": "Per-user PSK selection settings for this WLAN"
                    },
                    "dynamicVlan": {
                        "$ref": "#/types/junipermist:site/WlanDynamicVlan:WlanDynamicVlan",
                        "description": "VLAN assignment settings for 802.1X dynamic VLANs"
                    },
                    "enableFtm": {
                        "type": "boolean",
                        "description": "Enable FTM (Fine-Time Measurement, 802.11mc); configures the AP as an FTM Responder (target), allowing clients to perform ranging requests against it"
                    },
                    "enableLocalKeycaching": {
                        "type": "boolean",
                        "description": "Enable AP-AP keycaching via multicast"
                    },
                    "enableWirelessBridging": {
                        "type": "boolean",
                        "description": "By default, we'd inspect all DHCP packets and drop those unrelated to the wireless client itself in the case where client is a wireless bridge (DHCP packets for other MACs will need to be forwarded),\u003cspan pulumi-lang-nodejs=\" wirelessBridging \" pulumi-lang-dotnet=\" WirelessBridging \" pulumi-lang-go=\" wirelessBridging \" pulumi-lang-python=\" wireless_bridging \" pulumi-lang-yaml=\" wirelessBridging \" pulumi-lang-java=\" wirelessBridging \" pulumi-lang-hcl=\" wireless_bridging \"\u003e wirelessBridging \u003c/span\u003ecan be enabled"
                    },
                    "enableWirelessBridgingDhcpTracking": {
                        "type": "boolean",
                        "description": "If the client bridge is doing DHCP on behalf of other devices (L2-NAT), enable\u003cspan pulumi-lang-nodejs=\" dhcpTracking \" pulumi-lang-dotnet=\" DhcpTracking \" pulumi-lang-go=\" dhcpTracking \" pulumi-lang-python=\" dhcp_tracking \" pulumi-lang-yaml=\" dhcpTracking \" pulumi-lang-java=\" dhcpTracking \" pulumi-lang-hcl=\" dhcp_tracking \"\u003e dhcpTracking \u003c/span\u003ewill cut down DHCP response packets to be forwarded to wireless"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "If this wlan is enabled"
                    },
                    "fastDot1xTimers": {
                        "type": "boolean",
                        "description": "If set to true, sets default fast-timers with values calculated from ‘auth_servers_timeout’ and ‘auth_server_retries’ ."
                    },
                    "hideSsid": {
                        "type": "boolean",
                        "description": "Whether to hide SSID in beacon"
                    },
                    "hostnameIe": {
                        "type": "boolean",
                        "description": "Include hostname inside IE in AP beacons / probe responses"
                    },
                    "hotspot20": {
                        "$ref": "#/types/junipermist:site/WlanHotspot20:WlanHotspot20",
                        "description": "Passpoint and Hotspot 2.0 settings for this WLAN"
                    },
                    "injectDhcpOption82": {
                        "$ref": "#/types/junipermist:site/WlanInjectDhcpOption82:WlanInjectDhcpOption82",
                        "description": "DHCP Option 82 insertion settings for this WLAN"
                    },
                    "interface": {
                        "type": "string",
                        "description": "Network interface or tunnel where this WLAN bridges client traffic"
                    },
                    "isolation": {
                        "type": "boolean",
                        "description": "Whether to stop clients to talk to each other"
                    },
                    "l2Isolation": {
                        "type": "boolean",
                        "description": "If isolation is enabled, whether to deny clients to talk to L2 on the LAN"
                    },
                    "legacyOverds": {
                        "type": "boolean",
                        "description": "Legacy devices requires the Over-DS (for Fast BSS Transition) bit set (while our chip doesn’t support it). Warning! Enabling this will cause problem for iOS devices."
                    },
                    "limitBcast": {
                        "type": "boolean",
                        "description": "Whether to limit broadcast packets going to wireless (i.e. only allow certain bcast packets to go through)"
                    },
                    "limitProbeResponse": {
                        "type": "boolean",
                        "description": "Limit probe response base on some heuristic rules"
                    },
                    "maxIdletime": {
                        "type": "integer",
                        "description": "Max idle time in seconds"
                    },
                    "maxNumClients": {
                        "type": "integer",
                        "description": "Maximum number of client connected to the SSID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means unlimited"
                    },
                    "mistNac": {
                        "$ref": "#/types/junipermist:site/WlanMistNac:WlanMistNac",
                        "description": "Juniper Mist NAC settings used by this WLAN"
                    },
                    "mspId": {
                        "type": "string",
                        "description": "Managed service provider identifier associated with this WLAN"
                    },
                    "mxtunnelIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Mist Tunnel identifiers used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`mxtunnel`\" pulumi-lang-dotnet=\"`Mxtunnel`\" pulumi-lang-go=\"`mxtunnel`\" pulumi-lang-python=\"`mxtunnel`\" pulumi-lang-yaml=\"`mxtunnel`\" pulumi-lang-java=\"`mxtunnel`\" pulumi-lang-hcl=\"`mxtunnel`\"\u003e`mxtunnel`\u003c/span\u003e"
                    },
                    "mxtunnelNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Mist Tunnel names used when \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`siteMxedge`\" pulumi-lang-dotnet=\"`SiteMxedge`\" pulumi-lang-go=\"`siteMxedge`\" pulumi-lang-python=\"`site_mxedge`\" pulumi-lang-yaml=\"`siteMxedge`\" pulumi-lang-java=\"`siteMxedge`\" pulumi-lang-hcl=\"`site_mxedge`\"\u003e`siteMxedge`\u003c/span\u003e"
                    },
                    "noStaticDns": {
                        "type": "boolean",
                        "description": "Whether to only allow client to use DNS that we’ve learned from DHCP response"
                    },
                    "noStaticIp": {
                        "type": "boolean",
                        "description": "Whether to only allow client that we’ve learned from DHCP exchange to talk"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Owning organization associated with this WLAN"
                    },
                    "portal": {
                        "$ref": "#/types/junipermist:site/WlanPortal:WlanPortal",
                        "description": "Guest portal settings for this WLAN"
                    },
                    "portalAllowedHostnames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Guest portal hostnames that clients may reach before authorization"
                    },
                    "portalAllowedSubnets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Guest portal CIDR subnets that clients may reach before authorization"
                    },
                    "portalApiSecret": {
                        "type": "string",
                        "description": "API secret (auto-generated) that can be used to sign guest authorization requests, only generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\" pulumi-lang-hcl=\"`external`\"\u003e`external`\u003c/span\u003e"
                    },
                    "portalDeniedHostnames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Guest portal hostnames denied before authorization, taking precedence over allowed hostnames"
                    },
                    "portalImage": {
                        "type": "string",
                        "description": "Url of portal background image"
                    },
                    "portalSsoUrl": {
                        "type": "string",
                        "description": "URL used in the SSO process, auto-generated when auth is set to \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e"
                    },
                    "qos": {
                        "$ref": "#/types/junipermist:site/WlanQos:WlanQos",
                        "description": "Quality-of-service settings for WLAN client traffic"
                    },
                    "radsec": {
                        "$ref": "#/types/junipermist:site/WlanRadsec:WlanRadsec",
                        "description": "TLS-secured RADIUS transport settings for this WLAN"
                    },
                    "rateset": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/types/junipermist:site/WlanRateset:WlanRateset"
                        },
                        "description": "Data rate settings by RF band for this WLAN"
                    },
                    "reconnectClientsWhenRoamingMxcluster": {
                        "type": "boolean",
                        "description": "When different mxcluster is on different subnet, we'd want to disconnect clients (so they'll reconnect and get new IPs)"
                    },
                    "roamMode": {
                        "type": "string",
                        "description": "Fast roaming mode configured for this WLAN"
                    },
                    "schedule": {
                        "$ref": "#/types/junipermist:site/WlanSchedule:WlanSchedule",
                        "description": "Operating schedule controlling when this WLAN is active"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Mist site associated with this WLAN, when site-scoped"
                    },
                    "sleExcluded": {
                        "type": "boolean",
                        "description": "Whether to exclude this WLAN from SLE metrics"
                    },
                    "ssid": {
                        "type": "string",
                        "description": "Name of the SSID"
                    },
                    "useEapolV1": {
                        "type": "boolean",
                        "description": "If `auth.type`==\u003cspan pulumi-lang-nodejs=\"`eap`\" pulumi-lang-dotnet=\"`Eap`\" pulumi-lang-go=\"`eap`\" pulumi-lang-python=\"`eap`\" pulumi-lang-yaml=\"`eap`\" pulumi-lang-java=\"`eap`\" pulumi-lang-hcl=\"`eap`\"\u003e`eap`\u003c/span\u003e or `auth.type`==\u003cspan pulumi-lang-nodejs=\"`psk`\" pulumi-lang-dotnet=\"`Psk`\" pulumi-lang-go=\"`psk`\" pulumi-lang-python=\"`psk`\" pulumi-lang-yaml=\"`psk`\" pulumi-lang-java=\"`psk`\" pulumi-lang-hcl=\"`psk`\"\u003e`psk`\u003c/span\u003e, should only be set for legacy client, such as pre-2004, 802.11b devices"
                    },
                    "vlanEnabled": {
                        "type": "boolean",
                        "description": "If vlan tagging is enabled"
                    },
                    "vlanId": {
                        "type": "string",
                        "description": "Default VLAN ID, range, or variable used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                    },
                    "vlanIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Pool of VLAN IDs used when \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vlanPooling`\" pulumi-lang-dotnet=\"`VlanPooling`\" pulumi-lang-go=\"`vlanPooling`\" pulumi-lang-python=\"`vlan_pooling`\" pulumi-lang-yaml=\"`vlanPooling`\" pulumi-lang-java=\"`vlanPooling`\" pulumi-lang-hcl=\"`vlan_pooling`\"\u003e`vlanPooling`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e"
                    },
                    "vlanPooling": {
                        "type": "boolean",
                        "description": "Requires \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\" pulumi-lang-hcl=\"`vlan_enabled`\"\u003e`vlanEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e to be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Vlan pooling allows AP to place client on different VLAN using a deterministic algorithm"
                    },
                    "wlanLimitDown": {
                        "type": "string",
                        "description": "Downlink bandwidth limit applied to the whole WLAN"
                    },
                    "wlanLimitDownEnabled": {
                        "type": "boolean",
                        "description": "If downlink limiting for whole wlan is enabled"
                    },
                    "wlanLimitUp": {
                        "type": "string",
                        "description": "Uplink bandwidth limit applied to the whole WLAN"
                    },
                    "wlanLimitUpEnabled": {
                        "type": "boolean",
                        "description": "If uplink limiting for whole wlan is enabled"
                    },
                    "wxtagIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Identifiers of WxLAN tags used when \u003cspan pulumi-lang-nodejs=\"`applyTo`\" pulumi-lang-dotnet=\"`ApplyTo`\" pulumi-lang-go=\"`applyTo`\" pulumi-lang-python=\"`apply_to`\" pulumi-lang-yaml=\"`applyTo`\" pulumi-lang-java=\"`applyTo`\" pulumi-lang-hcl=\"`apply_to`\"\u003e`applyTo`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`wxtags`\" pulumi-lang-dotnet=\"`Wxtags`\" pulumi-lang-go=\"`wxtags`\" pulumi-lang-python=\"`wxtags`\" pulumi-lang-yaml=\"`wxtags`\" pulumi-lang-java=\"`wxtags`\" pulumi-lang-hcl=\"`wxtags`\"\u003e`wxtags`\u003c/span\u003e"
                    },
                    "wxtunnelId": {
                        "type": "string",
                        "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, id of the WXLAN Tunnel"
                    },
                    "wxtunnelRemoteId": {
                        "type": "string",
                        "description": "When \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\" pulumi-lang-hcl=\"`interface`\"\u003e`interface`\u003c/span\u003e=\u003cspan pulumi-lang-nodejs=\"`wxtunnel`\" pulumi-lang-dotnet=\"`Wxtunnel`\" pulumi-lang-go=\"`wxtunnel`\" pulumi-lang-python=\"`wxtunnel`\" pulumi-lang-yaml=\"`wxtunnel`\" pulumi-lang-java=\"`wxtunnel`\" pulumi-lang-hcl=\"`wxtunnel`\"\u003e`wxtunnel`\u003c/span\u003e, remote tunnel identifier"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/wlanPortalImage:WlanPortalImage": {
            "description": "This resource is used to upload a WLAN Captive Web Portal background image.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wlanOne = new junipermist.site.WlanPortalImage(\"wlan_one\", {\n    siteId: terraformTest.id,\n    wlanId: wlanOneMistSiteWlan.id,\n    file: \"/Users/johndoe/Documents/image.jpg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwlan_one = junipermist.site.WlanPortalImage(\"wlan_one\",\n    site_id=terraform_test[\"id\"],\n    wlan_id=wlan_one_mist_site_wlan[\"id\"],\n    file=\"/Users/johndoe/Documents/image.jpg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wlanOne = new JuniperMist.Site.WlanPortalImage(\"wlan_one\", new()\n    {\n        SiteId = terraformTest.Id,\n        WlanId = wlanOneMistSiteWlan.Id,\n        File = \"/Users/johndoe/Documents/image.jpg\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewWlanPortalImage(ctx, \"wlan_one\", \u0026site.WlanPortalImageArgs{\n\t\t\tSiteId: pulumi.Any(terraformTest.Id),\n\t\t\tWlanId: pulumi.Any(wlanOneMistSiteWlan.Id),\n\t\t\tFile:   pulumi.String(\"/Users/johndoe/Documents/image.jpg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_wlanportalimage\" \"wlan_one\" {\n  site_id = terraformTest.id\n  wlan_id = wlanOneMistSiteWlan.id\n  file    = \"/Users/johndoe/Documents/image.jpg\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.WlanPortalImage;\nimport com.pulumi.junipermist.site.WlanPortalImageArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wlanOne = new WlanPortalImage(\"wlanOne\", WlanPortalImageArgs.builder()\n            .siteId(terraformTest.id())\n            .wlanId(wlanOneMistSiteWlan.id())\n            .file(\"/Users/johndoe/Documents/image.jpg\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wlanOne:\n    type: junipermist:site:WlanPortalImage\n    name: wlan_one\n    properties:\n      siteId: ${terraformTest.id}\n      wlanId: ${wlanOneMistSiteWlan.id}\n      file: /Users/johndoe/Documents/image.jpg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "file": {
                    "type": "string",
                    "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                },
                "siteId": {
                    "type": "string"
                },
                "wlanId": {
                    "type": "string",
                    "description": "Site WLAN ID\n"
                }
            },
            "required": [
                "file",
                "siteId",
                "wlanId"
            ],
            "inputProperties": {
                "file": {
                    "type": "string",
                    "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                },
                "siteId": {
                    "type": "string"
                },
                "wlanId": {
                    "type": "string",
                    "description": "Site WLAN ID\n"
                }
            },
            "requiredInputs": [
                "file",
                "siteId",
                "wlanId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering WlanPortalImage resources.\n",
                "properties": {
                    "file": {
                        "type": "string",
                        "description": "path to the background image file. File must be a \u003cspan pulumi-lang-nodejs=\"`jpeg`\" pulumi-lang-dotnet=\"`Jpeg`\" pulumi-lang-go=\"`jpeg`\" pulumi-lang-python=\"`jpeg`\" pulumi-lang-yaml=\"`jpeg`\" pulumi-lang-java=\"`jpeg`\" pulumi-lang-hcl=\"`jpeg`\"\u003e`jpeg`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jpg`\" pulumi-lang-dotnet=\"`Jpg`\" pulumi-lang-go=\"`jpg`\" pulumi-lang-python=\"`jpg`\" pulumi-lang-yaml=\"`jpg`\" pulumi-lang-java=\"`jpg`\" pulumi-lang-hcl=\"`jpg`\"\u003e`jpg`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`png`\" pulumi-lang-dotnet=\"`Png`\" pulumi-lang-go=\"`png`\" pulumi-lang-python=\"`png`\" pulumi-lang-yaml=\"`png`\" pulumi-lang-java=\"`png`\" pulumi-lang-hcl=\"`png`\"\u003e`png`\u003c/span\u003e image`\n"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "wlanId": {
                        "type": "string",
                        "description": "Site WLAN ID\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/wlanPortalTemplate:WlanPortalTemplate": {
            "description": "This resource is used customize the WLAN Guest Portal.\nThe WLAN Portal Template can be used to define:\n* Guest Authentication methods and parameters (access duration, ...)\n* Default values of the text fields and labels on the portal\n* Values of the text fields and labels based on the User Agent (\u003cspan pulumi-lang-nodejs=\"`locales`\" pulumi-lang-dotnet=\"`Locales`\" pulumi-lang-go=\"`locales`\" pulumi-lang-python=\"`locales`\" pulumi-lang-yaml=\"`locales`\" pulumi-lang-java=\"`locales`\" pulumi-lang-hcl=\"`locales`\"\u003e`locales`\u003c/span\u003e property)\n\n**Notes:**\n* There is no feedback from the API, so there is no possibility to validate the changes. The resource states is directly generated based on the resource plan.* There is no option to delete or revert the changes. Deleting the resource will just remove it from the states. Once removed, it is possible to create a new one. It will replace the previous template\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wlanOne = new junipermist.site.WlanPortalTemplate(\"wlan_one\", {\n    siteId: terraformTest.id,\n    wlanId: wlanOneMistSiteWlan.id,\n    portalTemplate: {\n        smsMessageFormat: \"Code {{code}} expires in {{duration}} minutes.\",\n        smsValidityDuration: 10,\n        pageTitle: \"Welcome To My Demo Portal\",\n        locales: {\n            \"fr-FR\": {\n                pageTitle: \"Bienvenue sur mon portail de démo\",\n            },\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwlan_one = junipermist.site.WlanPortalTemplate(\"wlan_one\",\n    site_id=terraform_test[\"id\"],\n    wlan_id=wlan_one_mist_site_wlan[\"id\"],\n    portal_template={\n        \"sms_message_format\": \"Code {{code}} expires in {{duration}} minutes.\",\n        \"sms_validity_duration\": 10,\n        \"page_title\": \"Welcome To My Demo Portal\",\n        \"locales\": {\n            \"fr-FR\": {\n                \"page_title\": \"Bienvenue sur mon portail de démo\",\n            },\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wlanOne = new JuniperMist.Site.WlanPortalTemplate(\"wlan_one\", new()\n    {\n        SiteId = terraformTest.Id,\n        WlanId = wlanOneMistSiteWlan.Id,\n        PortalTemplate = new JuniperMist.Site.Inputs.WlanPortalTemplatePortalTemplateArgs\n        {\n            SmsMessageFormat = \"Code {{code}} expires in {{duration}} minutes.\",\n            SmsValidityDuration = 10,\n            PageTitle = \"Welcome To My Demo Portal\",\n            Locales = \n            {\n                { \"fr-FR\", new JuniperMist.Site.Inputs.WlanPortalTemplatePortalTemplateLocalesArgs\n                {\n                    PageTitle = \"Bienvenue sur mon portail de démo\",\n                } },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewWlanPortalTemplate(ctx, \"wlan_one\", \u0026site.WlanPortalTemplateArgs{\n\t\t\tSiteId: pulumi.Any(terraformTest.Id),\n\t\t\tWlanId: pulumi.Any(wlanOneMistSiteWlan.Id),\n\t\t\tPortalTemplate: \u0026site.WlanPortalTemplatePortalTemplateArgs{\n\t\t\t\tSmsMessageFormat:    pulumi.String(\"Code {{code}} expires in {{duration}} minutes.\"),\n\t\t\t\tSmsValidityDuration: pulumi.Int(10),\n\t\t\t\tPageTitle:           pulumi.String(\"Welcome To My Demo Portal\"),\n\t\t\t\tLocales: site.WlanPortalTemplatePortalTemplateLocalesMap{\n\t\t\t\t\t\"fr-FR\": \u0026site.WlanPortalTemplatePortalTemplateLocalesArgs{\n\t\t\t\t\t\tPageTitle: pulumi.String(\"Bienvenue sur mon portail de démo\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_wlanportaltemplate\" \"wlan_one\" {\n  site_id = terraformTest.id\n  wlan_id = wlanOneMistSiteWlan.id\n  portal_template = {\n    sms_message_format    = \"Code {{code}} expires in {{duration}} minutes.\"\n    sms_validity_duration = \"10\"\n    page_title            = \"Welcome To My Demo Portal\"\n    locales = {\n      \"fr-FR\" = {\n        page_title = \"Bienvenue sur mon portail de démo\"\n      }\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.WlanPortalTemplate;\nimport com.pulumi.junipermist.site.WlanPortalTemplateArgs;\nimport com.pulumi.junipermist.site.inputs.WlanPortalTemplatePortalTemplateArgs;\nimport com.pulumi.junipermist.site.inputs.WlanPortalTemplatePortalTemplateLocalesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wlanOne = new WlanPortalTemplate(\"wlanOne\", WlanPortalTemplateArgs.builder()\n            .siteId(terraformTest.id())\n            .wlanId(wlanOneMistSiteWlan.id())\n            .portalTemplate(WlanPortalTemplatePortalTemplateArgs.builder()\n                .smsMessageFormat(\"Code {{code}} expires in {{duration}} minutes.\")\n                .smsValidityDuration(10)\n                .pageTitle(\"Welcome To My Demo Portal\")\n                .locales(Map.of(\"fr-FR\", WlanPortalTemplatePortalTemplateLocalesArgs.builder()\n                    .pageTitle(\"Bienvenue sur mon portail de démo\")\n                    .build()))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wlanOne:\n    type: junipermist:site:WlanPortalTemplate\n    name: wlan_one\n    properties:\n      siteId: ${terraformTest.id}\n      wlanId: ${wlanOneMistSiteWlan.id}\n      portalTemplate:\n        smsMessageFormat: Code {{code}} expires in {{duration}} minutes.\n        smsValidityDuration: '10'\n        pageTitle: Welcome To My Demo Portal\n        locales:\n          fr-FR:\n            pageTitle: Bienvenue sur mon portail de démo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "portalTemplate": {
                    "$ref": "#/types/junipermist:site/WlanPortalTemplatePortalTemplate:WlanPortalTemplatePortalTemplate",
                    "description": "Template settings that define guest portal text, layout, and localization"
                },
                "siteId": {
                    "type": "string"
                },
                "wlanId": {
                    "type": "string",
                    "description": "Site WLAN ID"
                }
            },
            "required": [
                "portalTemplate",
                "siteId",
                "wlanId"
            ],
            "inputProperties": {
                "portalTemplate": {
                    "$ref": "#/types/junipermist:site/WlanPortalTemplatePortalTemplate:WlanPortalTemplatePortalTemplate",
                    "description": "Template settings that define guest portal text, layout, and localization"
                },
                "siteId": {
                    "type": "string"
                },
                "wlanId": {
                    "type": "string",
                    "description": "Site WLAN ID"
                }
            },
            "requiredInputs": [
                "portalTemplate",
                "siteId",
                "wlanId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering WlanPortalTemplate resources.\n",
                "properties": {
                    "portalTemplate": {
                        "$ref": "#/types/junipermist:site/WlanPortalTemplatePortalTemplate:WlanPortalTemplatePortalTemplate",
                        "description": "Template settings that define guest portal text, layout, and localization"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "wlanId": {
                        "type": "string",
                        "description": "Site WLAN ID"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/wxrule:Wxrule": {
            "description": "This resource manages the Site WxRules (WLAN policies).\nA WxLAN policy is a set of rules and settings that can be applied to devices in a network to determine how they are treated. it provides support for access policies, network segmentation, role-based policies, micro-segmentation, and least privilege.  \nWxLAN policies are used to allow or deny specific users from accessing specific resources in a wireless network.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wxruleOne = new junipermist.site.Wxrule(\"wxrule_one\", {\n    siteId: terraformTest.id,\n    srcWxtags: [wxtagOne.id],\n    enabled: true,\n    action: \"allow\",\n    dstDenyWxtags: [wxtagTwo.id],\n    order: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwxrule_one = junipermist.site.Wxrule(\"wxrule_one\",\n    site_id=terraform_test[\"id\"],\n    src_wxtags=[wxtag_one[\"id\"]],\n    enabled=True,\n    action=\"allow\",\n    dst_deny_wxtags=[wxtag_two[\"id\"]],\n    order=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wxruleOne = new JuniperMist.Site.Wxrule(\"wxrule_one\", new()\n    {\n        SiteId = terraformTest.Id,\n        SrcWxtags = new[]\n        {\n            wxtagOne.Id,\n        },\n        Enabled = true,\n        Action = \"allow\",\n        DstDenyWxtags = new[]\n        {\n            wxtagTwo.Id,\n        },\n        Order = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewWxrule(ctx, \"wxrule_one\", \u0026site.WxruleArgs{\n\t\t\tSiteId: pulumi.Any(terraformTest.Id),\n\t\t\tSrcWxtags: pulumi.StringArray{\n\t\t\t\twxtagOne.Id,\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAction:  pulumi.String(\"allow\"),\n\t\t\tDstDenyWxtags: pulumi.StringArray{\n\t\t\t\twxtagTwo.Id,\n\t\t\t},\n\t\t\tOrder: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_wxrule\" \"wxrule_one\" {\n  site_id         = terraformTest.id\n  src_wxtags      = [wxtagOne.id]\n  enabled         = true\n  action          = \"allow\"\n  dst_deny_wxtags = [wxtagTwo.id]\n  order           = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.Wxrule;\nimport com.pulumi.junipermist.site.WxruleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wxruleOne = new Wxrule(\"wxruleOne\", WxruleArgs.builder()\n            .siteId(terraformTest.id())\n            .srcWxtags(wxtagOne.id())\n            .enabled(true)\n            .action(\"allow\")\n            .dstDenyWxtags(wxtagTwo.id())\n            .order(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wxruleOne:\n    type: junipermist:site:Wxrule\n    name: wxrule_one\n    properties:\n      siteId: ${terraformTest.id}\n      srcWxtags:\n        - ${wxtagOne.id}\n      enabled: true\n      action: allow\n      dstDenyWxtags:\n        - ${wxtagTwo.id}\n      order: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Wxrule`\" pulumi-lang-dotnet=\"`junipermist.site.Wxrule`\" pulumi-lang-go=\"`site.Wxrule`\" pulumi-lang-python=\"`site.Wxrule`\" pulumi-lang-yaml=\"`junipermist.site.Wxrule`\" pulumi-lang-java=\"`junipermist.site.Wxrule`\" pulumi-lang-hcl=\"`mist_site_wxrule`\"\u003e`junipermist.site.Wxrule`\u003c/span\u003e with:\nSite WxRule can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" wxruleId\n\" pulumi-lang-dotnet=\" WxruleId\n\" pulumi-lang-go=\" wxruleId\n\" pulumi-lang-python=\" wxrule_id\n\" pulumi-lang-yaml=\" wxruleId\n\" pulumi-lang-java=\" wxruleId\n\" pulumi-lang-hcl=\" wxrule_id\n\"\u003e wxruleId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:site/wxrule:Wxrule wxrule_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Allow or block behavior applied by this WxLAN rule\n"
                },
                "applyTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WxLAN tag identifiers applied when this rule matches\n"
                },
                "blockedApps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application keys always blocked by this rule, regardless of the rule action\n"
                },
                "dstAllowWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers explicitly allowed by this rule\n"
                },
                "dstDenyWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers explicitly denied by this rule\n"
                },
                "dstWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers matched by this rule\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this WxLAN rule is enabled\n"
                },
                "order": {
                    "type": "integer",
                    "description": "Lookup priority for WxLAN rules; larger positive values match first, and -1 means LAST. Uniqueness is not checked\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Mist site associated with this WxLAN rule, when site-scoped\n"
                },
                "srcWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source WxLAN tag identifiers that must match for this rule to apply\n"
                }
            },
            "required": [
                "action",
                "dstAllowWxtags",
                "dstDenyWxtags",
                "dstWxtags",
                "enabled",
                "order",
                "siteId",
                "srcWxtags"
            ],
            "inputProperties": {
                "action": {
                    "type": "string",
                    "description": "Allow or block behavior applied by this WxLAN rule\n"
                },
                "applyTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "WxLAN tag identifiers applied when this rule matches\n"
                },
                "blockedApps": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Application keys always blocked by this rule, regardless of the rule action\n"
                },
                "dstAllowWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers explicitly allowed by this rule\n"
                },
                "dstDenyWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers explicitly denied by this rule\n"
                },
                "dstWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination WxLAN tag identifiers matched by this rule\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this WxLAN rule is enabled\n"
                },
                "order": {
                    "type": "integer",
                    "description": "Lookup priority for WxLAN rules; larger positive values match first, and -1 means LAST. Uniqueness is not checked\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Mist site associated with this WxLAN rule, when site-scoped\n"
                },
                "srcWxtags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Source WxLAN tag identifiers that must match for this rule to apply\n"
                }
            },
            "requiredInputs": [
                "action",
                "order",
                "siteId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Wxrule resources.\n",
                "properties": {
                    "action": {
                        "type": "string",
                        "description": "Allow or block behavior applied by this WxLAN rule\n"
                    },
                    "applyTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "WxLAN tag identifiers applied when this rule matches\n"
                    },
                    "blockedApps": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Application keys always blocked by this rule, regardless of the rule action\n"
                    },
                    "dstAllowWxtags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Destination WxLAN tag identifiers explicitly allowed by this rule\n"
                    },
                    "dstDenyWxtags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Destination WxLAN tag identifiers explicitly denied by this rule\n"
                    },
                    "dstWxtags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Destination WxLAN tag identifiers matched by this rule\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether this WxLAN rule is enabled\n"
                    },
                    "order": {
                        "type": "integer",
                        "description": "Lookup priority for WxLAN rules; larger positive values match first, and -1 means LAST. Uniqueness is not checked\n"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Mist site associated with this WxLAN rule, when site-scoped\n"
                    },
                    "srcWxtags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Source WxLAN tag identifiers that must match for this rule to apply\n"
                    }
                },
                "type": "object"
            }
        },
        "junipermist:site/wxtag:Wxtag": {
            "description": "This resource manages the Site Wxlan tags (labels).\nA WxTag is a label or tag used in the mist system to classify and categorize applications, users, and resources for the purpose of creating policies and making network management decisions.They can be used \n* within the Org WxRules to create filtering rules:\n  * `mist_site_wxrule.dst_allow_wxtags`\n  * `mist_site_wxrule.dst_deny_wxtags`\n  * `mist_site_wxrule.dst_wxtags`\n  * `mist_site_wxrule.src_wxtags`\n* within the Org WxRules to assign specific VLAN:\n  * `mist_site_wxrule.apply_tags`\n* in the WLANs configuration to assign a WLAN to specific APs:\n  * `mist_site_wlan.wxtag_ids`\n* to identify unknown application used by Wi-Fi clients\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst wxtagOne = new junipermist.site.Wxtag(\"wxtag_one\", {\n    siteId: terraformTest.id,\n    name: \"wtag_one\",\n    values: [\"10.3.0.0/16\"],\n    op: \"in\",\n    type: \"match\",\n    match: \"ip_range_subnet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_juniper_mist as junipermist\n\nwxtag_one = junipermist.site.Wxtag(\"wxtag_one\",\n    site_id=terraform_test[\"id\"],\n    name=\"wtag_one\",\n    values=[\"10.3.0.0/16\"],\n    op=\"in\",\n    type=\"match\",\n    match=\"ip_range_subnet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var wxtagOne = new JuniperMist.Site.Wxtag(\"wxtag_one\", new()\n    {\n        SiteId = terraformTest.Id,\n        Name = \"wtag_one\",\n        Values = new[]\n        {\n            \"10.3.0.0/16\",\n        },\n        Op = \"in\",\n        Type = \"match\",\n        Match = \"ip_range_subnet\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.NewWxtag(ctx, \"wxtag_one\", \u0026site.WxtagArgs{\n\t\t\tSiteId: pulumi.Any(terraformTest.Id),\n\t\t\tName:   pulumi.String(\"wtag_one\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.3.0.0/16\"),\n\t\t\t},\n\t\t\tOp:    pulumi.String(\"in\"),\n\t\t\tType:  pulumi.String(\"match\"),\n\t\t\tMatch: pulumi.String(\"ip_range_subnet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\nresource \"junipermist_site_wxtag\" \"wxtag_one\" {\n  site_id = terraformTest.id\n  name    = \"wtag_one\"\n  values  = [\"10.3.0.0/16\"]\n  op      = \"in\"\n  type    = \"match\"\n  match   = \"ip_range_subnet\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.Wxtag;\nimport com.pulumi.junipermist.site.WxtagArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var wxtagOne = new Wxtag(\"wxtagOne\", WxtagArgs.builder()\n            .siteId(terraformTest.id())\n            .name(\"wtag_one\")\n            .values(\"10.3.0.0/16\")\n            .op(\"in\")\n            .type(\"match\")\n            .match(\"ip_range_subnet\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wxtagOne:\n    type: junipermist:site:Wxtag\n    name: wxtag_one\n    properties:\n      siteId: ${terraformTest.id}\n      name: wtag_one\n      values:\n        - 10.3.0.0/16\n      op: in\n      type: match\n      match: ip_range_subnet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Wxtag`\" pulumi-lang-dotnet=\"`junipermist.site.Wxtag`\" pulumi-lang-go=\"`site.Wxtag`\" pulumi-lang-python=\"`site.Wxtag`\" pulumi-lang-yaml=\"`junipermist.site.Wxtag`\" pulumi-lang-java=\"`junipermist.site.Wxtag`\" pulumi-lang-hcl=\"`mist_site_wxtag`\"\u003e`junipermist.site.Wxtag`\u003c/span\u003e with:\nSite WxTag can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" siteId \" pulumi-lang-dotnet=\" SiteId \" pulumi-lang-go=\" siteId \" pulumi-lang-python=\" site_id \" pulumi-lang-yaml=\" siteId \" pulumi-lang-java=\" siteId \" pulumi-lang-hcl=\" site_id \"\u003e siteId \u003c/span\u003eand the\u003cspan pulumi-lang-nodejs=\" wxtagId\n\" pulumi-lang-dotnet=\" WxtagId\n\" pulumi-lang-go=\" wxtagId\n\" pulumi-lang-python=\" wxtag_id\n\" pulumi-lang-yaml=\" wxtagId\n\" pulumi-lang-java=\" wxtagId\n\" pulumi-lang-hcl=\" wxtag_id\n\"\u003e wxtagId\n\u003c/span\u003e\n```sh\n$ pulumi import junipermist:site/wxtag:Wxtag wxtag_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309\n```\n\n",
            "properties": {
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\" pulumi-lang-hcl=\"`client`\"\u003e`client`\u003c/span\u003e, Client MAC address\n"
                },
                "match": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; attribute compared against \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the WxLAN tag\n"
                },
                "op": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; whether \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e are inclusive or exclusive matches\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Mist site associated with this WxLAN tag, when site-scoped\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WxtagSpec:WxtagSpec"
                    },
                    "description": "Traffic match specifications used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`spec`\" pulumi-lang-dotnet=\"`Spec`\" pulumi-lang-go=\"`spec`\" pulumi-lang-python=\"`spec`\" pulumi-lang-yaml=\"`spec`\" pulumi-lang-java=\"`spec`\" pulumi-lang-hcl=\"`spec`\"\u003e`spec`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "Kind of WxLAN tag and how it is populated\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Comparison values for the selected \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e attribute when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "Identifier of the VLAN associated with this WxLAN tag when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e\n"
                }
            },
            "required": [
                "name",
                "siteId",
                "type"
            ],
            "inputProperties": {
                "mac": {
                    "type": "string",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\" pulumi-lang-hcl=\"`client`\"\u003e`client`\u003c/span\u003e, Client MAC address\n"
                },
                "match": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; attribute compared against \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name of the WxLAN tag\n"
                },
                "op": {
                    "type": "string",
                    "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; whether \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e are inclusive or exclusive matches\n"
                },
                "siteId": {
                    "type": "string",
                    "description": "Mist site associated with this WxLAN tag, when site-scoped\n"
                },
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/junipermist:site/WxtagSpec:WxtagSpec"
                    },
                    "description": "Traffic match specifications used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`spec`\" pulumi-lang-dotnet=\"`Spec`\" pulumi-lang-go=\"`spec`\" pulumi-lang-python=\"`spec`\" pulumi-lang-yaml=\"`spec`\" pulumi-lang-java=\"`spec`\" pulumi-lang-hcl=\"`spec`\"\u003e`spec`\u003c/span\u003e\n"
                },
                "type": {
                    "type": "string",
                    "description": "Kind of WxLAN tag and how it is populated\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Comparison values for the selected \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e attribute when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n"
                },
                "vlanId": {
                    "type": "string",
                    "description": "Identifier of the VLAN associated with this WxLAN tag when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e\n"
                }
            },
            "requiredInputs": [
                "siteId",
                "type"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Wxtag resources.\n",
                "properties": {
                    "mac": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\" pulumi-lang-hcl=\"`client`\"\u003e`client`\u003c/span\u003e, Client MAC address\n"
                    },
                    "match": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; attribute compared against \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Display name of the WxLAN tag\n"
                    },
                    "op": {
                        "type": "string",
                        "description": "Required if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e; whether \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e are inclusive or exclusive matches\n"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Mist site associated with this WxLAN tag, when site-scoped\n"
                    },
                    "specs": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/junipermist:site/WxtagSpec:WxtagSpec"
                        },
                        "description": "Traffic match specifications used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`spec`\" pulumi-lang-dotnet=\"`Spec`\" pulumi-lang-go=\"`spec`\" pulumi-lang-python=\"`spec`\" pulumi-lang-yaml=\"`spec`\" pulumi-lang-java=\"`spec`\" pulumi-lang-hcl=\"`spec`\"\u003e`spec`\u003c/span\u003e\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "Kind of WxLAN tag and how it is populated\n"
                    },
                    "values": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Comparison values for the selected \u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e attribute when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`match`\" pulumi-lang-dotnet=\"`Match`\" pulumi-lang-go=\"`match`\" pulumi-lang-python=\"`match`\" pulumi-lang-yaml=\"`match`\" pulumi-lang-java=\"`match`\" pulumi-lang-hcl=\"`match`\"\u003e`match`\u003c/span\u003e\n"
                    },
                    "vlanId": {
                        "type": "string",
                        "description": "Identifier of the VLAN associated with this WxLAN tag when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`vlan`\" pulumi-lang-dotnet=\"`Vlan`\" pulumi-lang-go=\"`vlan`\" pulumi-lang-python=\"`vlan`\" pulumi-lang-yaml=\"`vlan`\" pulumi-lang-java=\"`vlan`\" pulumi-lang-hcl=\"`vlan`\"\u003e`vlan`\u003c/span\u003e\n"
                    }
                },
                "type": "object"
            }
        }
    },
    "functions": {
        "junipermist:device/getApStats:getApStats": {
            "description": "This data source provides the list of Wireless Access Points with their statistics.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst apStats = junipermist.device.getApStats({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac: \"5c5b35000000\",\n    siteId: \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n    status: \"connected\",\n    duration: \"1d\",\n    start: \"1736031600\",\n    end: \"1736175934\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nap_stats = junipermist.device.get_ap_stats(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac=\"5c5b35000000\",\n    site_id=\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n    status=\"connected\",\n    duration=\"1d\",\n    start=\"1736031600\",\n    end=\"1736175934\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var apStats = JuniperMist.Device.GetApStats.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n        Mac = \"5c5b35000000\",\n        SiteId = \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n        Status = \"connected\",\n        Duration = \"1d\",\n        Start = \"1736031600\",\n        End = \"1736175934\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/device\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := device.GetApStats(ctx, \u0026device.GetApStatsArgs{\n\t\t\tOrgId:    \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t\tMac:      pulumi.StringRef(\"5c5b35000000\"),\n\t\t\tSiteId:   pulumi.StringRef(\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\"),\n\t\t\tStatus:   pulumi.StringRef(\"connected\"),\n\t\t\tDuration: pulumi.StringRef(\"1d\"),\n\t\t\tStart:    pulumi.StringRef(\"1736031600\"),\n\t\t\tEnd:      pulumi.StringRef(\"1736175934\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_device_getapstats\" \"apStats\" {\n  org_id   = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n  mac      = \"5c5b35000000\"\n  site_id  = \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\"\n  status   = \"connected\"\n  duration = \"1d\"\n  start    = 1736031600\n  end      = 1736175934\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.device.DeviceFunctions;\nimport com.pulumi.junipermist.device.inputs.GetApStatsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var apStats = DeviceFunctions.getApStats(GetApStatsArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .mac(\"5c5b35000000\")\n            .siteId(\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\")\n            .status(\"connected\")\n            .duration(\"1d\")\n            .start(\"1736031600\")\n            .end(\"1736175934\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  apStats:\n    fn::invoke:\n      function: junipermist:device:getApStats\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n        mac: 5c5b35000000\n        siteId: 4a422ae5-7ca0-4599-87a3-8e49aa63685f\n        status: connected\n        duration: 1d\n        start: 1.7360316e+09\n        end: 1.736175934e+09\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getApStats.\n",
                "properties": {
                    "duration": {
                        "type": "string",
                        "description": "Duration like 7d, 2w\n"
                    },
                    "end": {
                        "type": "string",
                        "description": "End time (epoch timestamp in seconds, or relative string like \"-1d\", \"-2h\", \"now\")\n"
                    },
                    "mac": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "start": {
                        "type": "string",
                        "description": "Start time (epoch timestamp in seconds, or relative string like \"-1d\", \"-1w\")\n"
                    },
                    "status": {
                        "type": "string",
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\" pulumi-lang-hcl=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connected`\" pulumi-lang-dotnet=\"`Connected`\" pulumi-lang-go=\"`connected`\" pulumi-lang-python=\"`connected`\" pulumi-lang-yaml=\"`connected`\" pulumi-lang-java=\"`connected`\" pulumi-lang-hcl=\"`connected`\"\u003e`connected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\" pulumi-lang-hcl=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e\n"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getApStats.\n",
                "properties": {
                    "deviceApStats": {
                        "items": {
                            "$ref": "#/types/junipermist:device/getApStatsDeviceApStat:getApStatsDeviceApStat"
                        },
                        "type": "array"
                    },
                    "duration": {
                        "description": "Duration like 7d, 2w\n",
                        "type": "string"
                    },
                    "end": {
                        "description": "End time (epoch timestamp in seconds, or relative string like \"-1d\", \"-2h\", \"now\")\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "mac": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "start": {
                        "description": "Start time (epoch timestamp in seconds, or relative string like \"-1d\", \"-1w\")\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\" pulumi-lang-hcl=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connected`\" pulumi-lang-dotnet=\"`Connected`\" pulumi-lang-go=\"`connected`\" pulumi-lang-python=\"`connected`\" pulumi-lang-yaml=\"`connected`\" pulumi-lang-java=\"`connected`\" pulumi-lang-hcl=\"`connected`\"\u003e`connected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\" pulumi-lang-hcl=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e\n",
                        "type": "string"
                    }
                },
                "required": [
                    "deviceApStats",
                    "orgId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:device/getGatewayStats:getGatewayStats": {
            "description": "This data source provides the list of Gateways with their statistics.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst gatewayStats = junipermist.device.getGatewayStats({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac: \"e8a245000000\",\n    siteId: \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n    status: \"connected\",\n    duration: \"1d\",\n    start: \"1736031600\",\n    end: \"1736175934\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\ngateway_stats = junipermist.device.get_gateway_stats(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac=\"e8a245000000\",\n    site_id=\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n    status=\"connected\",\n    duration=\"1d\",\n    start=\"1736031600\",\n    end=\"1736175934\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gatewayStats = JuniperMist.Device.GetGatewayStats.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n        Mac = \"e8a245000000\",\n        SiteId = \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n        Status = \"connected\",\n        Duration = \"1d\",\n        Start = \"1736031600\",\n        End = \"1736175934\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/device\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := device.GetGatewayStats(ctx, \u0026device.GetGatewayStatsArgs{\n\t\t\tOrgId:    \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t\tMac:      pulumi.StringRef(\"e8a245000000\"),\n\t\t\tSiteId:   pulumi.StringRef(\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\"),\n\t\t\tStatus:   pulumi.StringRef(\"connected\"),\n\t\t\tDuration: pulumi.StringRef(\"1d\"),\n\t\t\tStart:    pulumi.StringRef(\"1736031600\"),\n\t\t\tEnd:      pulumi.StringRef(\"1736175934\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_device_getgatewaystats\" \"gatewayStats\" {\n  org_id   = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n  mac      = \"e8a245000000\"\n  site_id  = \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\"\n  status   = \"connected\"\n  duration = \"1d\"\n  start    = 1736031600\n  end      = 1736175934\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.device.DeviceFunctions;\nimport com.pulumi.junipermist.device.inputs.GetGatewayStatsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var gatewayStats = DeviceFunctions.getGatewayStats(GetGatewayStatsArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .mac(\"e8a245000000\")\n            .siteId(\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\")\n            .status(\"connected\")\n            .duration(\"1d\")\n            .start(\"1736031600\")\n            .end(\"1736175934\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  gatewayStats:\n    fn::invoke:\n      function: junipermist:device:getGatewayStats\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n        mac: e8a245000000\n        siteId: 4a422ae5-7ca0-4599-87a3-8e49aa63685f\n        status: connected\n        duration: 1d\n        start: 1.7360316e+09\n        end: 1.736175934e+09\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getGatewayStats.\n",
                "properties": {
                    "duration": {
                        "type": "string",
                        "description": "Duration like 7d, 2w\n"
                    },
                    "end": {
                        "type": "string",
                        "description": "End time (epoch timestamp in seconds, or relative string like \"-1d\", \"-2h\", \"now\")\n"
                    },
                    "mac": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "start": {
                        "type": "string",
                        "description": "Start time (epoch timestamp in seconds, or relative string like \"-1d\", \"-1w\")\n"
                    },
                    "status": {
                        "type": "string",
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\" pulumi-lang-hcl=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connected`\" pulumi-lang-dotnet=\"`Connected`\" pulumi-lang-go=\"`connected`\" pulumi-lang-python=\"`connected`\" pulumi-lang-yaml=\"`connected`\" pulumi-lang-java=\"`connected`\" pulumi-lang-hcl=\"`connected`\"\u003e`connected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\" pulumi-lang-hcl=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e\n"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getGatewayStats.\n",
                "properties": {
                    "deviceGatewayStats": {
                        "items": {
                            "$ref": "#/types/junipermist:device/getGatewayStatsDeviceGatewayStat:getGatewayStatsDeviceGatewayStat"
                        },
                        "type": "array"
                    },
                    "duration": {
                        "description": "Duration like 7d, 2w\n",
                        "type": "string"
                    },
                    "end": {
                        "description": "End time (epoch timestamp in seconds, or relative string like \"-1d\", \"-2h\", \"now\")\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "mac": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "start": {
                        "description": "Start time (epoch timestamp in seconds, or relative string like \"-1d\", \"-1w\")\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\" pulumi-lang-hcl=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connected`\" pulumi-lang-dotnet=\"`Connected`\" pulumi-lang-go=\"`connected`\" pulumi-lang-python=\"`connected`\" pulumi-lang-yaml=\"`connected`\" pulumi-lang-java=\"`connected`\" pulumi-lang-hcl=\"`connected`\"\u003e`connected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\" pulumi-lang-hcl=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e\n",
                        "type": "string"
                    }
                },
                "required": [
                    "deviceGatewayStats",
                    "orgId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:device/getSwitchStats:getSwitchStats": {
            "description": "This data source provides the list of Switches with their statistics.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst switchStats = junipermist.device.getSwitchStats({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac: \"485a0d000000\",\n    siteId: \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n    status: \"connected\",\n    evpnUnused: \"true\",\n    evpntopoId: \"92984e2f-94db-4cd8-9763-9cf83fbd079e\",\n    duration: \"1d\",\n    start: \"1736031600\",\n    end: \"1736175934\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nswitch_stats = junipermist.device.get_switch_stats(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac=\"485a0d000000\",\n    site_id=\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n    status=\"connected\",\n    evpn_unused=\"true\",\n    evpntopo_id=\"92984e2f-94db-4cd8-9763-9cf83fbd079e\",\n    duration=\"1d\",\n    start=\"1736031600\",\n    end=\"1736175934\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var switchStats = JuniperMist.Device.GetSwitchStats.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n        Mac = \"485a0d000000\",\n        SiteId = \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n        Status = \"connected\",\n        EvpnUnused = \"true\",\n        EvpntopoId = \"92984e2f-94db-4cd8-9763-9cf83fbd079e\",\n        Duration = \"1d\",\n        Start = \"1736031600\",\n        End = \"1736175934\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/device\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := device.GetSwitchStats(ctx, \u0026device.GetSwitchStatsArgs{\n\t\t\tOrgId:      \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t\tMac:        pulumi.StringRef(\"485a0d000000\"),\n\t\t\tSiteId:     pulumi.StringRef(\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\"),\n\t\t\tStatus:     pulumi.StringRef(\"connected\"),\n\t\t\tEvpnUnused: pulumi.StringRef(\"true\"),\n\t\t\tEvpntopoId: pulumi.StringRef(\"92984e2f-94db-4cd8-9763-9cf83fbd079e\"),\n\t\t\tDuration:   pulumi.StringRef(\"1d\"),\n\t\t\tStart:      pulumi.StringRef(\"1736031600\"),\n\t\t\tEnd:        pulumi.StringRef(\"1736175934\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_device_getswitchstats\" \"switchStats\" {\n  org_id      = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n  mac         = \"485a0d000000\"\n  site_id     = \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\"\n  status      = \"connected\"\n  evpn_unused = true\n  evpntopo_id = \"92984e2f-94db-4cd8-9763-9cf83fbd079e\"\n  duration    = \"1d\"\n  start       = 1736031600\n  end         = 1736175934\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.device.DeviceFunctions;\nimport com.pulumi.junipermist.device.inputs.GetSwitchStatsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var switchStats = DeviceFunctions.getSwitchStats(GetSwitchStatsArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .mac(\"485a0d000000\")\n            .siteId(\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\")\n            .status(\"connected\")\n            .evpnUnused(\"true\")\n            .evpntopoId(\"92984e2f-94db-4cd8-9763-9cf83fbd079e\")\n            .duration(\"1d\")\n            .start(\"1736031600\")\n            .end(\"1736175934\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  switchStats:\n    fn::invoke:\n      function: junipermist:device:getSwitchStats\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n        mac: 485a0d000000\n        siteId: 4a422ae5-7ca0-4599-87a3-8e49aa63685f\n        status: connected\n        evpnUnused: true\n        evpntopoId: 92984e2f-94db-4cd8-9763-9cf83fbd079e\n        duration: 1d\n        start: 1.7360316e+09\n        end: 1.736175934e+09\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSwitchStats.\n",
                "properties": {
                    "duration": {
                        "type": "string",
                        "description": "Duration like 7d, 2w\n"
                    },
                    "end": {
                        "type": "string",
                        "description": "End time (epoch timestamp in seconds, or relative string like \"-1d\", \"-2h\", \"now\")\n"
                    },
                    "evpnUnused": {
                        "type": "string",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`evpnUnused`\" pulumi-lang-dotnet=\"`EvpnUnused`\" pulumi-lang-go=\"`evpnUnused`\" pulumi-lang-python=\"`evpn_unused`\" pulumi-lang-yaml=\"`evpnUnused`\" pulumi-lang-java=\"`evpnUnused`\" pulumi-lang-hcl=\"`evpn_unused`\"\u003e`evpnUnused`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, find EVPN eligible switches which don’t belong to any EVPN Topology yet\n"
                    },
                    "evpntopoId": {
                        "type": "string",
                        "description": "EVPN Topology ID\n"
                    },
                    "mac": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "start": {
                        "type": "string",
                        "description": "Start time (epoch timestamp in seconds, or relative string like \"-1d\", \"-1w\")\n"
                    },
                    "status": {
                        "type": "string",
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\" pulumi-lang-hcl=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connected`\" pulumi-lang-dotnet=\"`Connected`\" pulumi-lang-go=\"`connected`\" pulumi-lang-python=\"`connected`\" pulumi-lang-yaml=\"`connected`\" pulumi-lang-java=\"`connected`\" pulumi-lang-hcl=\"`connected`\"\u003e`connected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\" pulumi-lang-hcl=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e\n"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSwitchStats.\n",
                "properties": {
                    "deviceSwitchStats": {
                        "items": {
                            "$ref": "#/types/junipermist:device/getSwitchStatsDeviceSwitchStat:getSwitchStatsDeviceSwitchStat"
                        },
                        "type": "array"
                    },
                    "duration": {
                        "description": "Duration like 7d, 2w\n",
                        "type": "string"
                    },
                    "end": {
                        "description": "End time (epoch timestamp in seconds, or relative string like \"-1d\", \"-2h\", \"now\")\n",
                        "type": "string"
                    },
                    "evpnUnused": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`evpnUnused`\" pulumi-lang-dotnet=\"`EvpnUnused`\" pulumi-lang-go=\"`evpnUnused`\" pulumi-lang-python=\"`evpn_unused`\" pulumi-lang-yaml=\"`evpnUnused`\" pulumi-lang-java=\"`evpnUnused`\" pulumi-lang-hcl=\"`evpn_unused`\"\u003e`evpnUnused`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, find EVPN eligible switches which don’t belong to any EVPN Topology yet\n",
                        "type": "string"
                    },
                    "evpntopoId": {
                        "description": "EVPN Topology ID\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "mac": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "start": {
                        "description": "Start time (epoch timestamp in seconds, or relative string like \"-1d\", \"-1w\")\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\" pulumi-lang-hcl=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connected`\" pulumi-lang-dotnet=\"`Connected`\" pulumi-lang-go=\"`connected`\" pulumi-lang-python=\"`connected`\" pulumi-lang-yaml=\"`connected`\" pulumi-lang-java=\"`connected`\" pulumi-lang-hcl=\"`connected`\"\u003e`connected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\" pulumi-lang-hcl=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e\n",
                        "type": "string"
                    }
                },
                "required": [
                    "deviceSwitchStats",
                    "orgId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:device/getVersions:getVersions": {
            "description": "This data source provides the list of available Firmware Versions.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst ap24Versions = junipermist.device.getVersions({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    type: \"ap\",\n    model: \"AP24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nap24_versions = junipermist.device.get_versions(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    type=\"ap\",\n    model=\"AP24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ap24Versions = JuniperMist.Device.GetVersions.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n        Type = \"ap\",\n        Model = \"AP24\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/device\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := device.GetVersions(ctx, \u0026device.GetVersionsArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t\tType:  \"ap\",\n\t\t\tModel: \"AP24\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_device_getversions\" \"ap24Versions\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n  type   = \"ap\"\n  model  = \"AP24\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.device.DeviceFunctions;\nimport com.pulumi.junipermist.device.inputs.GetVersionsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var ap24Versions = DeviceFunctions.getVersions(GetVersionsArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .type(\"ap\")\n            .model(\"AP24\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  ap24Versions:\n    fn::invoke:\n      function: junipermist:device:getVersions\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n        type: ap\n        model: AP24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getVersions.\n",
                "properties": {
                    "model": {
                        "type": "string",
                        "description": "Fetch version for device model, use/combine with \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e as needed (for switch and gateway devices)\n"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ap`\" pulumi-lang-dotnet=\"`Ap`\" pulumi-lang-go=\"`ap`\" pulumi-lang-python=\"`ap`\" pulumi-lang-yaml=\"`ap`\" pulumi-lang-java=\"`ap`\" pulumi-lang-hcl=\"`ap`\"\u003e`ap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e\n"
                    }
                },
                "type": "object",
                "required": [
                    "model",
                    "orgId",
                    "type"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getVersions.\n",
                "properties": {
                    "deviceVersions": {
                        "items": {
                            "$ref": "#/types/junipermist:device/getVersionsDeviceVersion:getVersionsDeviceVersion"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "model": {
                        "description": "Fetch version for device model, use/combine with \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e as needed (for switch and gateway devices)\n",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "type": {
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ap`\" pulumi-lang-dotnet=\"`Ap`\" pulumi-lang-go=\"`ap`\" pulumi-lang-python=\"`ap`\" pulumi-lang-yaml=\"`ap`\" pulumi-lang-java=\"`ap`\" pulumi-lang-hcl=\"`ap`\"\u003e`ap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e\n",
                        "type": "string"
                    }
                },
                "required": [
                    "deviceVersions",
                    "model",
                    "orgId",
                    "type",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:index/getConstAlarms:getConstAlarms": {
            "description": "This data source provides the list of available Alarms.\n\nThe alarm \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e can be used to configure the `mist_org_alarmtemplate.rules`.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst listOfAlarms = junipermist.getConstAlarms({});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nlist_of_alarms = junipermist.get_const_alarms()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listOfAlarms = JuniperMist.GetConstAlarms.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.GetConstAlarms(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_getconstalarms\" \"listOfAlarms\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.JunipermistFunctions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listOfAlarms = JunipermistFunctions.getConstAlarms(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  listOfAlarms:\n    fn::invoke:\n      function: junipermist:getConstAlarms\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "outputs": {
                "description": "A collection of values returned by getConstAlarms.\n",
                "properties": {
                    "constAlarms": {
                        "items": {
                            "$ref": "#/types/junipermist:index/getConstAlarmsConstAlarm:getConstAlarmsConstAlarm"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    }
                },
                "required": [
                    "constAlarms",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:index/getConstAppCategories:getConstAppCategories": {
            "description": "This data source provides the of ConstAppCategories.\n\nThis information can be used as \u003cspan pulumi-lang-nodejs=\"`appCategories`\" pulumi-lang-dotnet=\"`AppCategories`\" pulumi-lang-go=\"`appCategories`\" pulumi-lang-python=\"`app_categories`\" pulumi-lang-yaml=\"`appCategories`\" pulumi-lang-java=\"`appCategories`\" pulumi-lang-hcl=\"`app_categories`\"\u003e`appCategories`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Service`\" pulumi-lang-dotnet=\"`junipermist.org.Service`\" pulumi-lang-go=\"`org.Service`\" pulumi-lang-python=\"`org.Service`\" pulumi-lang-yaml=\"`junipermist.org.Service`\" pulumi-lang-java=\"`junipermist.org.Service`\" pulumi-lang-hcl=\"`mist_org_service`\"\u003e`junipermist.org.Service`\u003c/span\u003e resource\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst listOfAppCategories = junipermist.getConstAppCategories({});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nlist_of_app_categories = junipermist.get_const_app_categories()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listOfAppCategories = JuniperMist.GetConstAppCategories.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.GetConstAppCategories(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_getconstappcategories\" \"listOfAppCategories\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.JunipermistFunctions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listOfAppCategories = JunipermistFunctions.getConstAppCategories(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  listOfAppCategories:\n    fn::invoke:\n      function: junipermist:getConstAppCategories\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "outputs": {
                "description": "A collection of values returned by getConstAppCategories.\n",
                "properties": {
                    "constAppCategories": {
                        "items": {
                            "$ref": "#/types/junipermist:index/getConstAppCategoriesConstAppCategory:getConstAppCategoriesConstAppCategory"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    }
                },
                "required": [
                    "constAppCategories",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:index/getConstAppSubCategories:getConstAppSubCategories": {
            "description": "This data source provides the of ConstAppSubCategories.\n\nThis information can be used as \u003cspan pulumi-lang-nodejs=\"`appSubcategories`\" pulumi-lang-dotnet=\"`AppSubcategories`\" pulumi-lang-go=\"`appSubcategories`\" pulumi-lang-python=\"`app_subcategories`\" pulumi-lang-yaml=\"`appSubcategories`\" pulumi-lang-java=\"`appSubcategories`\" pulumi-lang-hcl=\"`app_subcategories`\"\u003e`appSubcategories`\u003c/span\u003e in the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Service`\" pulumi-lang-dotnet=\"`junipermist.org.Service`\" pulumi-lang-go=\"`org.Service`\" pulumi-lang-python=\"`org.Service`\" pulumi-lang-yaml=\"`junipermist.org.Service`\" pulumi-lang-java=\"`junipermist.org.Service`\" pulumi-lang-hcl=\"`mist_org_service`\"\u003e`junipermist.org.Service`\u003c/span\u003e resource\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst listOfAppSubCategories = junipermist.getConstAppSubCategories({});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nlist_of_app_sub_categories = junipermist.get_const_app_sub_categories()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listOfAppSubCategories = JuniperMist.GetConstAppSubCategories.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.GetConstAppSubCategories(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_getconstappsubcategories\" \"listOfAppSubCategories\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.JunipermistFunctions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listOfAppSubCategories = JunipermistFunctions.getConstAppSubCategories(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  listOfAppSubCategories:\n    fn::invoke:\n      function: junipermist:getConstAppSubCategories\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "outputs": {
                "description": "A collection of values returned by getConstAppSubCategories.\n",
                "properties": {
                    "constAppSubCategories": {
                        "items": {
                            "$ref": "#/types/junipermist:index/getConstAppSubCategoriesConstAppSubCategory:getConstAppSubCategoriesConstAppSubCategory"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    }
                },
                "required": [
                    "constAppSubCategories",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:index/getConstApplications:getConstApplications": {
            "description": "This data source provides the of ConstApplications.\n\nThis information can be used as \u003cspan pulumi-lang-nodejs=\"`apps`\" pulumi-lang-dotnet=\"`Apps`\" pulumi-lang-go=\"`apps`\" pulumi-lang-python=\"`apps`\" pulumi-lang-yaml=\"`apps`\" pulumi-lang-java=\"`apps`\" pulumi-lang-hcl=\"`apps`\"\u003e`apps`\u003c/span\u003e in:\n* \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Service`\" pulumi-lang-dotnet=\"`junipermist.org.Service`\" pulumi-lang-go=\"`org.Service`\" pulumi-lang-python=\"`org.Service`\" pulumi-lang-yaml=\"`junipermist.org.Service`\" pulumi-lang-java=\"`junipermist.org.Service`\" pulumi-lang-hcl=\"`mist_org_service`\"\u003e`junipermist.org.Service`\u003c/span\u003e resource\n* \u003cspan pulumi-lang-nodejs=\"`junipermist.site.Setting`\" pulumi-lang-dotnet=\"`junipermist.site.Setting`\" pulumi-lang-go=\"`site.Setting`\" pulumi-lang-python=\"`site.Setting`\" pulumi-lang-yaml=\"`junipermist.site.Setting`\" pulumi-lang-java=\"`junipermist.site.Setting`\" pulumi-lang-hcl=\"`mist_site_setting`\"\u003e`junipermist.site.Setting`\u003c/span\u003e resource (`mist_site_setting.gateway_mgmt.app_probing.apps`)\n* \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Setting`\" pulumi-lang-dotnet=\"`junipermist.org.Setting`\" pulumi-lang-go=\"`org.Setting`\" pulumi-lang-python=\"`org.Setting`\" pulumi-lang-yaml=\"`junipermist.org.Setting`\" pulumi-lang-java=\"`junipermist.org.Setting`\" pulumi-lang-hcl=\"`mist_org_setting`\"\u003e`junipermist.org.Setting`\u003c/span\u003e resource (`mist_org_setting.gateway_mgmt.app_probing.apps`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst listOfApplications = junipermist.getConstApplications({});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nlist_of_applications = junipermist.get_const_applications()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listOfApplications = JuniperMist.GetConstApplications.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.GetConstApplications(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_getconstapplications\" \"listOfApplications\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.JunipermistFunctions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listOfApplications = JunipermistFunctions.getConstApplications(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  listOfApplications:\n    fn::invoke:\n      function: junipermist:getConstApplications\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "outputs": {
                "description": "A collection of values returned by getConstApplications.\n",
                "properties": {
                    "constApplications": {
                        "items": {
                            "$ref": "#/types/junipermist:index/getConstApplicationsConstApplication:getConstApplicationsConstApplication"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    }
                },
                "required": [
                    "constApplications",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:index/getConstCountries:getConstCountries": {
            "description": "This data source provides the of ConstCountries.\n\nThis information can be used to define the Country in the RF templates (\u003cspan pulumi-lang-nodejs=\"`junipermist.org.Rftemplate`\" pulumi-lang-dotnet=\"`junipermist.org.Rftemplate`\" pulumi-lang-go=\"`org.Rftemplate`\" pulumi-lang-python=\"`org.Rftemplate`\" pulumi-lang-yaml=\"`junipermist.org.Rftemplate`\" pulumi-lang-java=\"`junipermist.org.Rftemplate`\" pulumi-lang-hcl=\"`mist_org_rftemplate`\"\u003e`junipermist.org.Rftemplate`\u003c/span\u003e)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst listOfCountries = junipermist.getConstCountries({});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nlist_of_countries = junipermist.get_const_countries()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listOfCountries = JuniperMist.GetConstCountries.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.GetConstCountries(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_getconstcountries\" \"listOfCountries\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.JunipermistFunctions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listOfCountries = JunipermistFunctions.getConstCountries(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  listOfCountries:\n    fn::invoke:\n      function: junipermist:getConstCountries\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "outputs": {
                "description": "A collection of values returned by getConstCountries.\n",
                "properties": {
                    "constCountries": {
                        "items": {
                            "$ref": "#/types/junipermist:index/getConstCountriesConstCountry:getConstCountriesConstCountry"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    }
                },
                "required": [
                    "constCountries",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:index/getConstFingerprints:getConstFingerprints": {
            "description": "This data source provides the of list of supported Fingerprints.\n\nThe Fingerprint information can be used within \u003cspan pulumi-lang-nodejs=\"`matching`\" pulumi-lang-dotnet=\"`Matching`\" pulumi-lang-go=\"`matching`\" pulumi-lang-python=\"`matching`\" pulumi-lang-yaml=\"`matching`\" pulumi-lang-java=\"`matching`\" pulumi-lang-hcl=\"`matching`\"\u003e`matching`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`notMatching`\" pulumi-lang-dotnet=\"`NotMatching`\" pulumi-lang-go=\"`notMatching`\" pulumi-lang-python=\"`not_matching`\" pulumi-lang-yaml=\"`notMatching`\" pulumi-lang-java=\"`notMatching`\" pulumi-lang-hcl=\"`not_matching`\"\u003e`notMatching`\u003c/span\u003e attributes of the NAC Rule resource (\u003cspan pulumi-lang-nodejs=\"`junipermist.org.Nacrule`\" pulumi-lang-dotnet=\"`junipermist.org.Nacrule`\" pulumi-lang-go=\"`org.Nacrule`\" pulumi-lang-python=\"`org.Nacrule`\" pulumi-lang-yaml=\"`junipermist.org.Nacrule`\" pulumi-lang-java=\"`junipermist.org.Nacrule`\" pulumi-lang-hcl=\"`mist_org_nacrule`\"\u003e`junipermist.org.Nacrule`\u003c/span\u003e)\n\nThere are four different types of fingerprints available:* Family\n* Model\n* Mfg\n* OS Type\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst listOfFingerprints = junipermist.getConstFingerprints({});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nlist_of_fingerprints = junipermist.get_const_fingerprints()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listOfFingerprints = JuniperMist.GetConstFingerprints.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.GetConstFingerprints(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_getconstfingerprints\" \"listOfFingerprints\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.JunipermistFunctions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listOfFingerprints = JunipermistFunctions.getConstFingerprints(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  listOfFingerprints:\n    fn::invoke:\n      function: junipermist:getConstFingerprints\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "outputs": {
                "description": "A collection of values returned by getConstFingerprints.\n",
                "properties": {
                    "families": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "mfgs": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "models": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "os": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "families",
                    "mfgs",
                    "models",
                    "os",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:index/getConstTrafficTypes:getConstTrafficTypes": {
            "description": "This data source provides the of ConstTrafficTypes.\n\nThe Traffic Type values can be used to define the \u003cspan pulumi-lang-nodejs=\"`trafficType`\" pulumi-lang-dotnet=\"`TrafficType`\" pulumi-lang-go=\"`trafficType`\" pulumi-lang-python=\"`traffic_type`\" pulumi-lang-yaml=\"`trafficType`\" pulumi-lang-java=\"`trafficType`\" pulumi-lang-hcl=\"`traffic_type`\"\u003e`trafficType`\u003c/span\u003e attribute in the \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Service`\" pulumi-lang-dotnet=\"`junipermist.org.Service`\" pulumi-lang-go=\"`org.Service`\" pulumi-lang-python=\"`org.Service`\" pulumi-lang-yaml=\"`junipermist.org.Service`\" pulumi-lang-java=\"`junipermist.org.Service`\" pulumi-lang-hcl=\"`mist_org_service`\"\u003e`junipermist.org.Service`\u003c/span\u003e resource.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst listOfTrafficTypes = junipermist.getConstTrafficTypes({});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nlist_of_traffic_types = junipermist.get_const_traffic_types()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listOfTrafficTypes = JuniperMist.GetConstTrafficTypes.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.GetConstTrafficTypes(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_getconsttraffictypes\" \"listOfTrafficTypes\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.JunipermistFunctions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listOfTrafficTypes = JunipermistFunctions.getConstTrafficTypes(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  listOfTrafficTypes:\n    fn::invoke:\n      function: junipermist:getConstTrafficTypes\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "outputs": {
                "description": "A collection of values returned by getConstTrafficTypes.\n",
                "properties": {
                    "constTrafficTypes": {
                        "items": {
                            "$ref": "#/types/junipermist:index/getConstTrafficTypesConstTrafficType:getConstTrafficTypesConstTrafficType"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    }
                },
                "required": [
                    "constTrafficTypes",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:index/getConstWebhooks:getConstWebhooks": {
            "description": "This data source provides the list of Webhook Topics.\n\nThis information can be used to configure webhooks at the Org level (\u003cspan pulumi-lang-nodejs=\"`junipermist.org.Webhook`\" pulumi-lang-dotnet=\"`junipermist.org.Webhook`\" pulumi-lang-go=\"`org.Webhook`\" pulumi-lang-python=\"`org.Webhook`\" pulumi-lang-yaml=\"`junipermist.org.Webhook`\" pulumi-lang-java=\"`junipermist.org.Webhook`\" pulumi-lang-hcl=\"`mist_org_webhook`\"\u003e`junipermist.org.Webhook`\u003c/span\u003e resource) or at the Site level (\u003cspan pulumi-lang-nodejs=\"`junipermist.site.Webhook`\" pulumi-lang-dotnet=\"`junipermist.site.Webhook`\" pulumi-lang-go=\"`site.Webhook`\" pulumi-lang-python=\"`site.Webhook`\" pulumi-lang-yaml=\"`junipermist.site.Webhook`\" pulumi-lang-java=\"`junipermist.site.Webhook`\" pulumi-lang-hcl=\"`mist_site_webhook`\"\u003e`junipermist.site.Webhook`\u003c/span\u003e resource).\n\n\u003e Only the Webhook topics with \u003cspan pulumi-lang-nodejs=\"`forOrg`\" pulumi-lang-dotnet=\"`ForOrg`\" pulumi-lang-go=\"`forOrg`\" pulumi-lang-python=\"`for_org`\" pulumi-lang-yaml=\"`forOrg`\" pulumi-lang-java=\"`forOrg`\" pulumi-lang-hcl=\"`for_org`\"\u003e`forOrg`\u003c/span\u003e==` true` are supported at the Org level.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst listOfWebhooks = junipermist.getConstWebhooks({});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nlist_of_webhooks = junipermist.get_const_webhooks()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listOfWebhooks = JuniperMist.GetConstWebhooks.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.GetConstWebhooks(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_getconstwebhooks\" \"listOfWebhooks\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.JunipermistFunctions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listOfWebhooks = JunipermistFunctions.getConstWebhooks(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  listOfWebhooks:\n    fn::invoke:\n      function: junipermist:getConstWebhooks\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "outputs": {
                "description": "A collection of values returned by getConstWebhooks.\n",
                "properties": {
                    "constWebhooks": {
                        "items": {
                            "$ref": "#/types/junipermist:index/getConstWebhooksConstWebhook:getConstWebhooksConstWebhook"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    }
                },
                "required": [
                    "constWebhooks",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:index/getSites:getSites": {
            "description": "This datasource provides the list of sites in a Mist Organization.\nA site represents a project, a deployment. A site contains a set of Maps, Wlans, Policies, Zones, ...\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst sites = junipermist.getSites({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nsites = junipermist.get_sites(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sites = JuniperMist.GetSites.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := junipermist.GetSites(ctx, \u0026junipermist.GetSitesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_getsites\" \"sites\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.JunipermistFunctions;\nimport com.pulumi.junipermist.inputs.GetSitesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sites = JunipermistFunctions.getSites(GetSitesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  sites:\n    fn::invoke:\n      function: junipermist:getSites\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSites.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSites.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "sites": {
                        "items": {
                            "$ref": "#/types/junipermist:index/getSitesSite:getSitesSite"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "sites",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getAlarmtemplates:getAlarmtemplates": {
            "description": "This data source provides the list of Alarm Templates.\n\nAn Alarm Template is a set of Alarm Rules that could be applied to one or more sites (while each site can only pick one Alarm Template), or to the whole org.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst alarmtemplates = junipermist.org.getAlarmtemplates({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nalarmtemplates = junipermist.org.get_alarmtemplates(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var alarmtemplates = JuniperMist.Org.GetAlarmtemplates.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetAlarmtemplates(ctx, \u0026org.GetAlarmtemplatesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getalarmtemplates\" \"alarmtemplates\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetAlarmtemplatesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var alarmtemplates = OrgFunctions.getAlarmtemplates(GetAlarmtemplatesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  alarmtemplates:\n    fn::invoke:\n      function: junipermist:org:getAlarmtemplates\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getAlarmtemplates.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getAlarmtemplates.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgAlarmtemplates": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getAlarmtemplatesOrgAlarmtemplate:getAlarmtemplatesOrgAlarmtemplate"
                        },
                        "type": "array"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "required": [
                    "orgAlarmtemplates",
                    "orgId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getAvprofiles:getAvprofiles": {
            "description": "This data source provides the list of WAN Assurance Antivirus Profiles.\n\nAn Antivirus Profile is used to configure the Antivirus feature on SRX devices. It specifies which content the Antivirus should analyse and which content should be ignored.\n\nThe Antivirus profiles can be used within the following resources: \n * `mist_org_servicepolicy.antivirus` \n * `mist_org_gatewaytemplate.service_policies.antivirus` \n * `mist_org_deviceprofile_gateway.service_policies.antivirus` \n * `mist_device_gateway.service_policies.antivirus`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst avprofiles = junipermist.org.getAvprofiles({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\navprofiles = junipermist.org.get_avprofiles(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var avprofiles = JuniperMist.Org.GetAvprofiles.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetAvprofiles(ctx, \u0026org.GetAvprofilesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getavprofiles\" \"avprofiles\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetAvprofilesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var avprofiles = OrgFunctions.getAvprofiles(GetAvprofilesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  avprofiles:\n    fn::invoke:\n      function: junipermist:org:getAvprofiles\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getAvprofiles.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getAvprofiles.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgAvprofiles": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getAvprofilesOrgAvprofile:getAvprofilesOrgAvprofile"
                        },
                        "type": "array"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "required": [
                    "orgAvprofiles",
                    "orgId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getDeviceprofilesAp:getDeviceprofilesAp": {
            "description": "This data source provides the list of AP Device Profiles.\n\nAP Device profiles are used to specify a configuration that can be applied to a select set of aps from any site in the organization. They are providing efficient application of configurations based on ap groups, wlan groups, RF settings, and sites. Device profiles enable various use cases such as activating ethernet passthrough, applying different rf settings, applying mesh configuration, activating specific features like esl or vble, and more.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst deviceprofile = junipermist.org.getDeviceprofilesAp({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\ndeviceprofile = junipermist.org.get_deviceprofiles_ap(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var deviceprofile = JuniperMist.Org.GetDeviceprofilesAp.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetDeviceprofilesAp(ctx, \u0026org.GetDeviceprofilesApArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getdeviceprofilesap\" \"deviceprofile\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetDeviceprofilesApArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var deviceprofile = OrgFunctions.getDeviceprofilesAp(GetDeviceprofilesApArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  deviceprofile:\n    fn::invoke:\n      function: junipermist:org:getDeviceprofilesAp\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getDeviceprofilesAp.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getDeviceprofilesAp.\n",
                "properties": {
                    "deviceprofiles": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getDeviceprofilesApDeviceprofile:getDeviceprofilesApDeviceprofile"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "required": [
                    "deviceprofiles",
                    "orgId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getDeviceprofilesGateway:getDeviceprofilesGateway": {
            "description": "This provides the list of Gateway Device Profiles (Hub Profile).\n\nA HUB profile is a configuration profile that automates the creation of overlay networks and defines the attributes of a hub device in a network. It includes settings for wan interfaces, lan interfaces, dns servers, traffic steering preferences, application policies, and routing options.\n\nHUB profiles are used to create consistent configurations for hub devices and ensure efficient connectivity between hubs and spokes in a network.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst deviceprofile = junipermist.org.getDeviceprofilesGateway({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\ndeviceprofile = junipermist.org.get_deviceprofiles_gateway(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var deviceprofile = JuniperMist.Org.GetDeviceprofilesGateway.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetDeviceprofilesGateway(ctx, \u0026org.GetDeviceprofilesGatewayArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getdeviceprofilesgateway\" \"deviceprofile\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetDeviceprofilesGatewayArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var deviceprofile = OrgFunctions.getDeviceprofilesGateway(GetDeviceprofilesGatewayArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  deviceprofile:\n    fn::invoke:\n      function: junipermist:org:getDeviceprofilesGateway\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getDeviceprofilesGateway.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getDeviceprofilesGateway.\n",
                "properties": {
                    "deviceprofiles": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getDeviceprofilesGatewayDeviceprofile:getDeviceprofilesGatewayDeviceprofile"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "required": [
                    "deviceprofiles",
                    "orgId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getEvpnTopologies:getEvpnTopologies": {
            "description": "This data source provides the list of Org Evpn Topologies\n\nEVPN allows an alternative but more efficient LAN architecture utilizing VxLAN / MP-BGP to separate the control plane (MAC / IP Learning) from the forwarding plane.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst orgEvpnTopologies = junipermist.org.getEvpnTopologies({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\norg_evpn_topologies = junipermist.org.get_evpn_topologies(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var orgEvpnTopologies = JuniperMist.Org.GetEvpnTopologies.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetEvpnTopologies(ctx, \u0026org.GetEvpnTopologiesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getevpntopologies\" \"orgEvpnTopologies\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetEvpnTopologiesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var orgEvpnTopologies = OrgFunctions.getEvpnTopologies(GetEvpnTopologiesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  orgEvpnTopologies:\n    fn::invoke:\n      function: junipermist:org:getEvpnTopologies\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getEvpnTopologies.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getEvpnTopologies.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgEvpnTopologies": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getEvpnTopologiesOrgEvpnTopology:getEvpnTopologiesOrgEvpnTopology"
                        },
                        "type": "array"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "required": [
                    "orgEvpnTopologies",
                    "orgId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getGatewaytemplates:getGatewaytemplates": {
            "description": "This data source provides the list of Gateway Templates.\n\nA Gateway template can be used to define generic gateway configuration at the org level and be applied to one or multiple Sites. It works like a blueprint of the network of the site.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst templates = junipermist.org.getGatewaytemplates({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\ntemplates = junipermist.org.get_gatewaytemplates(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var templates = JuniperMist.Org.GetGatewaytemplates.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetGatewaytemplates(ctx, \u0026org.GetGatewaytemplatesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getgatewaytemplates\" \"templates\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetGatewaytemplatesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var templates = OrgFunctions.getGatewaytemplates(GetGatewaytemplatesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  templates:\n    fn::invoke:\n      function: junipermist:org:getGatewaytemplates\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getGatewaytemplates.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getGatewaytemplates.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgGatewaytemplates": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getGatewaytemplatesOrgGatewaytemplate:getGatewaytemplatesOrgGatewaytemplate"
                        },
                        "type": "array"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "required": [
                    "orgGatewaytemplates",
                    "orgId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getIdpprofiles:getIdpprofiles": {
            "description": "This data source provides the list of WAN Assurance IDP Profiles.\n\nAn IDP Profile is a configuration setting that defines the behavior and actions of an intrusion detection and prevention (IDP) system. It specifies how the idp system should detect and respond to potential security threats or attacks on a network.\n\nThe profile includes rules and policies that determine which types of traffic or attacks should be monitored, what actions should be taken when a threat is detected, and any exceptions or exclusions for specific destinations or attack types.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst idpprofiles = junipermist.org.getIdpprofiles({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nidpprofiles = junipermist.org.get_idpprofiles(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var idpprofiles = JuniperMist.Org.GetIdpprofiles.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetIdpprofiles(ctx, \u0026org.GetIdpprofilesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getidpprofiles\" \"idpprofiles\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetIdpprofilesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var idpprofiles = OrgFunctions.getIdpprofiles(GetIdpprofilesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  idpprofiles:\n    fn::invoke:\n      function: junipermist:org:getIdpprofiles\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getIdpprofiles.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getIdpprofiles.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgIdpprofiles": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getIdpprofilesOrgIdpprofile:getIdpprofilesOrgIdpprofile"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgIdpprofiles",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getInventory:getInventory": {
            "description": "This data source provides the list of Devices in the Org inventory.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst inventory = junipermist.org.getInventory({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac: \"485a0d000000\",\n    model: \"EX4100-F-12P\",\n    serial: \"F00000000000\",\n    unassigned: false,\n    vc: true,\n    vcMac: \"485a0d000001\",\n    siteId: \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\ninventory = junipermist.org.get_inventory(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac=\"485a0d000000\",\n    model=\"EX4100-F-12P\",\n    serial=\"F00000000000\",\n    unassigned=False,\n    vc=True,\n    vc_mac=\"485a0d000001\",\n    site_id=\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var inventory = JuniperMist.Org.GetInventory.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n        Mac = \"485a0d000000\",\n        Model = \"EX4100-F-12P\",\n        Serial = \"F00000000000\",\n        Unassigned = false,\n        Vc = true,\n        VcMac = \"485a0d000001\",\n        SiteId = \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.LookupInventory(ctx, \u0026org.LookupInventoryArgs{\n\t\t\tOrgId:      \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t\tMac:        pulumi.StringRef(\"485a0d000000\"),\n\t\t\tModel:      pulumi.StringRef(\"EX4100-F-12P\"),\n\t\t\tSerial:     pulumi.StringRef(\"F00000000000\"),\n\t\t\tUnassigned: pulumi.BoolRef(false),\n\t\t\tVc:         pulumi.BoolRef(true),\n\t\t\tVcMac:      pulumi.StringRef(\"485a0d000001\"),\n\t\t\tSiteId:     pulumi.StringRef(\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getinventory\" \"inventory\" {\n  org_id     = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n  mac        = \"485a0d000000\"\n  model      = \"EX4100-F-12P\"\n  serial     = \"F00000000000\"\n  unassigned = false\n  vc         = true\n  vc_mac     = \"485a0d000001\"\n  site_id    = \"4a422ae5-7ca0-4599-87a3-8e49aa63685f\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetInventoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var inventory = OrgFunctions.getInventory(GetInventoryArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .mac(\"485a0d000000\")\n            .model(\"EX4100-F-12P\")\n            .serial(\"F00000000000\")\n            .unassigned(false)\n            .vc(true)\n            .vcMac(\"485a0d000001\")\n            .siteId(\"4a422ae5-7ca0-4599-87a3-8e49aa63685f\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  inventory:\n    fn::invoke:\n      function: junipermist:org:getInventory\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n        mac: 485a0d000000\n        model: EX4100-F-12P\n        serial: F00000000000\n        unassigned: false\n        vc: true\n        vcMac: 485a0d000001\n        siteId: 4a422ae5-7ca0-4599-87a3-8e49aa63685f\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getInventory.\n",
                "properties": {
                    "mac": {
                        "type": "string",
                        "description": "MAC address\n"
                    },
                    "model": {
                        "type": "string",
                        "description": "Device model\n"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "serial": {
                        "type": "string",
                        "description": "Device serial\n"
                    },
                    "siteId": {
                        "type": "string",
                        "description": "Site id if assigned, null if not assigned\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ap`\" pulumi-lang-dotnet=\"`Ap`\" pulumi-lang-go=\"`ap`\" pulumi-lang-python=\"`ap`\" pulumi-lang-yaml=\"`ap`\" pulumi-lang-java=\"`ap`\" pulumi-lang-hcl=\"`ap`\"\u003e`ap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e\n"
                    },
                    "unassigned": {
                        "type": "boolean",
                        "description": "To display Unassigned devices\n"
                    },
                    "vc": {
                        "type": "boolean",
                        "description": "To display Virtual Chassis members\n"
                    },
                    "vcMac": {
                        "type": "string",
                        "description": "Virtual Chassis MAC Address\n"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getInventory.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "mac": {
                        "description": "MAC address\n",
                        "type": "string"
                    },
                    "model": {
                        "description": "Device model\n",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgInventories": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getInventoryOrgInventory:getInventoryOrgInventory"
                        },
                        "type": "array"
                    },
                    "serial": {
                        "description": "Device serial\n",
                        "type": "string"
                    },
                    "siteId": {
                        "description": "Site id if assigned, null if not assigned\n",
                        "type": "string"
                    },
                    "type": {
                        "description": "enum: \u003cspan pulumi-lang-nodejs=\"`ap`\" pulumi-lang-dotnet=\"`Ap`\" pulumi-lang-go=\"`ap`\" pulumi-lang-python=\"`ap`\" pulumi-lang-yaml=\"`ap`\" pulumi-lang-java=\"`ap`\" pulumi-lang-hcl=\"`ap`\"\u003e`ap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\" pulumi-lang-hcl=\"`gateway`\"\u003e`gateway`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`switch`\" pulumi-lang-dotnet=\"`Switch`\" pulumi-lang-go=\"`switch`\" pulumi-lang-python=\"`switch`\" pulumi-lang-yaml=\"`switch`\" pulumi-lang-java=\"`switch`\" pulumi-lang-hcl=\"`switch`\"\u003e`switch`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "unassigned": {
                        "description": "To display Unassigned devices\n",
                        "type": "boolean"
                    },
                    "vc": {
                        "description": "To display Virtual Chassis members\n",
                        "type": "boolean"
                    },
                    "vcMac": {
                        "description": "Virtual Chassis MAC Address\n",
                        "type": "string"
                    }
                },
                "required": [
                    "orgId",
                    "orgInventories",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getNacEndpoints:getNacEndpoints": {
            "description": "This data source provides the list of NAC Endpoints (User MACs).\n\nNAC Endpoints (User MACs) provide a database of endpoints identified by their MAC addresses. They can be used assign each endpoint with various attributes, such as name, VLAN, role and client label.  Once an endpoint is labeled, the label name can be used to create \u003cspan pulumi-lang-nodejs=\"`junipermist.org.Nactag`\" pulumi-lang-dotnet=\"`junipermist.org.Nactag`\" pulumi-lang-go=\"`org.Nactag`\" pulumi-lang-python=\"`org.Nactag`\" pulumi-lang-yaml=\"`junipermist.org.Nactag`\" pulumi-lang-java=\"`junipermist.org.Nactag`\" pulumi-lang-hcl=\"`mist_org_nactag`\"\u003e`junipermist.org.Nactag`\u003c/span\u003e resource as match criteria.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst nacEndpoints = junipermist.org.getNacEndpoints({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac: \"4a422a000000\",\n    labels: [\"label_one\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nnac_endpoints = junipermist.org.get_nac_endpoints(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    mac=\"4a422a000000\",\n    labels=[\"label_one\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nacEndpoints = JuniperMist.Org.GetNacEndpoints.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n        Mac = \"4a422a000000\",\n        Labels = new[]\n        {\n            \"label_one\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetNacEndpoints(ctx, \u0026org.GetNacEndpointsArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t\tMac:   pulumi.StringRef(\"4a422a000000\"),\n\t\t\tLabels: []string{\n\t\t\t\t\"label_one\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getnacendpoints\" \"nacEndpoints\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n  mac    = \"4a422a000000\"\n  labels = [\"label_one\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetNacEndpointsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var nacEndpoints = OrgFunctions.getNacEndpoints(GetNacEndpointsArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .mac(\"4a422a000000\")\n            .labels(\"label_one\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  nacEndpoints:\n    fn::invoke:\n      function: junipermist:org:getNacEndpoints\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n        mac: 4a422a000000\n        labels:\n          - label_one\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getNacEndpoints.\n",
                "properties": {
                    "labels": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Optional, array of strings of labels\n"
                    },
                    "mac": {
                        "type": "string",
                        "description": "Partial/full MAC address\n"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getNacEndpoints.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "labels": {
                        "description": "Optional, array of strings of labels\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "mac": {
                        "description": "Partial/full MAC address\n",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgUsermacs": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getNacEndpointsOrgUsermac:getNacEndpointsOrgUsermac"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgUsermacs",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getNacidpMetadata:getNacidpMetadata": {
            "description": "This data source provides the NAC IDP Metadata information.\n\nThe provided information (\u003cspan pulumi-lang-nodejs=\"`entityId`\" pulumi-lang-dotnet=\"`EntityId`\" pulumi-lang-go=\"`entityId`\" pulumi-lang-python=\"`entity_id`\" pulumi-lang-yaml=\"`entityId`\" pulumi-lang-java=\"`entityId`\" pulumi-lang-hcl=\"`entity_id`\"\u003e`entityId`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`acsUrl`\" pulumi-lang-dotnet=\"`AcsUrl`\" pulumi-lang-go=\"`acsUrl`\" pulumi-lang-python=\"`acs_url`\" pulumi-lang-yaml=\"`acsUrl`\" pulumi-lang-java=\"`acsUrl`\" pulumi-lang-hcl=\"`acs_url`\"\u003e`acsUrl`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logoutUrl`\" pulumi-lang-dotnet=\"`LogoutUrl`\" pulumi-lang-go=\"`logoutUrl`\" pulumi-lang-python=\"`logout_url`\" pulumi-lang-yaml=\"`logoutUrl`\" pulumi-lang-java=\"`logoutUrl`\" pulumi-lang-hcl=\"`logout_url`\"\u003e`logoutUrl`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\" pulumi-lang-hcl=\"`metadata`\"\u003e`metadata`\u003c/span\u003e) are the information required to configure the IDP\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst samlIdp = junipermist.org.getNacidpMetadata({\n    orgId: terraformTest.id,\n    nacidpId: samlIdpOne.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nsaml_idp = junipermist.org.get_nacidp_metadata(org_id=terraform_test[\"id\"],\n    nacidp_id=saml_idp_one[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var samlIdp = JuniperMist.Org.GetNacidpMetadata.Invoke(new()\n    {\n        OrgId = terraformTest.Id,\n        NacidpId = samlIdpOne.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetNacidpMetadata(ctx, \u0026org.GetNacidpMetadataArgs{\n\t\t\tOrgId:    terraformTest.Id,\n\t\t\tNacidpId: samlIdpOne.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getnacidpmetadata\" \"samlIdp\" {\n  org_id    = terraformTest.id\n  nacidp_id = samlIdpOne.id\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetNacidpMetadataArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var samlIdp = OrgFunctions.getNacidpMetadata(GetNacidpMetadataArgs.builder()\n            .orgId(terraformTest.id())\n            .nacidpId(samlIdpOne.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  samlIdp:\n    fn::invoke:\n      function: junipermist:org:getNacidpMetadata\n      arguments:\n        orgId: ${terraformTest.id}\n        nacidpId: ${samlIdpOne.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getNacidpMetadata.\n",
                "properties": {
                    "nacidpId": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "nacidpId",
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getNacidpMetadata.\n",
                "properties": {
                    "acsUrl": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\" pulumi-lang-hcl=\"`saml`\"\u003e`saml`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "entityId": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\" pulumi-lang-hcl=\"`saml`\"\u003e`saml`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "logoutUrl": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\" pulumi-lang-hcl=\"`saml`\"\u003e`saml`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "metadata": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\" pulumi-lang-hcl=\"`saml`\"\u003e`saml`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "nacidpId": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "scimBaseUrl": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`scimEnabled`\" pulumi-lang-dotnet=\"`ScimEnabled`\" pulumi-lang-go=\"`scimEnabled`\" pulumi-lang-python=\"`scim_enabled`\" pulumi-lang-yaml=\"`scimEnabled`\" pulumi-lang-java=\"`scimEnabled`\" pulumi-lang-hcl=\"`scim_enabled`\"\u003e`scimEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n",
                        "type": "string"
                    }
                },
                "required": [
                    "acsUrl",
                    "entityId",
                    "logoutUrl",
                    "metadata",
                    "nacidpId",
                    "orgId",
                    "scimBaseUrl",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getNacrules:getNacrules": {
            "description": "This data source provides the list of NAC Rules (Auth Policies).\n\nA NAC Rule defines a list of criteria (NAC Tag) the network client must match to execute the Rule, an action (Allow/Deny)and a list of RADIUS Attributes (NAC Tags) to return\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst nacrules = junipermist.org.getNacrules({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nnacrules = junipermist.org.get_nacrules(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nacrules = JuniperMist.Org.GetNacrules.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetNacrules(ctx, \u0026org.GetNacrulesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getnacrules\" \"nacrules\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetNacrulesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var nacrules = OrgFunctions.getNacrules(GetNacrulesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  nacrules:\n    fn::invoke:\n      function: junipermist:org:getNacrules\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getNacrules.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getNacrules.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgNacrules": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getNacrulesOrgNacrule:getNacrulesOrgNacrule"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgNacrules",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getNactags:getNactags": {
            "description": "This data source provides the list of NAC Tags (Auth Policy Labels).\n\nThe NAC Tags can be used in the NAC Rules to define the matching criteria or the returned RADIUS Attributes\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst nactags = junipermist.org.getNactags({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    type: \"match\",\n    match: \"cert_issuer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nnactags = junipermist.org.get_nactags(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    type=\"match\",\n    match=\"cert_issuer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nactags = JuniperMist.Org.GetNactags.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n        Type = \"match\",\n        Match = \"cert_issuer\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetNactags(ctx, \u0026org.GetNactagsArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t\tType:  pulumi.StringRef(\"match\"),\n\t\t\tMatch: pulumi.StringRef(\"cert_issuer\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getnactags\" \"nactags\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n  type   = \"match\"\n  match  = \"cert_issuer\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetNactagsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var nactags = OrgFunctions.getNactags(GetNactagsArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .type(\"match\")\n            .match(\"cert_issuer\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  nactags:\n    fn::invoke:\n      function: junipermist:org:getNactags\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n        type: match\n        match: cert_issuer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getNactags.\n",
                "properties": {
                    "match": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getNactags.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "match": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgNactags": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getNactagsOrgNactag:getNactagsOrgNactag"
                        },
                        "type": "array"
                    },
                    "type": {
                        "type": "string"
                    }
                },
                "required": [
                    "orgId",
                    "orgNactags",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getNetworks:getNetworks": {
            "description": "This data source provides the list of WAN Assurance Networks.\n\nThe Networks are used in the \u003cspan pulumi-lang-nodejs=\"`servicePolicies`\" pulumi-lang-dotnet=\"`ServicePolicies`\" pulumi-lang-go=\"`servicePolicies`\" pulumi-lang-python=\"`service_policies`\" pulumi-lang-yaml=\"`servicePolicies`\" pulumi-lang-java=\"`servicePolicies`\" pulumi-lang-hcl=\"`service_policies`\"\u003e`servicePolicies`\u003c/span\u003e from the Gateway configuration, Gateway templates or HUB Profiles\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst networks = junipermist.org.getNetworks({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nnetworks = junipermist.org.get_networks(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var networks = JuniperMist.Org.GetNetworks.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetNetworks(ctx, \u0026org.GetNetworksArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getnetworks\" \"networks\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetNetworksArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var networks = OrgFunctions.getNetworks(GetNetworksArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  networks:\n    fn::invoke:\n      function: junipermist:org:getNetworks\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getNetworks.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getNetworks.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgNetworks": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getNetworksOrgNetwork:getNetworksOrgNetwork"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgNetworks",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getNetworktemplates:getNetworktemplates": {
            "description": "This data source provides the list of Org Network Templates (Switch templates).\n\nA network template is a predefined configuration that provides a consistent and reusable set of network settings for devices within an organization. It includes various parameters such as ip addressing, vlan configurations, routing protocols, security policies, and other network-specific settings.  \nNetwork templates simplify the deployment and management of switches by ensuring consistent configurations across multiple devices and sites. They help enforce standardization, reduce human error, and streamline troubleshooting and maintenance tasks.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst templates = junipermist.org.getNetworktemplates({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\ntemplates = junipermist.org.get_networktemplates(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var templates = JuniperMist.Org.GetNetworktemplates.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetNetworktemplates(ctx, \u0026org.GetNetworktemplatesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getnetworktemplates\" \"templates\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetNetworktemplatesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var templates = OrgFunctions.getNetworktemplates(GetNetworktemplatesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  templates:\n    fn::invoke:\n      function: junipermist:org:getNetworktemplates\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getNetworktemplates.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getNetworktemplates.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgNetworktemplates": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getNetworktemplatesOrgNetworktemplate:getNetworktemplatesOrgNetworktemplate"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgNetworktemplates",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getPsks:getPsks": {
            "description": "This data source provides the list Org Psks.\n\nA multi PSK (Pre-Shared Key) is a feature that allows the use of multiple PSKs for securing network connections.  \nIt provides a simple and comprehensive way to onboard client devices without relying on client mac addresses.  \nEach psk has its own key name, which can be used for user-level accountability, key rotation, and visibility in the management platform. It supports the creation, rotation, and auto-expiration of psks, and allows vlan assignment and role assignment for dynamic per-user policies.  \nMulti PSKs create virtual broadcast domains and can be used for end-user onboarding via authenticated sso login.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst psksVip = junipermist.org.getPsks({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    name: \"psk_one\",\n    role: \"vip\",\n    ssid: \"psk_ssid\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\npsks_vip = junipermist.org.get_psks(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    name=\"psk_one\",\n    role=\"vip\",\n    ssid=\"psk_ssid\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var psksVip = JuniperMist.Org.GetPsks.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n        Name = \"psk_one\",\n        Role = \"vip\",\n        Ssid = \"psk_ssid\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetPsks(ctx, \u0026org.GetPsksArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t\tName:  pulumi.StringRef(\"psk_one\"),\n\t\t\tRole:  pulumi.StringRef(\"vip\"),\n\t\t\tSsid:  pulumi.StringRef(\"psk_ssid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getpsks\" \"psksVip\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n  name   = \"psk_one\"\n  role   = \"vip\"\n  ssid   = \"psk_ssid\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetPsksArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var psksVip = OrgFunctions.getPsks(GetPsksArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .name(\"psk_one\")\n            .role(\"vip\")\n            .ssid(\"psk_ssid\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  psksVip:\n    fn::invoke:\n      function: junipermist:org:getPsks\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n        name: psk_one\n        role: vip\n        ssid: psk_ssid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPsks.\n",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "role": {
                        "type": "string"
                    },
                    "ssid": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPsks.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgPsks": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getPsksOrgPsk:getPsksOrgPsk"
                        },
                        "type": "array"
                    },
                    "role": {
                        "type": "string"
                    },
                    "ssid": {
                        "type": "string"
                    }
                },
                "required": [
                    "orgId",
                    "orgPsks",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getRftemplates:getRftemplates": {
            "description": "This data source provides the list of RF Templates.\n\nThe RF Templates can be used to define Wireless Access Points radio configuration, and can be assigned to the sites\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst templates = junipermist.org.getRftemplates({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\ntemplates = junipermist.org.get_rftemplates(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var templates = JuniperMist.Org.GetRftemplates.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetRftemplates(ctx, \u0026org.GetRftemplatesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getrftemplates\" \"templates\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetRftemplatesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var templates = OrgFunctions.getRftemplates(GetRftemplatesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  templates:\n    fn::invoke:\n      function: junipermist:org:getRftemplates\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getRftemplates.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    },
                    "page": {
                        "type": "integer"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getRftemplates.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgRftemplates": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getRftemplatesOrgRftemplate:getRftemplatesOrgRftemplate"
                        },
                        "type": "array"
                    },
                    "page": {
                        "type": "integer"
                    }
                },
                "required": [
                    "orgId",
                    "orgRftemplates",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getServicepolicies:getServicepolicies": {
            "description": "This data source provides the list of WAN Assurance Service Policies (Application Policies).\n\nThe Service Policies can be used in the \u003cspan pulumi-lang-nodejs=\"`servicePolicies`\" pulumi-lang-dotnet=\"`ServicePolicies`\" pulumi-lang-go=\"`servicePolicies`\" pulumi-lang-python=\"`service_policies`\" pulumi-lang-yaml=\"`servicePolicies`\" pulumi-lang-java=\"`servicePolicies`\" pulumi-lang-hcl=\"`service_policies`\"\u003e`servicePolicies`\u003c/span\u003e object by referencing the Service Policy ID as the \u003cspan pulumi-lang-nodejs=\"`servicepolicyId`\" pulumi-lang-dotnet=\"`ServicepolicyId`\" pulumi-lang-go=\"`servicepolicyId`\" pulumi-lang-python=\"`servicepolicy_id`\" pulumi-lang-yaml=\"`servicepolicyId`\" pulumi-lang-java=\"`servicepolicyId`\" pulumi-lang-hcl=\"`servicepolicy_id`\"\u003e`servicepolicyId`\u003c/span\u003e in:\n* the Gateway configuration (`mist_device_gateway.service_policies`)\n* the Gateway Templates (`mist_org_gatewaytemplate.service_policies`)\n* the HUB Profiles (`mist_org_deviceprofile_gateway.service_policies`)\nThey can be used to manage common policies between multiples configurations\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst servicepolicies = junipermist.org.getServicepolicies({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nservicepolicies = junipermist.org.get_servicepolicies(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var servicepolicies = JuniperMist.Org.GetServicepolicies.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetServicepolicies(ctx, \u0026org.GetServicepoliciesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getservicepolicies\" \"servicepolicies\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetServicepoliciesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var servicepolicies = OrgFunctions.getServicepolicies(GetServicepoliciesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  servicepolicies:\n    fn::invoke:\n      function: junipermist:org:getServicepolicies\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getServicepolicies.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getServicepolicies.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgServicepolicies": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getServicepoliciesOrgServicepolicy:getServicepoliciesOrgServicepolicy"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgServicepolicies",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getServices:getServices": {
            "description": "This data source provides the list of WAN Assurance Services (Applications).\n\nA Service is used to define a Custom Application that can be used in the \u003cspan pulumi-lang-nodejs=\"`servicePolicies`\" pulumi-lang-dotnet=\"`ServicePolicies`\" pulumi-lang-go=\"`servicePolicies`\" pulumi-lang-python=\"`service_policies`\" pulumi-lang-yaml=\"`servicePolicies`\" pulumi-lang-java=\"`servicePolicies`\" pulumi-lang-hcl=\"`service_policies`\"\u003e`servicePolicies`\u003c/span\u003e. These Services can be referenced by their name in\n* the Service Policies (`mist_org_servicepolicy.services`)\n* the Gateway configuration (`mist_device_gateway.service_policies.services`)\n* the Gateway Templates (`mist_org_gatewaytemplate.service_policies.services`)\n* the HUB Profiles (`mist_org_deviceprofile_gateway.service_policies.services`)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst services = junipermist.org.getServices({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nservices = junipermist.org.get_services(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var services = JuniperMist.Org.GetServices.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetServices(ctx, \u0026org.GetServicesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getservices\" \"services\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetServicesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var services = OrgFunctions.getServices(GetServicesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  services:\n    fn::invoke:\n      function: junipermist:org:getServices\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getServices.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getServices.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgServices": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getServicesOrgService:getServicesOrgService"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgServices",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getSitegroups:getSitegroups": {
            "description": "This data source provides the list of Org Site Groups (sitegroups).\n\nA site group is a feature that allows users to group multiple sites together based on regions, functions, or other parameters for efficient management of devices.  \nSites can exist in multiple groups simultaneously, and site groups can be used to ensure consistent settings, manage administrator access, and apply specific templates to groups of sites.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst sitegroups = junipermist.org.getSitegroups({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nsitegroups = junipermist.org.get_sitegroups(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sitegroups = JuniperMist.Org.GetSitegroups.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetSitegroups(ctx, \u0026org.GetSitegroupsArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getsitegroups\" \"sitegroups\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetSitegroupsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sitegroups = OrgFunctions.getSitegroups(GetSitegroupsArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  sitegroups:\n    fn::invoke:\n      function: junipermist:org:getSitegroups\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSitegroups.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSitegroups.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgSitegroups": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getSitegroupsOrgSitegroup:getSitegroupsOrgSitegroup"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgSitegroups",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getSsoMetadata:getSsoMetadata": {
            "description": "This data source provides the SSO Metadata information.\n\nThe provided information (\u003cspan pulumi-lang-nodejs=\"`entityId`\" pulumi-lang-dotnet=\"`EntityId`\" pulumi-lang-go=\"`entityId`\" pulumi-lang-python=\"`entity_id`\" pulumi-lang-yaml=\"`entityId`\" pulumi-lang-java=\"`entityId`\" pulumi-lang-hcl=\"`entity_id`\"\u003e`entityId`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`acsUrl`\" pulumi-lang-dotnet=\"`AcsUrl`\" pulumi-lang-go=\"`acsUrl`\" pulumi-lang-python=\"`acs_url`\" pulumi-lang-yaml=\"`acsUrl`\" pulumi-lang-java=\"`acsUrl`\" pulumi-lang-hcl=\"`acs_url`\"\u003e`acsUrl`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logoutUrl`\" pulumi-lang-dotnet=\"`LogoutUrl`\" pulumi-lang-go=\"`logoutUrl`\" pulumi-lang-python=\"`logout_url`\" pulumi-lang-yaml=\"`logoutUrl`\" pulumi-lang-java=\"`logoutUrl`\" pulumi-lang-hcl=\"`logout_url`\"\u003e`logoutUrl`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\" pulumi-lang-hcl=\"`metadata`\"\u003e`metadata`\u003c/span\u003e) are the information required to configure the IDP\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst ssoIdp = junipermist.org.getSsoMetadata({\n    orgId: terraformTest.id,\n    ssoId: ssoOne.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nsso_idp = junipermist.org.get_sso_metadata(org_id=terraform_test[\"id\"],\n    sso_id=sso_one[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ssoIdp = JuniperMist.Org.GetSsoMetadata.Invoke(new()\n    {\n        OrgId = terraformTest.Id,\n        SsoId = ssoOne.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetSsoMetadata(ctx, \u0026org.GetSsoMetadataArgs{\n\t\t\tOrgId: terraformTest.Id,\n\t\t\tSsoId: ssoOne.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getssometadata\" \"ssoIdp\" {\n  org_id = terraformTest.id\n  sso_id = ssoOne.id\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetSsoMetadataArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var ssoIdp = OrgFunctions.getSsoMetadata(GetSsoMetadataArgs.builder()\n            .orgId(terraformTest.id())\n            .ssoId(ssoOne.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  ssoIdp:\n    fn::invoke:\n      function: junipermist:org:getSsoMetadata\n      arguments:\n        orgId: ${terraformTest.id}\n        ssoId: ${ssoOne.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSsoMetadata.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    },
                    "ssoId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId",
                    "ssoId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSsoMetadata.\n",
                "properties": {
                    "acsUrl": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\" pulumi-lang-hcl=\"`saml`\"\u003e`saml`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "entityId": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\" pulumi-lang-hcl=\"`saml`\"\u003e`saml`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "logoutUrl": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\" pulumi-lang-hcl=\"`saml`\"\u003e`saml`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "metadata": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\" pulumi-lang-hcl=\"`saml`\"\u003e`saml`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "scimBaseUrl": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`idpType`\" pulumi-lang-dotnet=\"`IdpType`\" pulumi-lang-go=\"`idpType`\" pulumi-lang-python=\"`idp_type`\" pulumi-lang-yaml=\"`idpType`\" pulumi-lang-java=\"`idpType`\" pulumi-lang-hcl=\"`idp_type`\"\u003e`idpType`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`oauth`\" pulumi-lang-dotnet=\"`Oauth`\" pulumi-lang-go=\"`oauth`\" pulumi-lang-python=\"`oauth`\" pulumi-lang-yaml=\"`oauth`\" pulumi-lang-java=\"`oauth`\" pulumi-lang-hcl=\"`oauth`\"\u003e`oauth`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`scimEnabled`\" pulumi-lang-dotnet=\"`ScimEnabled`\" pulumi-lang-go=\"`scimEnabled`\" pulumi-lang-python=\"`scim_enabled`\" pulumi-lang-yaml=\"`scimEnabled`\" pulumi-lang-java=\"`scimEnabled`\" pulumi-lang-hcl=\"`scim_enabled`\"\u003e`scimEnabled`\u003c/span\u003e==\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "ssoId": {
                        "type": "string"
                    }
                },
                "required": [
                    "acsUrl",
                    "entityId",
                    "logoutUrl",
                    "metadata",
                    "orgId",
                    "scimBaseUrl",
                    "ssoId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getSsoRoles:getSsoRoles": {
            "description": "This resource provides the list of SSO Roles.\n\nSSO roles refer to the different functions assigned to users within a Single Sign-On (SSO) system.  \nThese roles determine the tasks and actions that users can perform within the SSO system. There are typically predefined roles and custom roles in an SSO system.  \nRoles in SSO provide a well-defined separation of responsibility and visibility, allowing for granular-level access control on SSO objects.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst ssoRoles = junipermist.org.getSsoRoles({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nsso_roles = junipermist.org.get_sso_roles(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ssoRoles = JuniperMist.Org.GetSsoRoles.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetSsoRoles(ctx, \u0026org.GetSsoRolesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getssoroles\" \"ssoRoles\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetSsoRolesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var ssoRoles = OrgFunctions.getSsoRoles(GetSsoRolesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  ssoRoles:\n    fn::invoke:\n      function: junipermist:org:getSsoRoles\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSsoRoles.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSsoRoles.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgSsoRoles": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getSsoRolesOrgSsoRole:getSsoRolesOrgSsoRole"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgSsoRoles",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getVpns:getVpns": {
            "description": "This data source provide the list of the Org VPNs.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst vpns = junipermist.org.getVpns({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nvpns = junipermist.org.get_vpns(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpns = JuniperMist.Org.GetVpns.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetVpns(ctx, \u0026org.GetVpnsArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getvpns\" \"vpns\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetVpnsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vpns = OrgFunctions.getVpns(GetVpnsArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vpns:\n    fn::invoke:\n      function: junipermist:org:getVpns\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getVpns.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getVpns.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgVpns": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getVpnsOrgVpn:getVpnsOrgVpn"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgVpns",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getWebhooks:getWebhooks": {
            "description": "This data source provides the list of Org Webhooks.\n\nA Webhook is a configuration that allows real-time events and data from the Org to be pushed to a provided url.  \nIt enables the collection of information about various topics such as device events, alarms, and audits updates at the org level.  \nThe Webhook can be set up and customized using the Mist API, allowing users to receive and analyze specific data from a particular site.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst webhooks = junipermist.org.getWebhooks({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nwebhooks = junipermist.org.get_webhooks(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var webhooks = JuniperMist.Org.GetWebhooks.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetWebhooks(ctx, \u0026org.GetWebhooksArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getwebhooks\" \"webhooks\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetWebhooksArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var webhooks = OrgFunctions.getWebhooks(GetWebhooksArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  webhooks:\n    fn::invoke:\n      function: junipermist:org:getWebhooks\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getWebhooks.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getWebhooks.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgWebhooks": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getWebhooksOrgWebhook:getWebhooksOrgWebhook"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgWebhooks",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getWlans:getWlans": {
            "description": "This data source provides the list of Org Wlans.\n\nThe WLAN object contains all the required configuration to broadcast an SSID (Authentication, VLAN, ...)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst orgWlans = junipermist.org.getWlans({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\norg_wlans = junipermist.org.get_wlans(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var orgWlans = JuniperMist.Org.GetWlans.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetWlans(ctx, \u0026org.GetWlansArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getwlans\" \"orgWlans\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetWlansArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var orgWlans = OrgFunctions.getWlans(GetWlansArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  orgWlans:\n    fn::invoke:\n      function: junipermist:org:getWlans\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getWlans.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getWlans.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgWlans": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getWlansOrgWlan:getWlansOrgWlan"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgWlans",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getWlantemplates:getWlantemplates": {
            "description": "This datasource provides the list of WLAN Templates in a Mist Organization.\n\nA WLAN template is a collection of WLANs, tunneling policies, and wxlan policies. It is used to create and manage wlan configurations at an organizational level.  \nWLAN templates allow for modular, scalable, and easy-to-manage configuration of ssids and their application to specific sites, site groups, or ap device profiles.  \nThey are valuable for automating configuration across multiple sites and profiles, making it easier to scale efficiently.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst templates = junipermist.org.getWlantemplates({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\ntemplates = junipermist.org.get_wlantemplates(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var templates = JuniperMist.Org.GetWlantemplates.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/org\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := org.GetWlantemplates(ctx, \u0026org.GetWlantemplatesArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_org_getwlantemplates\" \"templates\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.org.OrgFunctions;\nimport com.pulumi.junipermist.org.inputs.GetWlantemplatesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var templates = OrgFunctions.getWlantemplates(GetWlantemplatesArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  templates:\n    fn::invoke:\n      function: junipermist:org:getWlantemplates\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getWlantemplates.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getWlantemplates.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgWlantemplates": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getWlantemplatesOrgWlantemplate:getWlantemplatesOrgWlantemplate"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgWlantemplates",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:org/getWxtags:getWxtags": {
            "description": "This resource provides the list of Org WxLan tags (labels).\nA WxTag is a label or tag used in the mist system to classify and categorize applications, users, and resources for the purpose of creating policies and making network management decisions.They can be used \n* within the Org WxRules to create filtering rules:\n  * `mist_org_wxrule.dst_allow_wxtags`\n  * `mist_org_wxrule.dst_deny_wxtags`\n  * `mist_org_wxrule.dst_wxtags`\n  * `mist_org_wxrule.src_wxtags`\n* within the Org WxRules to assign specific VLAN:\n  * `mist_org_wxrule.apply_tags`\n* in the WLANs configuration to assign a WLAN to specific APs:\n  * `mist_org_wlan.wxtag_ids`\n* to identify unknown application used by Wi-Fi clients\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst switchStats = junipermist.device.getSwitchStats({\n    orgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nswitch_stats = junipermist.device.get_switch_stats(org_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var switchStats = JuniperMist.Device.GetSwitchStats.Invoke(new()\n    {\n        OrgId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/device\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := device.GetSwitchStats(ctx, \u0026device.GetSwitchStatsArgs{\n\t\t\tOrgId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_device_getswitchstats\" \"switchStats\" {\n  org_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.device.DeviceFunctions;\nimport com.pulumi.junipermist.device.inputs.GetSwitchStatsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var switchStats = DeviceFunctions.getSwitchStats(GetSwitchStatsArgs.builder()\n            .orgId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  switchStats:\n    fn::invoke:\n      function: junipermist:device:getSwitchStats\n      arguments:\n        orgId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getWxtags.\n",
                "properties": {
                    "orgId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "orgId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getWxtags.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "orgId": {
                        "type": "string"
                    },
                    "orgWxtags": {
                        "items": {
                            "$ref": "#/types/junipermist:org/getWxtagsOrgWxtag:getWxtagsOrgWxtag"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "orgId",
                    "orgWxtags",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:site/getEvpnTopologies:getEvpnTopologies": {
            "description": "This data source provides the list of Site Evpn Topologies\n\nEVPN allows an alternative but more efficient LAN architecture utilizing VxLAN / MP-BGP to separate the control plane (MAC / IP Learning) from the forwarding plane.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst siteEvpnTopologies = junipermist.site.getEvpnTopologies({\n    siteId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nsite_evpn_topologies = junipermist.site.get_evpn_topologies(site_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var siteEvpnTopologies = JuniperMist.Site.GetEvpnTopologies.Invoke(new()\n    {\n        SiteId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.GetEvpnTopologies(ctx, \u0026site.GetEvpnTopologiesArgs{\n\t\t\tSiteId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_site_getevpntopologies\" \"siteEvpnTopologies\" {\n  site_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.SiteFunctions;\nimport com.pulumi.junipermist.site.inputs.GetEvpnTopologiesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var siteEvpnTopologies = SiteFunctions.getEvpnTopologies(GetEvpnTopologiesArgs.builder()\n            .siteId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  siteEvpnTopologies:\n    fn::invoke:\n      function: junipermist:site:getEvpnTopologies\n      arguments:\n        siteId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getEvpnTopologies.\n",
                "properties": {
                    "siteId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "siteId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getEvpnTopologies.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "siteEvpnTopologies": {
                        "items": {
                            "$ref": "#/types/junipermist:site/getEvpnTopologiesSiteEvpnTopology:getEvpnTopologiesSiteEvpnTopology"
                        },
                        "type": "array"
                    },
                    "siteId": {
                        "type": "string"
                    }
                },
                "required": [
                    "siteEvpnTopologies",
                    "siteId",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:site/getPsks:getPsks": {
            "description": "This data source provides the list of Site Psks.\n\nA multi PSK (Pre-Shared Key) is a feature that allows the use of multiple PSKs for securing network connections.  \nIt provides a simple and comprehensive way to onboard client devices without relying on client mac addresses.  \nEach psk has its own key name, which can be used for user-level accountability, key rotation, and visibility in the management platform. It supports the creation, rotation, and auto-expiration of psks, and allows vlan assignment and role assignment for dynamic per-user policies.  \nMulti PSKs create virtual broadcast domains and can be used for end-user onboarding via authenticated sso login.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst psksVip = junipermist.site.getPsks({\n    siteId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    name: \"psk_one\",\n    role: \"vip\",\n    ssid: \"psk_ssid\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\npsks_vip = junipermist.site.get_psks(site_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    name=\"psk_one\",\n    role=\"vip\",\n    ssid=\"psk_ssid\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var psksVip = JuniperMist.Site.GetPsks.Invoke(new()\n    {\n        SiteId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n        Name = \"psk_one\",\n        Role = \"vip\",\n        Ssid = \"psk_ssid\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.GetPsks(ctx, \u0026site.GetPsksArgs{\n\t\t\tSiteId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t\tName:   pulumi.StringRef(\"psk_one\"),\n\t\t\tRole:   pulumi.StringRef(\"vip\"),\n\t\t\tSsid:   pulumi.StringRef(\"psk_ssid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_site_getpsks\" \"psksVip\" {\n  site_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n  name    = \"psk_one\"\n  role    = \"vip\"\n  ssid    = \"psk_ssid\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.SiteFunctions;\nimport com.pulumi.junipermist.site.inputs.GetPsksArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var psksVip = SiteFunctions.getPsks(GetPsksArgs.builder()\n            .siteId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .name(\"psk_one\")\n            .role(\"vip\")\n            .ssid(\"psk_ssid\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  psksVip:\n    fn::invoke:\n      function: junipermist:site:getPsks\n      arguments:\n        siteId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n        name: psk_one\n        role: vip\n        ssid: psk_ssid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPsks.\n",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "role": {
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "ssid": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "siteId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPsks.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "role": {
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "sitePsks": {
                        "items": {
                            "$ref": "#/types/junipermist:site/getPsksSitePsk:getPsksSitePsk"
                        },
                        "type": "array"
                    },
                    "ssid": {
                        "type": "string"
                    }
                },
                "required": [
                    "siteId",
                    "sitePsks",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:site/getWebhooks:getWebhooks": {
            "description": "This data source provides the list of Site Webhooks.\n\nA Site Webhook is a configuration that allows real-time events and data from a specific site to be pushed to a provided url.  \nIt enables the collection of information about various topics such as device events, alarms, audits, client sessions and location updates at the site level.  \nThe Webhook can be set up and customized using the Mist API, allowing users to receive and analyze specific data from a particular site.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst webhooks = junipermist.site.getWebhooks({\n    siteId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nwebhooks = junipermist.site.get_webhooks(site_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var webhooks = JuniperMist.Site.GetWebhooks.Invoke(new()\n    {\n        SiteId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.GetWebhooks(ctx, \u0026site.GetWebhooksArgs{\n\t\t\tSiteId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_site_getwebhooks\" \"webhooks\" {\n  site_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.SiteFunctions;\nimport com.pulumi.junipermist.site.inputs.GetWebhooksArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var webhooks = SiteFunctions.getWebhooks(GetWebhooksArgs.builder()\n            .siteId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  webhooks:\n    fn::invoke:\n      function: junipermist:site:getWebhooks\n      arguments:\n        siteId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getWebhooks.\n",
                "properties": {
                    "siteId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "siteId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getWebhooks.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "siteWebhooks": {
                        "items": {
                            "$ref": "#/types/junipermist:site/getWebhooksSiteWebhook:getWebhooksSiteWebhook"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "siteId",
                    "siteWebhooks",
                    "id"
                ],
                "type": "object"
            }
        },
        "junipermist:site/getWlans:getWlans": {
            "description": "This data source provides the list of Site Wlans.\n\nThe WLAN object contains all the required configuration to broadcast an SSID (Authentication, VLAN, ...)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as junipermist from \"@pulumi/juniper-mist\";\n\nconst siteWlans = junipermist.site.getWlans({\n    siteId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n});\n```\n```python\nimport pulumi\nimport pulumi_junipermist as junipermist\n\nsite_wlans = junipermist.site.get_wlans(site_id=\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing JuniperMist = Pulumi.JuniperMist;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var siteWlans = JuniperMist.Site.GetWlans.Invoke(new()\n    {\n        SiteId = \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/site\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := site.GetWlans(ctx, \u0026site.GetWlansArgs{\n\t\t\tSiteId: \"15fca2ac-b1a6-47cc-9953-cc6906281550\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    junipermist = {\n      source = \"pulumi/junipermist\"\n    }\n  }\n}\n\ndata \"junipermist_site_getwlans\" \"siteWlans\" {\n  site_id = \"15fca2ac-b1a6-47cc-9953-cc6906281550\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.junipermist.site.SiteFunctions;\nimport com.pulumi.junipermist.site.inputs.GetWlansArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var siteWlans = SiteFunctions.getWlans(GetWlansArgs.builder()\n            .siteId(\"15fca2ac-b1a6-47cc-9953-cc6906281550\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  siteWlans:\n    fn::invoke:\n      function: junipermist:site:getWlans\n      arguments:\n        siteId: 15fca2ac-b1a6-47cc-9953-cc6906281550\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getWlans.\n",
                "properties": {
                    "siteId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "siteId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getWlans.\n",
                "properties": {
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "siteId": {
                        "type": "string"
                    },
                    "siteWlans": {
                        "items": {
                            "$ref": "#/types/junipermist:site/getWlansSiteWlan:getWlansSiteWlan"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "siteId",
                    "siteWlans",
                    "id"
                ],
                "type": "object"
            }
        },
        "pulumi:providers:junipermist/terraformConfig": {
            "description": "This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.",
            "inputs": {
                "properties": {
                    "__self__": {
                        "type": "ref",
                        "$ref": "#/provider"
                    }
                },
                "type": "pulumi:providers:junipermist/terraformConfig",
                "required": [
                    "__self__"
                ]
            },
            "outputs": {
                "properties": {
                    "result": {
                        "additionalProperties": {
                            "$ref": "pulumi.json#/Any"
                        },
                        "type": "object"
                    }
                },
                "required": [
                    "result"
                ],
                "type": "object"
            }
        }
    }
}