@pulumi/juniper-mist
Version:
A Pulumi package for creating and managing Juniper Mist resources.
639 lines • 22 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* This resource manages the Gateway configuration.
*
* It can be used to define specific configuration at the device level or to override Org Gateway template settings.
*
* > **WARNING** For **adopted** devices, make sure to set `mistConfigured`=`true` to allow Mist to manage the gateway
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as junipermist from "@pulumi/juniper-mist";
*
* const gatewayOne = new junipermist.device.Gateway("gateway_one", {
* name: "gateway_one",
* deviceId: clusterOne.deviceId,
* siteId: clusterOne.siteId,
* oobIpConfig: {
* type: "dhcp",
* },
* dnsServers: ["8.8.8.8"],
* additionalConfigCmds: [
* "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",
* ],
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import `junipermist.device.Gateway` with:
* Gateway Configuration can be imported by specifying the siteId and the deviceId
*
* ```sh
* $ pulumi import junipermist:device/gateway:Gateway gateway_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309
* ```
*/
export declare class Gateway extends pulumi.CustomResource {
/**
* Get an existing Gateway resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GatewayState, opts?: pulumi.CustomResourceOptions): Gateway;
/**
* Returns true if the given object is an instance of Gateway. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Gateway;
/**
* Additional CLI configuration commands to apply to this gateway
*/
readonly additionalConfigCmds: pulumi.Output<string[] | undefined>;
/**
* BGP routing configuration for this gateway. Property key is the BGP session name
*/
readonly bgpConfig: pulumi.Output<{
[key: string]: outputs.device.GatewayBgpConfig;
} | undefined>;
readonly deviceId: pulumi.Output<string>;
/**
* DHCP server configuration served by this gateway
*/
readonly dhcpdConfig: pulumi.Output<outputs.device.GatewayDhcpdConfig | undefined>;
/**
* DNS servers configured for this gateway
*/
readonly dnsServers: pulumi.Output<string[] | undefined>;
/**
* DNS search suffixes configured for this gateway
*/
readonly dnsSuffixes: pulumi.Output<string[] | undefined>;
/**
* Additional IPv4 routes configured on this gateway
*/
readonly extraRoutes: pulumi.Output<{
[key: string]: outputs.device.GatewayExtraRoutes;
} | undefined>;
/**
* Additional IPv6 routes configured on this gateway
*/
readonly extraRoutes6: pulumi.Output<{
[key: string]: outputs.device.GatewayExtraRoutes6;
} | undefined>;
/**
* Management-plane settings for this gateway
*/
readonly gatewayMgmt: pulumi.Output<outputs.device.GatewayGatewayMgmt | undefined>;
/**
* Intrusion detection and prevention profiles configured for this gateway
*/
readonly idpProfiles: pulumi.Output<{
[key: string]: outputs.device.GatewayIdpProfiles;
} | undefined>;
/**
* First custom image URL associated with the gateway
*/
readonly image1Url: pulumi.Output<string>;
/**
* Second custom image URL associated with the gateway
*/
readonly image2Url: pulumi.Output<string>;
/**
* Third custom image URL associated with the gateway
*/
readonly image3Url: pulumi.Output<string>;
/**
* Gateway interface IP configurations by network name
*/
readonly ipConfigs: pulumi.Output<{
[key: string]: outputs.device.GatewayIpConfigs;
} | undefined>;
/**
* Gateway MAC address used to identify the device
*/
readonly mac: pulumi.Output<string>;
/**
* Whether the device is managed by Mist. Deprecated in favour of mist_configured.
*
* @deprecated This attribute is being deprecated, please use `mistConfigured` instead
*/
readonly managed: pulumi.Output<boolean>;
/**
* Map where the device belongs to
*/
readonly mapId: pulumi.Output<string | undefined>;
/**
* whether the device can be configured by Mist or not. This deprecates `managed` for adopted devices.
*/
readonly mistConfigured: pulumi.Output<boolean>;
/**
* Gateway model reported for the device
*/
readonly model: pulumi.Output<string>;
/**
* MSP that manages this gateway, when applicable
*/
readonly mspId: pulumi.Output<string | undefined>;
/**
* Friendly display name assigned to the gateway
*/
readonly name: pulumi.Output<string>;
/**
* Layer 3 networks configured for use by this gateway
*/
readonly networks: pulumi.Output<outputs.device.GatewayNetwork[] | undefined>;
/**
* Free-form administrative notes for this gateway
*/
readonly notes: pulumi.Output<string | undefined>;
/**
* NTP servers used by this gateway
*/
readonly ntpServers: pulumi.Output<string[] | undefined>;
/**
* Out-of-band management IP configuration for this gateway
*/
readonly oobIpConfig: pulumi.Output<outputs.device.GatewayOobIpConfig>;
/**
* Organization that owns this gateway
*/
readonly orgId: pulumi.Output<string>;
/**
* Property key is the path name
*/
readonly pathPreferences: pulumi.Output<{
[key: string]: outputs.device.GatewayPathPreferences;
} | undefined>;
/**
* Property key is the port name or range (e.g. "ge-0/0/0-10")
*/
readonly portConfig: pulumi.Output<{
[key: string]: outputs.device.GatewayPortConfig;
} | undefined>;
/**
* Port mirroring configuration for this gateway
*/
readonly portMirroring: pulumi.Output<outputs.device.GatewayPortMirroring | undefined>;
/**
* Auto assigned if not set
*/
readonly routerId: pulumi.Output<string | undefined>;
/**
* Routing policies applied by this gateway
*/
readonly routingPolicies: pulumi.Output<{
[key: string]: outputs.device.GatewayRoutingPolicies;
} | undefined>;
/**
* Manufacturer serial number for the gateway
*/
readonly serial: pulumi.Output<string>;
/**
* Traffic service policies enforced by this gateway
*/
readonly servicePolicies: pulumi.Output<outputs.device.GatewayServicePolicy[] | undefined>;
/**
* Site where this gateway is assigned
*/
readonly siteId: pulumi.Output<string>;
/**
* additional CLI commands to append to the generated SSR config. **Note**: no check is done
*/
readonly ssrAdditionalConfigCmds: pulumi.Output<string[] | undefined>;
/**
* Property key is the tunnel name
*/
readonly tunnelConfigs: pulumi.Output<{
[key: string]: outputs.device.GatewayTunnelConfigs;
} | undefined>;
/**
* Provider-specific options for tunnels terminated by this gateway
*/
readonly tunnelProviderOptions: pulumi.Output<outputs.device.GatewayTunnelProviderOptions | undefined>;
/**
* Device type discriminator for gateway records
*/
readonly type: pulumi.Output<string>;
/**
* When a service policy denies a app_category, what message to show in user's browser
*/
readonly urlFilteringDenyMsg: pulumi.Output<string | undefined>;
/**
* Variable values that override site variables for this gateway
*/
readonly vars: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* VRF configuration applied to this gateway
*/
readonly vrfConfig: pulumi.Output<outputs.device.GatewayVrfConfig | undefined>;
/**
* VRF instances configured on this gateway
*/
readonly vrfInstances: pulumi.Output<{
[key: string]: outputs.device.GatewayVrfInstances;
} | undefined>;
/**
* Horizontal map position of the gateway, in pixels
*/
readonly x: pulumi.Output<number | undefined>;
/**
* Vertical map position of the gateway, in pixels
*/
readonly y: pulumi.Output<number | undefined>;
/**
* Create a Gateway resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: GatewayArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Gateway resources.
*/
export interface GatewayState {
/**
* Additional CLI configuration commands to apply to this gateway
*/
additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* BGP routing configuration for this gateway. Property key is the BGP session name
*/
bgpConfig?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayBgpConfig>;
} | undefined>;
deviceId?: pulumi.Input<string | undefined>;
/**
* DHCP server configuration served by this gateway
*/
dhcpdConfig?: pulumi.Input<inputs.device.GatewayDhcpdConfig | undefined>;
/**
* DNS servers configured for this gateway
*/
dnsServers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* DNS search suffixes configured for this gateway
*/
dnsSuffixes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Additional IPv4 routes configured on this gateway
*/
extraRoutes?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayExtraRoutes>;
} | undefined>;
/**
* Additional IPv6 routes configured on this gateway
*/
extraRoutes6?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayExtraRoutes6>;
} | undefined>;
/**
* Management-plane settings for this gateway
*/
gatewayMgmt?: pulumi.Input<inputs.device.GatewayGatewayMgmt | undefined>;
/**
* Intrusion detection and prevention profiles configured for this gateway
*/
idpProfiles?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayIdpProfiles>;
} | undefined>;
/**
* First custom image URL associated with the gateway
*/
image1Url?: pulumi.Input<string | undefined>;
/**
* Second custom image URL associated with the gateway
*/
image2Url?: pulumi.Input<string | undefined>;
/**
* Third custom image URL associated with the gateway
*/
image3Url?: pulumi.Input<string | undefined>;
/**
* Gateway interface IP configurations by network name
*/
ipConfigs?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayIpConfigs>;
} | undefined>;
/**
* Gateway MAC address used to identify the device
*/
mac?: pulumi.Input<string | undefined>;
/**
* Whether the device is managed by Mist. Deprecated in favour of mist_configured.
*
* @deprecated This attribute is being deprecated, please use `mistConfigured` instead
*/
managed?: pulumi.Input<boolean | undefined>;
/**
* Map where the device belongs to
*/
mapId?: pulumi.Input<string | undefined>;
/**
* whether the device can be configured by Mist or not. This deprecates `managed` for adopted devices.
*/
mistConfigured?: pulumi.Input<boolean | undefined>;
/**
* Gateway model reported for the device
*/
model?: pulumi.Input<string | undefined>;
/**
* MSP that manages this gateway, when applicable
*/
mspId?: pulumi.Input<string | undefined>;
/**
* Friendly display name assigned to the gateway
*/
name?: pulumi.Input<string | undefined>;
/**
* Layer 3 networks configured for use by this gateway
*/
networks?: pulumi.Input<pulumi.Input<inputs.device.GatewayNetwork>[] | undefined>;
/**
* Free-form administrative notes for this gateway
*/
notes?: pulumi.Input<string | undefined>;
/**
* NTP servers used by this gateway
*/
ntpServers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Out-of-band management IP configuration for this gateway
*/
oobIpConfig?: pulumi.Input<inputs.device.GatewayOobIpConfig | undefined>;
/**
* Organization that owns this gateway
*/
orgId?: pulumi.Input<string | undefined>;
/**
* Property key is the path name
*/
pathPreferences?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayPathPreferences>;
} | undefined>;
/**
* Property key is the port name or range (e.g. "ge-0/0/0-10")
*/
portConfig?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayPortConfig>;
} | undefined>;
/**
* Port mirroring configuration for this gateway
*/
portMirroring?: pulumi.Input<inputs.device.GatewayPortMirroring | undefined>;
/**
* Auto assigned if not set
*/
routerId?: pulumi.Input<string | undefined>;
/**
* Routing policies applied by this gateway
*/
routingPolicies?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayRoutingPolicies>;
} | undefined>;
/**
* Manufacturer serial number for the gateway
*/
serial?: pulumi.Input<string | undefined>;
/**
* Traffic service policies enforced by this gateway
*/
servicePolicies?: pulumi.Input<pulumi.Input<inputs.device.GatewayServicePolicy>[] | undefined>;
/**
* Site where this gateway is assigned
*/
siteId?: pulumi.Input<string | undefined>;
/**
* additional CLI commands to append to the generated SSR config. **Note**: no check is done
*/
ssrAdditionalConfigCmds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Property key is the tunnel name
*/
tunnelConfigs?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayTunnelConfigs>;
} | undefined>;
/**
* Provider-specific options for tunnels terminated by this gateway
*/
tunnelProviderOptions?: pulumi.Input<inputs.device.GatewayTunnelProviderOptions | undefined>;
/**
* Device type discriminator for gateway records
*/
type?: pulumi.Input<string | undefined>;
/**
* When a service policy denies a app_category, what message to show in user's browser
*/
urlFilteringDenyMsg?: pulumi.Input<string | undefined>;
/**
* Variable values that override site variables for this gateway
*/
vars?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
} | undefined>;
/**
* VRF configuration applied to this gateway
*/
vrfConfig?: pulumi.Input<inputs.device.GatewayVrfConfig | undefined>;
/**
* VRF instances configured on this gateway
*/
vrfInstances?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayVrfInstances>;
} | undefined>;
/**
* Horizontal map position of the gateway, in pixels
*/
x?: pulumi.Input<number | undefined>;
/**
* Vertical map position of the gateway, in pixels
*/
y?: pulumi.Input<number | undefined>;
}
/**
* The set of arguments for constructing a Gateway resource.
*/
export interface GatewayArgs {
/**
* Additional CLI configuration commands to apply to this gateway
*/
additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* BGP routing configuration for this gateway. Property key is the BGP session name
*/
bgpConfig?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayBgpConfig>;
} | undefined>;
deviceId: pulumi.Input<string>;
/**
* DHCP server configuration served by this gateway
*/
dhcpdConfig?: pulumi.Input<inputs.device.GatewayDhcpdConfig | undefined>;
/**
* DNS servers configured for this gateway
*/
dnsServers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* DNS search suffixes configured for this gateway
*/
dnsSuffixes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Additional IPv4 routes configured on this gateway
*/
extraRoutes?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayExtraRoutes>;
} | undefined>;
/**
* Additional IPv6 routes configured on this gateway
*/
extraRoutes6?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayExtraRoutes6>;
} | undefined>;
/**
* Management-plane settings for this gateway
*/
gatewayMgmt?: pulumi.Input<inputs.device.GatewayGatewayMgmt | undefined>;
/**
* Intrusion detection and prevention profiles configured for this gateway
*/
idpProfiles?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayIdpProfiles>;
} | undefined>;
/**
* Gateway interface IP configurations by network name
*/
ipConfigs?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayIpConfigs>;
} | undefined>;
/**
* Whether the device is managed by Mist. Deprecated in favour of mist_configured.
*
* @deprecated This attribute is being deprecated, please use `mistConfigured` instead
*/
managed?: pulumi.Input<boolean | undefined>;
/**
* Map where the device belongs to
*/
mapId?: pulumi.Input<string | undefined>;
/**
* whether the device can be configured by Mist or not. This deprecates `managed` for adopted devices.
*/
mistConfigured?: pulumi.Input<boolean | undefined>;
/**
* MSP that manages this gateway, when applicable
*/
mspId?: pulumi.Input<string | undefined>;
/**
* Friendly display name assigned to the gateway
*/
name?: pulumi.Input<string | undefined>;
/**
* Layer 3 networks configured for use by this gateway
*/
networks?: pulumi.Input<pulumi.Input<inputs.device.GatewayNetwork>[] | undefined>;
/**
* Free-form administrative notes for this gateway
*/
notes?: pulumi.Input<string | undefined>;
/**
* NTP servers used by this gateway
*/
ntpServers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Out-of-band management IP configuration for this gateway
*/
oobIpConfig?: pulumi.Input<inputs.device.GatewayOobIpConfig | undefined>;
/**
* Property key is the path name
*/
pathPreferences?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayPathPreferences>;
} | undefined>;
/**
* Property key is the port name or range (e.g. "ge-0/0/0-10")
*/
portConfig?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayPortConfig>;
} | undefined>;
/**
* Port mirroring configuration for this gateway
*/
portMirroring?: pulumi.Input<inputs.device.GatewayPortMirroring | undefined>;
/**
* Auto assigned if not set
*/
routerId?: pulumi.Input<string | undefined>;
/**
* Routing policies applied by this gateway
*/
routingPolicies?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayRoutingPolicies>;
} | undefined>;
/**
* Traffic service policies enforced by this gateway
*/
servicePolicies?: pulumi.Input<pulumi.Input<inputs.device.GatewayServicePolicy>[] | undefined>;
/**
* Site where this gateway is assigned
*/
siteId: pulumi.Input<string>;
/**
* additional CLI commands to append to the generated SSR config. **Note**: no check is done
*/
ssrAdditionalConfigCmds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Property key is the tunnel name
*/
tunnelConfigs?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayTunnelConfigs>;
} | undefined>;
/**
* Provider-specific options for tunnels terminated by this gateway
*/
tunnelProviderOptions?: pulumi.Input<inputs.device.GatewayTunnelProviderOptions | undefined>;
/**
* When a service policy denies a app_category, what message to show in user's browser
*/
urlFilteringDenyMsg?: pulumi.Input<string | undefined>;
/**
* Variable values that override site variables for this gateway
*/
vars?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
} | undefined>;
/**
* VRF configuration applied to this gateway
*/
vrfConfig?: pulumi.Input<inputs.device.GatewayVrfConfig | undefined>;
/**
* VRF instances configured on this gateway
*/
vrfInstances?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.device.GatewayVrfInstances>;
} | undefined>;
/**
* Horizontal map position of the gateway, in pixels
*/
x?: pulumi.Input<number | undefined>;
/**
* Vertical map position of the gateway, in pixels
*/
y?: pulumi.Input<number | undefined>;
}
//# sourceMappingURL=gateway.d.ts.map