@pulumi/scm
Version:
A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1
191 lines • 8.49 kB
JavaScript
;
// *** 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.Application = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* Application resource
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scm from "@pulumi/scm";
*
* // Custom Application
* const scmMediaApp = new scm.Application("scm_media_app", {
* folder: "All",
* name: "scm_media_app",
* description: "Managed by Pulumi",
* category: "media",
* subcategory: "gaming",
* technology: "client-server",
* risk: "4",
* evasiveBehavior: true,
* pervasiveUse: true,
* consumeBigBandwidth: true,
* hasKnownVulnerability: true,
* proneToMisuse: true,
* });
* // Custom Application with tweaked timeouts and additional settings
* const scmRiskyApp = new scm.Application("scm_risky_app", {
* folder: "All",
* name: "scm_risky_app",
* description: "Managed by Pulumi",
* category: "media",
* subcategory: "gaming",
* technology: "client-server",
* risk: "4",
* timeout: 3600,
* tcpTimeout: 3600,
* tcpHalfClosedTimeout: 60,
* tcpTimeWaitTimeout: 10,
* evasiveBehavior: true,
* pervasiveUse: true,
* consumeBigBandwidth: true,
* hasKnownVulnerability: true,
* proneToMisuse: true,
* tunnelOtherApplication: true,
* tunnelApplications: true,
* noAppidCaching: true,
* parentApp: "bittorrent",
* });
* // Custom Application based on Custom Signature
* const scmCustomApp = new scm.Application("scm_custom_app", {
* folder: "All",
* name: "scm_custom_app",
* description: "Managed by Pulumi",
* category: "media",
* subcategory: "gaming",
* technology: "client-server",
* risk: "4",
* signatures: [{
* name: "Custom Signature",
* comment: "Managed by Pulumi",
* scope: "session",
* orderFree: false,
* andCondition: [{
* name: "Example Condition",
* operator: {
* patternMatch: {
* context: "file-data",
* pattern: "^malware$",
* },
* },
* }],
* }],
* });
* ```
*/
class Application extends pulumi.CustomResource {
/**
* Get an existing Application 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 Application(name, state, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of Application. 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'] === Application.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["ableToTransferFile"] = state?.ableToTransferFile;
resourceInputs["algDisableCapability"] = state?.algDisableCapability;
resourceInputs["category"] = state?.category;
resourceInputs["consumeBigBandwidth"] = state?.consumeBigBandwidth;
resourceInputs["dataIdent"] = state?.dataIdent;
resourceInputs["default"] = state?.default;
resourceInputs["description"] = state?.description;
resourceInputs["device"] = state?.device;
resourceInputs["evasiveBehavior"] = state?.evasiveBehavior;
resourceInputs["fileTypeIdent"] = state?.fileTypeIdent;
resourceInputs["folder"] = state?.folder;
resourceInputs["hasKnownVulnerability"] = state?.hasKnownVulnerability;
resourceInputs["name"] = state?.name;
resourceInputs["noAppidCaching"] = state?.noAppidCaching;
resourceInputs["parentApp"] = state?.parentApp;
resourceInputs["pervasiveUse"] = state?.pervasiveUse;
resourceInputs["proneToMisuse"] = state?.proneToMisuse;
resourceInputs["risk"] = state?.risk;
resourceInputs["signatures"] = state?.signatures;
resourceInputs["snippet"] = state?.snippet;
resourceInputs["subcategory"] = state?.subcategory;
resourceInputs["tcpHalfClosedTimeout"] = state?.tcpHalfClosedTimeout;
resourceInputs["tcpTimeWaitTimeout"] = state?.tcpTimeWaitTimeout;
resourceInputs["tcpTimeout"] = state?.tcpTimeout;
resourceInputs["technology"] = state?.technology;
resourceInputs["tfid"] = state?.tfid;
resourceInputs["timeout"] = state?.timeout;
resourceInputs["tunnelApplications"] = state?.tunnelApplications;
resourceInputs["tunnelOtherApplication"] = state?.tunnelOtherApplication;
resourceInputs["udpTimeout"] = state?.udpTimeout;
resourceInputs["usedByMalware"] = state?.usedByMalware;
resourceInputs["virusIdent"] = state?.virusIdent;
}
else {
const args = argsOrState;
if (args?.category === undefined && !opts.urn) {
throw new Error("Missing required property 'category'");
}
if (args?.risk === undefined && !opts.urn) {
throw new Error("Missing required property 'risk'");
}
resourceInputs["ableToTransferFile"] = args?.ableToTransferFile;
resourceInputs["algDisableCapability"] = args?.algDisableCapability;
resourceInputs["category"] = args?.category;
resourceInputs["consumeBigBandwidth"] = args?.consumeBigBandwidth;
resourceInputs["dataIdent"] = args?.dataIdent;
resourceInputs["default"] = args?.default;
resourceInputs["description"] = args?.description;
resourceInputs["device"] = args?.device;
resourceInputs["evasiveBehavior"] = args?.evasiveBehavior;
resourceInputs["fileTypeIdent"] = args?.fileTypeIdent;
resourceInputs["folder"] = args?.folder;
resourceInputs["hasKnownVulnerability"] = args?.hasKnownVulnerability;
resourceInputs["name"] = args?.name;
resourceInputs["noAppidCaching"] = args?.noAppidCaching;
resourceInputs["parentApp"] = args?.parentApp;
resourceInputs["pervasiveUse"] = args?.pervasiveUse;
resourceInputs["proneToMisuse"] = args?.proneToMisuse;
resourceInputs["risk"] = args?.risk;
resourceInputs["signatures"] = args?.signatures;
resourceInputs["snippet"] = args?.snippet;
resourceInputs["subcategory"] = args?.subcategory;
resourceInputs["tcpHalfClosedTimeout"] = args?.tcpHalfClosedTimeout;
resourceInputs["tcpTimeWaitTimeout"] = args?.tcpTimeWaitTimeout;
resourceInputs["tcpTimeout"] = args?.tcpTimeout;
resourceInputs["technology"] = args?.technology;
resourceInputs["timeout"] = args?.timeout;
resourceInputs["tunnelApplications"] = args?.tunnelApplications;
resourceInputs["tunnelOtherApplication"] = args?.tunnelOtherApplication;
resourceInputs["udpTimeout"] = args?.udpTimeout;
resourceInputs["usedByMalware"] = args?.usedByMalware;
resourceInputs["virusIdent"] = args?.virusIdent;
resourceInputs["tfid"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(Application.__pulumiType, name, resourceInputs, opts);
}
}
exports.Application = Application;
/** @internal */
Application.__pulumiType = 'scm:index/application:Application';
//# sourceMappingURL=application.js.map