UNPKG

@pulumi/juniper-mist

Version:

A Pulumi package for creating and managing Juniper Mist resources.

531 lines 19.7 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource manages the Gateway Device Profiles (HUB Profiles). * * A 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. * * The Gateway Device Profile can be assigned to a gateway with the `junipermist.org.DeviceprofileAssign` resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as junipermist from "@pulumi/juniper-mist"; * * const deviceprofileGwOne = new junipermist.org.DeviceprofileGateway("deviceprofile_gw_one", { * name: "deviceprofile_gw_one", * orgId: terraformTest.id, * portConfig: { * "ge-0/0/3": { * name: "FTTH", * usage: "wan", * aggregated: false, * redundant: false, * critical: false, * wanType: "broadband", * ipConfig: { * type: "static", * ip: "192.168.1.8", * netmask: "/24", * gateway: "192.168.1.1", * }, * disableAutoneg: false, * speed: "auto", * duplex: "auto", * wanSourceNat: { * disabled: false, * }, * vpnPaths: { * "SSR_HUB_DC-MPLS.OrgOverlay": { * key: 0, * role: "spoke", * bfdProfile: "broadband", * }, * }, * }, * "ge-0/0/5": { * usage: "lan", * critical: false, * aggregated: true, * aeDisableLacp: false, * aeLacpForceUp: true, * aeIdx: "0", * redundant: false, * networks: [ * "PRD-Core", * "PRD-Mgmt", * "PRD-Lab", * ], * }, * }, * ipConfigs: { * "PRD-Core": { * type: "static", * ip: "10.3.100.9", * netmask: "/24", * }, * "PRD-Mgmt": { * type: "static", * ip: "10.3.172.1", * netmask: "/24", * }, * "PRD-Lab": { * type: "static", * ip: "10.3.171.1", * netmask: "/24", * }, * }, * servicePolicies: [{ * name: "Policy-14", * tenants: ["PRD-Core"], * services: ["any"], * action: "allow", * pathPreference: "HUB", * idp: { * enabled: true, * profile: "critical", * alertOnly: false, * }, * }], * }); * ``` * * ## Import * * Using `pulumi import`, import `junipermist.org.DeviceprofileGateway` with: * Device Profile can be imported by specifying the orgId and the deviceprofileId * * ```sh * $ pulumi import junipermist:org/deviceprofileGateway:DeviceprofileGateway deviceprofile_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309 * ``` */ export declare class DeviceprofileGateway extends pulumi.CustomResource { /** * Get an existing DeviceprofileGateway 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?: DeviceprofileGatewayState, opts?: pulumi.CustomResourceOptions): DeviceprofileGateway; /** * Returns true if the given object is an instance of DeviceprofileGateway. 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 DeviceprofileGateway; /** * Additional CLI configuration commands provided by this gateway profile */ readonly additionalConfigCmds: pulumi.Output<string[] | undefined>; /** * BGP routing defaults for this gateway profile. Property key is the BGP session name */ readonly bgpConfig: pulumi.Output<{ [key: string]: outputs.org.DeviceprofileGatewayBgpConfig; } | undefined>; /** * DHCP server defaults provided by this gateway profile */ readonly dhcpdConfig: pulumi.Output<outputs.org.DeviceprofileGatewayDhcpdConfig | undefined>; /** * Whether DNS server and suffix settings in this profile override inherited values */ readonly dnsOverride: pulumi.Output<boolean | undefined>; /** * DNS servers provided by this gateway profile */ readonly dnsServers: pulumi.Output<string[] | undefined>; /** * DNS search suffixes provided by this gateway profile */ readonly dnsSuffixes: pulumi.Output<string[] | undefined>; /** * Additional IPv4 route defaults in this gateway profile */ readonly extraRoutes: pulumi.Output<{ [key: string]: outputs.org.DeviceprofileGatewayExtraRoutes; } | undefined>; /** * Additional IPv6 route defaults in this gateway profile */ readonly extraRoutes6: pulumi.Output<{ [key: string]: outputs.org.DeviceprofileGatewayExtraRoutes6; } | undefined>; /** * Intrusion detection and prevention profile defaults in this gateway profile */ readonly idpProfiles: pulumi.Output<{ [key: string]: outputs.org.DeviceprofileGatewayIdpProfiles; } | undefined>; /** * Gateway interface IP configuration defaults by network name */ readonly ipConfigs: pulumi.Output<{ [key: string]: outputs.org.DeviceprofileGatewayIpConfigs; } | undefined>; /** * Display name of the gateway profile */ readonly name: pulumi.Output<string>; /** * Layer 3 networks configured by this gateway profile */ readonly networks: pulumi.Output<outputs.org.DeviceprofileGatewayNetwork[] | undefined>; /** * Whether NTP servers in this profile override inherited values */ readonly ntpOverride: pulumi.Output<boolean | undefined>; /** * NTP servers provided by this gateway profile */ readonly ntpServers: pulumi.Output<string[] | undefined>; /** * Out-of-band management IP defaults in this gateway profile */ readonly oobIpConfig: pulumi.Output<outputs.org.DeviceprofileGatewayOobIpConfig>; /** * Organization that owns this gateway profile */ readonly orgId: pulumi.Output<string>; /** * Property key is the path name */ readonly pathPreferences: pulumi.Output<{ [key: string]: outputs.org.DeviceprofileGatewayPathPreferences; } | undefined>; /** * Property key is the port(s) name or range (e.g. "ge-0/0/0-10") */ readonly portConfig: pulumi.Output<{ [key: string]: outputs.org.DeviceprofileGatewayPortConfig; } | undefined>; /** * Auto assigned if not set */ readonly routerId: pulumi.Output<string | undefined>; /** * Routing policy defaults applied by this gateway profile */ readonly routingPolicies: pulumi.Output<{ [key: string]: outputs.org.DeviceprofileGatewayRoutingPolicies; } | undefined>; /** * Traffic service policy defaults enforced by this gateway profile */ readonly servicePolicies: pulumi.Output<outputs.org.DeviceprofileGatewayServicePolicy[] | undefined>; /** * 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.org.DeviceprofileGatewayTunnelConfigs; } | undefined>; /** * Provider-specific tunnel options defined by this gateway profile */ readonly tunnelProviderOptions: pulumi.Output<outputs.org.DeviceprofileGatewayTunnelProviderOptions | undefined>; /** * Device type discriminator for gateway profiles */ 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>; /** * VRF defaults applied by this gateway profile */ readonly vrfConfig: pulumi.Output<outputs.org.DeviceprofileGatewayVrfConfig | undefined>; /** * VRF instances configured by this gateway profile */ readonly vrfInstances: pulumi.Output<{ [key: string]: outputs.org.DeviceprofileGatewayVrfInstances; } | undefined>; /** * Create a DeviceprofileGateway 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: DeviceprofileGatewayArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DeviceprofileGateway resources. */ export interface DeviceprofileGatewayState { /** * Additional CLI configuration commands provided by this gateway profile */ additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * BGP routing defaults for this gateway profile. Property key is the BGP session name */ bgpConfig?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayBgpConfig>; } | undefined>; /** * DHCP server defaults provided by this gateway profile */ dhcpdConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayDhcpdConfig | undefined>; /** * Whether DNS server and suffix settings in this profile override inherited values */ dnsOverride?: pulumi.Input<boolean | undefined>; /** * DNS servers provided by this gateway profile */ dnsServers?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * DNS search suffixes provided by this gateway profile */ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Additional IPv4 route defaults in this gateway profile */ extraRoutes?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayExtraRoutes>; } | undefined>; /** * Additional IPv6 route defaults in this gateway profile */ extraRoutes6?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayExtraRoutes6>; } | undefined>; /** * Intrusion detection and prevention profile defaults in this gateway profile */ idpProfiles?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayIdpProfiles>; } | undefined>; /** * Gateway interface IP configuration defaults by network name */ ipConfigs?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayIpConfigs>; } | undefined>; /** * Display name of the gateway profile */ name?: pulumi.Input<string | undefined>; /** * Layer 3 networks configured by this gateway profile */ networks?: pulumi.Input<pulumi.Input<inputs.org.DeviceprofileGatewayNetwork>[] | undefined>; /** * Whether NTP servers in this profile override inherited values */ ntpOverride?: pulumi.Input<boolean | undefined>; /** * NTP servers provided by this gateway profile */ ntpServers?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Out-of-band management IP defaults in this gateway profile */ oobIpConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayOobIpConfig | undefined>; /** * Organization that owns this gateway profile */ orgId?: pulumi.Input<string | undefined>; /** * Property key is the path name */ pathPreferences?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayPathPreferences>; } | undefined>; /** * Property key is the port(s) name or range (e.g. "ge-0/0/0-10") */ portConfig?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayPortConfig>; } | undefined>; /** * Auto assigned if not set */ routerId?: pulumi.Input<string | undefined>; /** * Routing policy defaults applied by this gateway profile */ routingPolicies?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayRoutingPolicies>; } | undefined>; /** * Traffic service policy defaults enforced by this gateway profile */ servicePolicies?: pulumi.Input<pulumi.Input<inputs.org.DeviceprofileGatewayServicePolicy>[] | 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.org.DeviceprofileGatewayTunnelConfigs>; } | undefined>; /** * Provider-specific tunnel options defined by this gateway profile */ tunnelProviderOptions?: pulumi.Input<inputs.org.DeviceprofileGatewayTunnelProviderOptions | undefined>; /** * Device type discriminator for gateway profiles */ 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>; /** * VRF defaults applied by this gateway profile */ vrfConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayVrfConfig | undefined>; /** * VRF instances configured by this gateway profile */ vrfInstances?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayVrfInstances>; } | undefined>; } /** * The set of arguments for constructing a DeviceprofileGateway resource. */ export interface DeviceprofileGatewayArgs { /** * Additional CLI configuration commands provided by this gateway profile */ additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * BGP routing defaults for this gateway profile. Property key is the BGP session name */ bgpConfig?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayBgpConfig>; } | undefined>; /** * DHCP server defaults provided by this gateway profile */ dhcpdConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayDhcpdConfig | undefined>; /** * Whether DNS server and suffix settings in this profile override inherited values */ dnsOverride?: pulumi.Input<boolean | undefined>; /** * DNS servers provided by this gateway profile */ dnsServers?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * DNS search suffixes provided by this gateway profile */ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Additional IPv4 route defaults in this gateway profile */ extraRoutes?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayExtraRoutes>; } | undefined>; /** * Additional IPv6 route defaults in this gateway profile */ extraRoutes6?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayExtraRoutes6>; } | undefined>; /** * Intrusion detection and prevention profile defaults in this gateway profile */ idpProfiles?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayIdpProfiles>; } | undefined>; /** * Gateway interface IP configuration defaults by network name */ ipConfigs?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayIpConfigs>; } | undefined>; /** * Display name of the gateway profile */ name?: pulumi.Input<string | undefined>; /** * Layer 3 networks configured by this gateway profile */ networks?: pulumi.Input<pulumi.Input<inputs.org.DeviceprofileGatewayNetwork>[] | undefined>; /** * Whether NTP servers in this profile override inherited values */ ntpOverride?: pulumi.Input<boolean | undefined>; /** * NTP servers provided by this gateway profile */ ntpServers?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Out-of-band management IP defaults in this gateway profile */ oobIpConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayOobIpConfig | undefined>; /** * Organization that owns this gateway profile */ orgId: pulumi.Input<string>; /** * Property key is the path name */ pathPreferences?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayPathPreferences>; } | undefined>; /** * Property key is the port(s) name or range (e.g. "ge-0/0/0-10") */ portConfig?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayPortConfig>; } | undefined>; /** * Auto assigned if not set */ routerId?: pulumi.Input<string | undefined>; /** * Routing policy defaults applied by this gateway profile */ routingPolicies?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayRoutingPolicies>; } | undefined>; /** * Traffic service policy defaults enforced by this gateway profile */ servicePolicies?: pulumi.Input<pulumi.Input<inputs.org.DeviceprofileGatewayServicePolicy>[] | 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.org.DeviceprofileGatewayTunnelConfigs>; } | undefined>; /** * Provider-specific tunnel options defined by this gateway profile */ tunnelProviderOptions?: pulumi.Input<inputs.org.DeviceprofileGatewayTunnelProviderOptions | undefined>; /** * When a service policy denies a app_category, what message to show in user's browser */ urlFilteringDenyMsg?: pulumi.Input<string | undefined>; /** * VRF defaults applied by this gateway profile */ vrfConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayVrfConfig | undefined>; /** * VRF instances configured by this gateway profile */ vrfInstances?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayVrfInstances>; } | undefined>; } //# sourceMappingURL=deviceprofileGateway.d.ts.map