@pulumi/sdwan
Version:
A Pulumi package for managing resources on Cisco Catalyst SD-WAN.. Based on terraform-provider-sdwan: version v0.4.1
204 lines (203 loc) • 8.27 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* This resource can manage a DNS Security Policy.
* - Minimum SD-WAN Manager version: `20.12.0`
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sdwan from "@pulumi/sdwan";
*
* const example = new sdwan.DnsSecurityPolicy("example", {
* name: "Example",
* description: "My Example",
* featureProfileId: "f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac",
* localDomainBypassListId: "0c4e096d-b06d-4052-93ed-70fe34fda6dc",
* matchAllVpn: true,
* umbrellaDefault: false,
* dnsServerIp: "1.2.3.4",
* localDomainBypassEnabled: true,
* dnsCrypt: false,
* childOrgId: "12334",
* });
* ```
*
* ## Import
*
* The `pulumi import` command can be used, for example:
*
* Expected import identifier with the format: "dns_security_policy_id,feature_profile_id"
*
* ```sh
* $ pulumi import sdwan:index/dnsSecurityPolicy:DnsSecurityPolicy example "f6b2c44c-693c-4763-b010-895aa3d236bd,f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac"
* ```
*/
export declare class DnsSecurityPolicy extends pulumi.CustomResource {
/**
* Get an existing DnsSecurityPolicy 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?: DnsSecurityPolicyState, opts?: pulumi.CustomResourceOptions): DnsSecurityPolicy;
/**
* Returns true if the given object is an instance of DnsSecurityPolicy. 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 DnsSecurityPolicy;
/**
* String that is a number that corresponds to Umbrella Multi Org, can be empty if not using Umbrella Multi Org
*/
readonly childOrgId: pulumi.Output<string>;
/**
* The description of the Policy
*/
readonly description: pulumi.Output<string | undefined>;
/**
* If matchAllVpn is false, this field is only true if at least one of the targetVpns entires contains an umbrellaDefault true
*/
readonly dnsCrypt: pulumi.Output<boolean>;
/**
* Field will only be under data field if matchAllVpn is true, otherwise field will be under targetVpns and set per entry, Attribute conditional on `matchAllVpn` being equal to `true`
*/
readonly dnsServerIp: pulumi.Output<string>;
/**
* Feature Profile ID
*/
readonly featureProfileId: pulumi.Output<string>;
/**
* Field will only be under data field if matchAllVpn is true, otherwise field will be under targetVpns and set per entry
*/
readonly localDomainBypassEnabled: pulumi.Output<boolean>;
readonly localDomainBypassListId: pulumi.Output<string>;
/**
* If this is true, there shouldn't be a targetVpns field, if false then targetVpns field should be there
*/
readonly matchAllVpn: pulumi.Output<boolean>;
/**
* The name of the Policy
*/
readonly name: pulumi.Output<string>;
/**
* Will be under data field only if matchAllVpn is false, if matchAllVpn is true field should not be in payload, Attribute conditional on `matchAllVpn` being equal to `false`
*/
readonly targetVpns: pulumi.Output<outputs.DnsSecurityPolicyTargetVpn[] | undefined>;
/**
* Field will only be under data field if matchAllVpn is true, otherwise field will be under targetVpns and set per entry
*/
readonly umbrellaDefault: pulumi.Output<boolean>;
/**
* The version of the Policy
*/
readonly version: pulumi.Output<number>;
/**
* Create a DnsSecurityPolicy 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: DnsSecurityPolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering DnsSecurityPolicy resources.
*/
export interface DnsSecurityPolicyState {
/**
* String that is a number that corresponds to Umbrella Multi Org, can be empty if not using Umbrella Multi Org
*/
childOrgId?: pulumi.Input<string>;
/**
* The description of the Policy
*/
description?: pulumi.Input<string>;
/**
* If matchAllVpn is false, this field is only true if at least one of the targetVpns entires contains an umbrellaDefault true
*/
dnsCrypt?: pulumi.Input<boolean>;
/**
* Field will only be under data field if matchAllVpn is true, otherwise field will be under targetVpns and set per entry, Attribute conditional on `matchAllVpn` being equal to `true`
*/
dnsServerIp?: pulumi.Input<string>;
/**
* Feature Profile ID
*/
featureProfileId?: pulumi.Input<string>;
/**
* Field will only be under data field if matchAllVpn is true, otherwise field will be under targetVpns and set per entry
*/
localDomainBypassEnabled?: pulumi.Input<boolean>;
localDomainBypassListId?: pulumi.Input<string>;
/**
* If this is true, there shouldn't be a targetVpns field, if false then targetVpns field should be there
*/
matchAllVpn?: pulumi.Input<boolean>;
/**
* The name of the Policy
*/
name?: pulumi.Input<string>;
/**
* Will be under data field only if matchAllVpn is false, if matchAllVpn is true field should not be in payload, Attribute conditional on `matchAllVpn` being equal to `false`
*/
targetVpns?: pulumi.Input<pulumi.Input<inputs.DnsSecurityPolicyTargetVpn>[]>;
/**
* Field will only be under data field if matchAllVpn is true, otherwise field will be under targetVpns and set per entry
*/
umbrellaDefault?: pulumi.Input<boolean>;
/**
* The version of the Policy
*/
version?: pulumi.Input<number>;
}
/**
* The set of arguments for constructing a DnsSecurityPolicy resource.
*/
export interface DnsSecurityPolicyArgs {
/**
* String that is a number that corresponds to Umbrella Multi Org, can be empty if not using Umbrella Multi Org
*/
childOrgId: pulumi.Input<string>;
/**
* The description of the Policy
*/
description?: pulumi.Input<string>;
/**
* If matchAllVpn is false, this field is only true if at least one of the targetVpns entires contains an umbrellaDefault true
*/
dnsCrypt: pulumi.Input<boolean>;
/**
* Field will only be under data field if matchAllVpn is true, otherwise field will be under targetVpns and set per entry, Attribute conditional on `matchAllVpn` being equal to `true`
*/
dnsServerIp: pulumi.Input<string>;
/**
* Feature Profile ID
*/
featureProfileId: pulumi.Input<string>;
/**
* Field will only be under data field if matchAllVpn is true, otherwise field will be under targetVpns and set per entry
*/
localDomainBypassEnabled: pulumi.Input<boolean>;
localDomainBypassListId: pulumi.Input<string>;
/**
* If this is true, there shouldn't be a targetVpns field, if false then targetVpns field should be there
*/
matchAllVpn: pulumi.Input<boolean>;
/**
* The name of the Policy
*/
name?: pulumi.Input<string>;
/**
* Will be under data field only if matchAllVpn is false, if matchAllVpn is true field should not be in payload, Attribute conditional on `matchAllVpn` being equal to `false`
*/
targetVpns?: pulumi.Input<pulumi.Input<inputs.DnsSecurityPolicyTargetVpn>[]>;
/**
* Field will only be under data field if matchAllVpn is true, otherwise field will be under targetVpns and set per entry
*/
umbrellaDefault: pulumi.Input<boolean>;
}