@pulumi/f5bigip
Version:
A Pulumi package for creating and managing F5 BigIP resources.
176 lines • 7.82 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! ***
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FastHttpApp = void 0;
const pulumi = __importStar(require("@pulumi/pulumi"));
const utilities = __importStar(require("./utilities"));
/**
* `f5bigip.FastHttpApp` This resource will create and manage FAST HTTP applications on BIG-IP
*
* [FAST documentation](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/)
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as f5bigip from "@pulumi/f5bigip";
*
* const fastHttpApp = new f5bigip.FastHttpApp("fast_http_app", {
* tenant: "fasthttptenant",
* application: "fasthttpapp",
* virtualServer: {
* ip: "10.30.30.44",
* port: 443,
* },
* });
* ```
*
* ### With Service Discovery
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as f5bigip from "@pulumi/f5bigip";
*
* const TC3 = f5bigip.fast.getAzureServiceDiscovery({
* resourceGroup: "testazurerg",
* subscriptionId: "testazuresid",
* tagKey: "testazuretag",
* tagValue: "testazurevalue",
* });
* const TC3GetGceServiceDiscovery = f5bigip.fast.getGceServiceDiscovery({
* tagKey: "testgcetag",
* tagValue: "testgcevalue",
* region: "testgceregion",
* });
* const fastHttpsApp = new f5bigip.FastHttpApp("fast_https_app", {
* tenant: "fasthttptenant",
* application: "fasthttpapp",
* virtualServer: {
* ip: "10.30.40.44",
* port: 443,
* },
* poolMembers: [{
* addresses: [
* "10.11.40.120",
* "10.11.30.121",
* "10.11.30.122",
* ],
* port: 80,
* }],
* serviceDiscoveries: [
* TC3GetGceServiceDiscovery.then(TC3GetGceServiceDiscovery => TC3GetGceServiceDiscovery.gceSdJson),
* TC3.then(TC3 => TC3.azureSdJson),
* ],
* });
* ```
*/
class FastHttpApp extends pulumi.CustomResource {
/**
* Get an existing FastHttpApp 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 FastHttpApp(name, state, { ...opts, id: id });
}
/** @internal */
static __pulumiType = 'f5bigip:index/fastHttpApp:FastHttpApp';
/**
* Returns true if the given object is an instance of FastHttpApp. 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'] === FastHttpApp.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["application"] = state?.application;
resourceInputs["endpointLtmPolicies"] = state?.endpointLtmPolicies;
resourceInputs["existingMonitor"] = state?.existingMonitor;
resourceInputs["existingPool"] = state?.existingPool;
resourceInputs["existingSnatPool"] = state?.existingSnatPool;
resourceInputs["existingWafSecurityPolicy"] = state?.existingWafSecurityPolicy;
resourceInputs["fallbackPersistence"] = state?.fallbackPersistence;
resourceInputs["fastHttpJson"] = state?.fastHttpJson;
resourceInputs["loadBalancingMode"] = state?.loadBalancingMode;
resourceInputs["monitor"] = state?.monitor;
resourceInputs["persistenceProfile"] = state?.persistenceProfile;
resourceInputs["persistenceType"] = state?.persistenceType;
resourceInputs["poolMembers"] = state?.poolMembers;
resourceInputs["securityLogProfiles"] = state?.securityLogProfiles;
resourceInputs["serviceDiscoveries"] = state?.serviceDiscoveries;
resourceInputs["slowRampTime"] = state?.slowRampTime;
resourceInputs["snatPoolAddresses"] = state?.snatPoolAddresses;
resourceInputs["tenant"] = state?.tenant;
resourceInputs["virtualServer"] = state?.virtualServer;
resourceInputs["wafSecurityPolicy"] = state?.wafSecurityPolicy;
}
else {
const args = argsOrState;
if (args?.application === undefined && !opts.urn) {
throw new Error("Missing required property 'application'");
}
if (args?.tenant === undefined && !opts.urn) {
throw new Error("Missing required property 'tenant'");
}
resourceInputs["application"] = args?.application;
resourceInputs["endpointLtmPolicies"] = args?.endpointLtmPolicies;
resourceInputs["existingMonitor"] = args?.existingMonitor;
resourceInputs["existingPool"] = args?.existingPool;
resourceInputs["existingSnatPool"] = args?.existingSnatPool;
resourceInputs["existingWafSecurityPolicy"] = args?.existingWafSecurityPolicy;
resourceInputs["fallbackPersistence"] = args?.fallbackPersistence;
resourceInputs["loadBalancingMode"] = args?.loadBalancingMode;
resourceInputs["monitor"] = args?.monitor;
resourceInputs["persistenceProfile"] = args?.persistenceProfile;
resourceInputs["persistenceType"] = args?.persistenceType;
resourceInputs["poolMembers"] = args?.poolMembers;
resourceInputs["securityLogProfiles"] = args?.securityLogProfiles;
resourceInputs["serviceDiscoveries"] = args?.serviceDiscoveries;
resourceInputs["slowRampTime"] = args?.slowRampTime;
resourceInputs["snatPoolAddresses"] = args?.snatPoolAddresses;
resourceInputs["tenant"] = args?.tenant;
resourceInputs["virtualServer"] = args?.virtualServer;
resourceInputs["wafSecurityPolicy"] = args?.wafSecurityPolicy;
resourceInputs["fastHttpJson"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(FastHttpApp.__pulumiType, name, resourceInputs, opts);
}
}
exports.FastHttpApp = FastHttpApp;
//# sourceMappingURL=fastHttpApp.js.map