@pulumi/scm
Version:
A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1
210 lines (209 loc) • 6.88 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* ExternalDynamicList resource
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scm from "@pulumi/scm";
*
* // This resource creates a domain-based External Dynamic List (EDL).
* // The EDL will fetch a list of domains from the specified URL daily.
* const scmEdl1 = new scm.ExternalDynamicList("scm_edl_1", {
* folder: "All",
* name: "scm_edl_1",
* type: {
* domain: {
* description: "List of malicious domains to block, updated daily.",
* url: "http://some-threat-feed.com/domains.txt",
* recurring: {
* daily: {
* at: "03",
* },
* },
* },
* },
* });
* const scmEdl2 = new scm.ExternalDynamicList("scm_edl_2", {
* folder: "All",
* name: "scm_edl_2",
* type: {
* ip: {
* description: "IP threat feed with basic auth, updated hourly.",
* url: "https://threats.example.com/ips.txt",
* recurring: {
* hourly: {},
* },
* },
* },
* });
* const scmEdl3 = new scm.ExternalDynamicList("scm_edl_3", {
* folder: "All",
* name: "scm_edl_3",
* type: {
* url: {
* description: "List of phishing URLs, updated every Monday at 2 AM.",
* url: "https://phish-block.example.com/urls.txt",
* recurring: {
* weekly: {
* dayOfWeek: "monday",
* at: "02",
* },
* },
* },
* },
* });
* const scmEdl4 = new scm.ExternalDynamicList("scm_edl_4", {
* folder: "All",
* name: "scm_edl_4",
* type: {
* predefinedIp: {
* description: "Palo Alto Networks-provided list of high-risk IP addresses.",
* url: "panw-highrisk-ip-list",
* },
* },
* });
* const scmEdl5 = new scm.ExternalDynamicList("scm_edl_5", {
* folder: "All",
* name: "scm_edl_5",
* type: {
* ip: {
* description: "IP threat feed that requires authentication.",
* url: "https://secure-feed.example.com/ips.txt",
* certificateProfile: "test-cert-list-qekwys",
* auth: {
* username: "my-api-user",
* password: "a-very-secret-password-123!",
* },
* recurring: {
* fiveMinute: {},
* },
* },
* },
* });
* ```
*/
export declare class ExternalDynamicList extends pulumi.CustomResource {
/**
* Get an existing ExternalDynamicList 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?: ExternalDynamicListState, opts?: pulumi.CustomResourceOptions): ExternalDynamicList;
/**
* Returns true if the given object is an instance of ExternalDynamicList. 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 ExternalDynamicList;
/**
* The device in which the resource is defined
*/
readonly device: pulumi.Output<string | undefined>;
/**
* Map of sensitive values returned from the API.
*/
readonly encryptedValues: pulumi.Output<{
[key: string]: string;
}>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
readonly folder: pulumi.Output<string | undefined>;
/**
* The name of the external dynamic list
*/
readonly name: pulumi.Output<string>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
readonly snippet: pulumi.Output<string | undefined>;
readonly tfid: pulumi.Output<string>;
/**
* Type
*/
readonly type: pulumi.Output<outputs.ExternalDynamicListType>;
/**
* Create a ExternalDynamicList 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?: ExternalDynamicListArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering ExternalDynamicList resources.
*/
export interface ExternalDynamicListState {
/**
* The device in which the resource is defined
*/
device?: pulumi.Input<string>;
/**
* Map of sensitive values returned from the API.
*/
encryptedValues?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
folder?: pulumi.Input<string>;
/**
* The name of the external dynamic list
*/
name?: pulumi.Input<string>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
snippet?: pulumi.Input<string>;
tfid?: pulumi.Input<string>;
/**
* Type
*/
type?: pulumi.Input<inputs.ExternalDynamicListType>;
}
/**
* The set of arguments for constructing a ExternalDynamicList resource.
*/
export interface ExternalDynamicListArgs {
/**
* The device in which the resource is defined
*/
device?: pulumi.Input<string>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
folder?: pulumi.Input<string>;
/**
* The name of the external dynamic list
*/
name?: pulumi.Input<string>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
snippet?: pulumi.Input<string>;
/**
* Type
*/
type?: pulumi.Input<inputs.ExternalDynamicListType>;
}