UNPKG

@ediri/vultr

Version:

A Pulumi package for creating and managing Vultr cloud resources.

109 lines 4.83 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.FirewallRule = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * Provides a Vultr Firewall Rule resource. This can be used to create, read, modify, and delete Firewall rules. * * ## Example Usage * * Create a Firewall Rule * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myFirewallgroup = new vultr.FirewallGroup("myFirewallgroup", {description: "base firewall"}); * const myFirewallrule = new vultr.FirewallRule("myFirewallrule", { * firewallGroupId: myFirewallgroup.id, * protocol: "tcp", * ipType: "v4", * subnet: "0.0.0.0", * subnetSize: 0, * port: "8090", * notes: "my firewall rule", * }); * ``` * * ## Import * * Firewall Rules can be imported using the Firewall Group `ID` and Firewall Rule `ID`, e.g. * * ```sh * $ pulumi import vultr:index/firewallRule:FirewallRule my_rule b6a859c5-b299-49dd-8888-b1abbc517d08,1 * ``` */ class FirewallRule extends pulumi.CustomResource { /** * Get an existing FirewallRule 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, id, state, opts) { return new FirewallRule(name, state, Object.assign(Object.assign({}, opts), { id: id })); } /** * Returns true if the given object is an instance of FirewallRule. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === FirewallRule.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["firewallGroupId"] = state ? state.firewallGroupId : undefined; resourceInputs["ipType"] = state ? state.ipType : undefined; resourceInputs["notes"] = state ? state.notes : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["protocol"] = state ? state.protocol : undefined; resourceInputs["source"] = state ? state.source : undefined; resourceInputs["subnet"] = state ? state.subnet : undefined; resourceInputs["subnetSize"] = state ? state.subnetSize : undefined; } else { const args = argsOrState; if ((!args || args.firewallGroupId === undefined) && !opts.urn) { throw new Error("Missing required property 'firewallGroupId'"); } if ((!args || args.ipType === undefined) && !opts.urn) { throw new Error("Missing required property 'ipType'"); } if ((!args || args.protocol === undefined) && !opts.urn) { throw new Error("Missing required property 'protocol'"); } if ((!args || args.subnet === undefined) && !opts.urn) { throw new Error("Missing required property 'subnet'"); } if ((!args || args.subnetSize === undefined) && !opts.urn) { throw new Error("Missing required property 'subnetSize'"); } resourceInputs["firewallGroupId"] = args ? args.firewallGroupId : undefined; resourceInputs["ipType"] = args ? args.ipType : undefined; resourceInputs["notes"] = args ? args.notes : undefined; resourceInputs["port"] = args ? args.port : undefined; resourceInputs["protocol"] = args ? args.protocol : undefined; resourceInputs["source"] = args ? args.source : undefined; resourceInputs["subnet"] = args ? args.subnet : undefined; resourceInputs["subnetSize"] = args ? args.subnetSize : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(FirewallRule.__pulumiType, name, resourceInputs, opts); } } exports.FirewallRule = FirewallRule; /** @internal */ FirewallRule.__pulumiType = 'vultr:index/firewallRule:FirewallRule'; //# sourceMappingURL=firewallRule.js.map