UNPKG

@pulumi/juniper-mist

Version:

A Pulumi package for creating and managing Juniper Mist resources.

304 lines (303 loc) 10.8 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource manages WAN Assurance Services (Applications). * * A Service is used to define a Custom Application that can be used in the `servicePolicies`. These Services can be referenced by their name in * * the Service Policies (`mist_org_servicepolicy.services`) * * the Gateway configuration (`mist_device_gateway.service_policies.services`) * * the Gateway Templates (`mist_org_gatewaytemplate.service_policies.services`) * * the HUB Profiles (`mist_org_deviceprofile_gateway.service_policies.services`) * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as junipermist from "@pulumi/juniper-mist"; * * const serviceOne = new junipermist.org.Service("service_one", { * orgId: terraformTest.id, * name: "service_one", * addresses: [ * "10.3.0.0/24", * "10.4.0.0/24", * ], * type: "custom", * specs: [{ * protocol: "tcp", * portRange: "443", * }], * }); * ``` * * ## Import * * Using `pulumi import`, import `mist_org_service` with: * * Org Service can be imported by specifying the org_id and the service_id * * ```sh * $ pulumi import junipermist:org/service:Service service_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309 * ``` */ export declare class Service extends pulumi.CustomResource { /** * Get an existing Service 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?: ServiceState, opts?: pulumi.CustomResourceOptions): Service; /** * Returns true if the given object is an instance of Service. 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 Service; /** * If `type`==`custom`, IPv4 and/or IPv6 subnets (e.g. 10.0.0.0/8, fd28::/128) */ readonly addresses: pulumi.Output<string[]>; /** * When `type`==`appCategories`, list of application categories are available through List App Category Definitions */ readonly appCategories: pulumi.Output<string[]>; /** * When `type`==`appCategories`, list of application categories are available through List App Sub Category Definitions */ readonly appSubcategories: pulumi.Output<string[]>; /** * When `type`==`apps`, list of applications are available through: * * List Applications * * List Gateway Applications * * /insight/top_app_by-bytes?wired=true */ readonly apps: pulumi.Output<string[]>; /** * 0 means unlimited, value from 0 to 107374182 */ readonly clientLimitDown: pulumi.Output<number | undefined>; /** * 0 means unlimited, value from 0 to 107374182 */ readonly clientLimitUp: pulumi.Output<number | undefined>; readonly description: pulumi.Output<string | undefined>; readonly dscp: pulumi.Output<string | undefined>; /** * enum: `nonRevertible`, `none`, `revertible` */ readonly failoverPolicy: pulumi.Output<string | undefined>; /** * If `type`==`custom`, web filtering */ readonly hostnames: pulumi.Output<string[]>; readonly maxJitter: pulumi.Output<string | undefined>; readonly maxLatency: pulumi.Output<string | undefined>; readonly maxLoss: pulumi.Output<string | undefined>; readonly name: pulumi.Output<string>; readonly orgId: pulumi.Output<string>; /** * 0 means unlimited, value from 0 to 107374182 */ readonly serviceLimitDown: pulumi.Output<number | undefined>; /** * 0 means unlimited, value from 0 to 107374182 */ readonly serviceLimitUp: pulumi.Output<number | undefined>; /** * Whether to enable measure SLE */ readonly sleEnabled: pulumi.Output<boolean | undefined>; /** * When `type`==`custom`, optional, if it doesn't exist, http and https is assumed */ readonly specs: pulumi.Output<outputs.org.ServiceSpec[] | undefined>; readonly ssrRelaxedTcpStateEnforcement: pulumi.Output<boolean | undefined>; /** * when `trafficType`==`custom`. enum: `bestEffort`, `high`, `low`, `medium` */ readonly trafficClass: pulumi.Output<string | undefined>; /** * values from List Traffic Types */ readonly trafficType: pulumi.Output<string>; /** * enum: `appCategories`, `apps`, `custom`, `urls` */ readonly type: pulumi.Output<string>; /** * When `type`==`urls`, no need for spec as URL can encode the ports being used */ readonly urls: pulumi.Output<string[]>; /** * Create a Service 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: ServiceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Service resources. */ export interface ServiceState { /** * If `type`==`custom`, IPv4 and/or IPv6 subnets (e.g. 10.0.0.0/8, fd28::/128) */ addresses?: pulumi.Input<pulumi.Input<string>[]>; /** * When `type`==`appCategories`, list of application categories are available through List App Category Definitions */ appCategories?: pulumi.Input<pulumi.Input<string>[]>; /** * When `type`==`appCategories`, list of application categories are available through List App Sub Category Definitions */ appSubcategories?: pulumi.Input<pulumi.Input<string>[]>; /** * When `type`==`apps`, list of applications are available through: * * List Applications * * List Gateway Applications * * /insight/top_app_by-bytes?wired=true */ apps?: pulumi.Input<pulumi.Input<string>[]>; /** * 0 means unlimited, value from 0 to 107374182 */ clientLimitDown?: pulumi.Input<number>; /** * 0 means unlimited, value from 0 to 107374182 */ clientLimitUp?: pulumi.Input<number>; description?: pulumi.Input<string>; dscp?: pulumi.Input<string>; /** * enum: `nonRevertible`, `none`, `revertible` */ failoverPolicy?: pulumi.Input<string>; /** * If `type`==`custom`, web filtering */ hostnames?: pulumi.Input<pulumi.Input<string>[]>; maxJitter?: pulumi.Input<string>; maxLatency?: pulumi.Input<string>; maxLoss?: pulumi.Input<string>; name?: pulumi.Input<string>; orgId?: pulumi.Input<string>; /** * 0 means unlimited, value from 0 to 107374182 */ serviceLimitDown?: pulumi.Input<number>; /** * 0 means unlimited, value from 0 to 107374182 */ serviceLimitUp?: pulumi.Input<number>; /** * Whether to enable measure SLE */ sleEnabled?: pulumi.Input<boolean>; /** * When `type`==`custom`, optional, if it doesn't exist, http and https is assumed */ specs?: pulumi.Input<pulumi.Input<inputs.org.ServiceSpec>[]>; ssrRelaxedTcpStateEnforcement?: pulumi.Input<boolean>; /** * when `trafficType`==`custom`. enum: `bestEffort`, `high`, `low`, `medium` */ trafficClass?: pulumi.Input<string>; /** * values from List Traffic Types */ trafficType?: pulumi.Input<string>; /** * enum: `appCategories`, `apps`, `custom`, `urls` */ type?: pulumi.Input<string>; /** * When `type`==`urls`, no need for spec as URL can encode the ports being used */ urls?: pulumi.Input<pulumi.Input<string>[]>; } /** * The set of arguments for constructing a Service resource. */ export interface ServiceArgs { /** * If `type`==`custom`, IPv4 and/or IPv6 subnets (e.g. 10.0.0.0/8, fd28::/128) */ addresses?: pulumi.Input<pulumi.Input<string>[]>; /** * When `type`==`appCategories`, list of application categories are available through List App Category Definitions */ appCategories?: pulumi.Input<pulumi.Input<string>[]>; /** * When `type`==`appCategories`, list of application categories are available through List App Sub Category Definitions */ appSubcategories?: pulumi.Input<pulumi.Input<string>[]>; /** * When `type`==`apps`, list of applications are available through: * * List Applications * * List Gateway Applications * * /insight/top_app_by-bytes?wired=true */ apps?: pulumi.Input<pulumi.Input<string>[]>; /** * 0 means unlimited, value from 0 to 107374182 */ clientLimitDown?: pulumi.Input<number>; /** * 0 means unlimited, value from 0 to 107374182 */ clientLimitUp?: pulumi.Input<number>; description?: pulumi.Input<string>; dscp?: pulumi.Input<string>; /** * enum: `nonRevertible`, `none`, `revertible` */ failoverPolicy?: pulumi.Input<string>; /** * If `type`==`custom`, web filtering */ hostnames?: pulumi.Input<pulumi.Input<string>[]>; maxJitter?: pulumi.Input<string>; maxLatency?: pulumi.Input<string>; maxLoss?: pulumi.Input<string>; name?: pulumi.Input<string>; orgId: pulumi.Input<string>; /** * 0 means unlimited, value from 0 to 107374182 */ serviceLimitDown?: pulumi.Input<number>; /** * 0 means unlimited, value from 0 to 107374182 */ serviceLimitUp?: pulumi.Input<number>; /** * Whether to enable measure SLE */ sleEnabled?: pulumi.Input<boolean>; /** * When `type`==`custom`, optional, if it doesn't exist, http and https is assumed */ specs?: pulumi.Input<pulumi.Input<inputs.org.ServiceSpec>[]>; ssrRelaxedTcpStateEnforcement?: pulumi.Input<boolean>; /** * when `trafficType`==`custom`. enum: `bestEffort`, `high`, `low`, `medium` */ trafficClass?: pulumi.Input<string>; /** * values from List Traffic Types */ trafficType?: pulumi.Input<string>; /** * enum: `appCategories`, `apps`, `custom`, `urls` */ type?: pulumi.Input<string>; /** * When `type`==`urls`, no need for spec as URL can encode the ports being used */ urls?: pulumi.Input<pulumi.Input<string>[]>; }