@pulumi/juniper-mist
Version:
A Pulumi package for creating and managing Juniper Mist resources.
358 lines (357 loc) • 15 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* This resource manages the Site Network configuration (Switch configuration).
*
* The 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.
*
* > 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 `junipermist.site.Networktemplate` resource has been created to centralize all the site level switches related settings.
*
* !> Only ONE `junipermist.site.Networktemplate` resource can be configured per site. If multiple ones are configured, only the last one defined we be successfully deployed to Mist
*
* ## Import
*
* Using `pulumi import`, import `mist_site_networktemplate` with:
*
* Site Network Template can be imported by specifying the site_id
*
* ```sh
* $ pulumi import junipermist:site/networktemplate:Networktemplate networktemplate_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a
* ```
*/
export declare class Networktemplate extends pulumi.CustomResource {
/**
* Get an existing Networktemplate 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?: NetworktemplateState, opts?: pulumi.CustomResourceOptions): Networktemplate;
/**
* Returns true if the given object is an instance of Networktemplate. 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 Networktemplate;
readonly aclPolicies: pulumi.Output<outputs.site.NetworktemplateAclPolicy[] | undefined>;
/**
* ACL Tags to identify traffic source or destination. Key name is the tag name
*/
readonly aclTags: pulumi.Output<{
[key: string]: outputs.site.NetworktemplateAclTags;
} | undefined>;
/**
* additional CLI commands to append to the generated Junos config. **Note**: no check is done
*/
readonly additionalConfigCmds: pulumi.Output<string[] | undefined>;
readonly autoUpgradeLinecard: pulumi.Output<boolean>;
/**
* Port usage to assign to switch ports without any port usage assigned. Default: `default` to preserve default behavior
*/
readonly defaultPortUsage: pulumi.Output<string | undefined>;
readonly dhcpSnooping: pulumi.Output<outputs.site.NetworktemplateDhcpSnooping | undefined>;
/**
* If some system-default port usages are not desired - namely, ap / iot / uplink
*/
readonly disabledSystemDefinedPortUsages: pulumi.Output<string[] | undefined>;
/**
* Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
*/
readonly dnsServers: pulumi.Output<string[]>;
/**
* Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
*/
readonly dnsSuffixes: pulumi.Output<string[]>;
/**
* Property key is the destination CIDR (e.g. "10.0.0.0/8")
*/
readonly extraRoutes: pulumi.Output<{
[key: string]: outputs.site.NetworktemplateExtraRoutes;
} | undefined>;
/**
* Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
*/
readonly extraRoutes6: pulumi.Output<{
[key: string]: outputs.site.NetworktemplateExtraRoutes6;
} | undefined>;
/**
* Enable mistNac to use RadSec
*/
readonly mistNac: pulumi.Output<outputs.site.NetworktemplateMistNac | undefined>;
/**
* Property key is network name
*/
readonly networks: pulumi.Output<{
[key: string]: outputs.site.NetworktemplateNetworks;
} | undefined>;
/**
* List of NTP servers
*/
readonly ntpServers: pulumi.Output<string[]>;
/**
* Junos OSPF areas. Property key is the OSPF Area (Area should be a number (0-255) / IP address)
*/
readonly ospfAreas: pulumi.Output<{
[key: string]: outputs.site.NetworktemplateOspfAreas;
} | undefined>;
/**
* Property key is the port mirroring instance name. `portMirroring` 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
*/
readonly portMirroring: pulumi.Output<{
[key: string]: outputs.site.NetworktemplatePortMirroring;
} | undefined>;
/**
* Property key is the port usage name. Defines the profiles of port configuration configured on the switch
*/
readonly portUsages: pulumi.Output<{
[key: string]: outputs.site.NetworktemplatePortUsages;
} | undefined>;
/**
* Junos Radius config
*/
readonly radiusConfig: pulumi.Output<outputs.site.NetworktemplateRadiusConfig | undefined>;
readonly remoteSyslog: pulumi.Output<outputs.site.NetworktemplateRemoteSyslog | undefined>;
/**
* Unique ID of the object instance in the Mist Organization
*/
readonly siteId: pulumi.Output<string>;
readonly snmpConfig: pulumi.Output<outputs.site.NetworktemplateSnmpConfig | undefined>;
/**
* Defines custom switch configuration based on different criteria
*/
readonly switchMatching: pulumi.Output<outputs.site.NetworktemplateSwitchMatching | undefined>;
/**
* Switch settings
*/
readonly switchMgmt: pulumi.Output<outputs.site.NetworktemplateSwitchMgmt | undefined>;
readonly vrfConfig: pulumi.Output<outputs.site.NetworktemplateVrfConfig | undefined>;
/**
* Property key is the network name
*/
readonly vrfInstances: pulumi.Output<{
[key: string]: outputs.site.NetworktemplateVrfInstances;
} | undefined>;
/**
* Create a Networktemplate 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: NetworktemplateArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Networktemplate resources.
*/
export interface NetworktemplateState {
aclPolicies?: pulumi.Input<pulumi.Input<inputs.site.NetworktemplateAclPolicy>[]>;
/**
* ACL Tags to identify traffic source or destination. Key name is the tag name
*/
aclTags?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateAclTags>;
}>;
/**
* additional CLI commands to append to the generated Junos config. **Note**: no check is done
*/
additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[]>;
autoUpgradeLinecard?: pulumi.Input<boolean>;
/**
* Port usage to assign to switch ports without any port usage assigned. Default: `default` to preserve default behavior
*/
defaultPortUsage?: pulumi.Input<string>;
dhcpSnooping?: pulumi.Input<inputs.site.NetworktemplateDhcpSnooping>;
/**
* If some system-default port usages are not desired - namely, ap / iot / uplink
*/
disabledSystemDefinedPortUsages?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
*/
dnsServers?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
*/
dnsSuffixes?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Property key is the destination CIDR (e.g. "10.0.0.0/8")
*/
extraRoutes?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateExtraRoutes>;
}>;
/**
* Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
*/
extraRoutes6?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateExtraRoutes6>;
}>;
/**
* Enable mistNac to use RadSec
*/
mistNac?: pulumi.Input<inputs.site.NetworktemplateMistNac>;
/**
* Property key is network name
*/
networks?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateNetworks>;
}>;
/**
* List of NTP servers
*/
ntpServers?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Junos OSPF areas. Property key is the OSPF Area (Area should be a number (0-255) / IP address)
*/
ospfAreas?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateOspfAreas>;
}>;
/**
* Property key is the port mirroring instance name. `portMirroring` 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
*/
portMirroring?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplatePortMirroring>;
}>;
/**
* Property key is the port usage name. Defines the profiles of port configuration configured on the switch
*/
portUsages?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplatePortUsages>;
}>;
/**
* Junos Radius config
*/
radiusConfig?: pulumi.Input<inputs.site.NetworktemplateRadiusConfig>;
remoteSyslog?: pulumi.Input<inputs.site.NetworktemplateRemoteSyslog>;
/**
* Unique ID of the object instance in the Mist Organization
*/
siteId?: pulumi.Input<string>;
snmpConfig?: pulumi.Input<inputs.site.NetworktemplateSnmpConfig>;
/**
* Defines custom switch configuration based on different criteria
*/
switchMatching?: pulumi.Input<inputs.site.NetworktemplateSwitchMatching>;
/**
* Switch settings
*/
switchMgmt?: pulumi.Input<inputs.site.NetworktemplateSwitchMgmt>;
vrfConfig?: pulumi.Input<inputs.site.NetworktemplateVrfConfig>;
/**
* Property key is the network name
*/
vrfInstances?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateVrfInstances>;
}>;
}
/**
* The set of arguments for constructing a Networktemplate resource.
*/
export interface NetworktemplateArgs {
aclPolicies?: pulumi.Input<pulumi.Input<inputs.site.NetworktemplateAclPolicy>[]>;
/**
* ACL Tags to identify traffic source or destination. Key name is the tag name
*/
aclTags?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateAclTags>;
}>;
/**
* additional CLI commands to append to the generated Junos config. **Note**: no check is done
*/
additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[]>;
autoUpgradeLinecard?: pulumi.Input<boolean>;
/**
* Port usage to assign to switch ports without any port usage assigned. Default: `default` to preserve default behavior
*/
defaultPortUsage?: pulumi.Input<string>;
dhcpSnooping?: pulumi.Input<inputs.site.NetworktemplateDhcpSnooping>;
/**
* If some system-default port usages are not desired - namely, ap / iot / uplink
*/
disabledSystemDefinedPortUsages?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
*/
dnsServers?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
*/
dnsSuffixes?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Property key is the destination CIDR (e.g. "10.0.0.0/8")
*/
extraRoutes?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateExtraRoutes>;
}>;
/**
* Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
*/
extraRoutes6?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateExtraRoutes6>;
}>;
/**
* Enable mistNac to use RadSec
*/
mistNac?: pulumi.Input<inputs.site.NetworktemplateMistNac>;
/**
* Property key is network name
*/
networks?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateNetworks>;
}>;
/**
* List of NTP servers
*/
ntpServers?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Junos OSPF areas. Property key is the OSPF Area (Area should be a number (0-255) / IP address)
*/
ospfAreas?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateOspfAreas>;
}>;
/**
* Property key is the port mirroring instance name. `portMirroring` 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
*/
portMirroring?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplatePortMirroring>;
}>;
/**
* Property key is the port usage name. Defines the profiles of port configuration configured on the switch
*/
portUsages?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplatePortUsages>;
}>;
/**
* Junos Radius config
*/
radiusConfig?: pulumi.Input<inputs.site.NetworktemplateRadiusConfig>;
remoteSyslog?: pulumi.Input<inputs.site.NetworktemplateRemoteSyslog>;
/**
* Unique ID of the object instance in the Mist Organization
*/
siteId: pulumi.Input<string>;
snmpConfig?: pulumi.Input<inputs.site.NetworktemplateSnmpConfig>;
/**
* Defines custom switch configuration based on different criteria
*/
switchMatching?: pulumi.Input<inputs.site.NetworktemplateSwitchMatching>;
/**
* Switch settings
*/
switchMgmt?: pulumi.Input<inputs.site.NetworktemplateSwitchMgmt>;
vrfConfig?: pulumi.Input<inputs.site.NetworktemplateVrfConfig>;
/**
* Property key is the network name
*/
vrfInstances?: pulumi.Input<{
[key: string]: pulumi.Input<inputs.site.NetworktemplateVrfInstances>;
}>;
}