@pulumi/f5bigip
Version:
A Pulumi package for creating and managing F5 BigIP resources.
153 lines • 7.54 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.FastHttpApp = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = 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, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* 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 ? state.application : undefined;
resourceInputs["endpointLtmPolicies"] = state ? state.endpointLtmPolicies : undefined;
resourceInputs["existingMonitor"] = state ? state.existingMonitor : undefined;
resourceInputs["existingPool"] = state ? state.existingPool : undefined;
resourceInputs["existingSnatPool"] = state ? state.existingSnatPool : undefined;
resourceInputs["existingWafSecurityPolicy"] = state ? state.existingWafSecurityPolicy : undefined;
resourceInputs["fallbackPersistence"] = state ? state.fallbackPersistence : undefined;
resourceInputs["fastHttpJson"] = state ? state.fastHttpJson : undefined;
resourceInputs["loadBalancingMode"] = state ? state.loadBalancingMode : undefined;
resourceInputs["monitor"] = state ? state.monitor : undefined;
resourceInputs["persistenceProfile"] = state ? state.persistenceProfile : undefined;
resourceInputs["persistenceType"] = state ? state.persistenceType : undefined;
resourceInputs["poolMembers"] = state ? state.poolMembers : undefined;
resourceInputs["securityLogProfiles"] = state ? state.securityLogProfiles : undefined;
resourceInputs["serviceDiscoveries"] = state ? state.serviceDiscoveries : undefined;
resourceInputs["slowRampTime"] = state ? state.slowRampTime : undefined;
resourceInputs["snatPoolAddresses"] = state ? state.snatPoolAddresses : undefined;
resourceInputs["tenant"] = state ? state.tenant : undefined;
resourceInputs["virtualServer"] = state ? state.virtualServer : undefined;
resourceInputs["wafSecurityPolicy"] = state ? state.wafSecurityPolicy : undefined;
}
else {
const args = argsOrState;
if ((!args || args.application === undefined) && !opts.urn) {
throw new Error("Missing required property 'application'");
}
if ((!args || args.tenant === undefined) && !opts.urn) {
throw new Error("Missing required property 'tenant'");
}
resourceInputs["application"] = args ? args.application : undefined;
resourceInputs["endpointLtmPolicies"] = args ? args.endpointLtmPolicies : undefined;
resourceInputs["existingMonitor"] = args ? args.existingMonitor : undefined;
resourceInputs["existingPool"] = args ? args.existingPool : undefined;
resourceInputs["existingSnatPool"] = args ? args.existingSnatPool : undefined;
resourceInputs["existingWafSecurityPolicy"] = args ? args.existingWafSecurityPolicy : undefined;
resourceInputs["fallbackPersistence"] = args ? args.fallbackPersistence : undefined;
resourceInputs["loadBalancingMode"] = args ? args.loadBalancingMode : undefined;
resourceInputs["monitor"] = args ? args.monitor : undefined;
resourceInputs["persistenceProfile"] = args ? args.persistenceProfile : undefined;
resourceInputs["persistenceType"] = args ? args.persistenceType : undefined;
resourceInputs["poolMembers"] = args ? args.poolMembers : undefined;
resourceInputs["securityLogProfiles"] = args ? args.securityLogProfiles : undefined;
resourceInputs["serviceDiscoveries"] = args ? args.serviceDiscoveries : undefined;
resourceInputs["slowRampTime"] = args ? args.slowRampTime : undefined;
resourceInputs["snatPoolAddresses"] = args ? args.snatPoolAddresses : undefined;
resourceInputs["tenant"] = args ? args.tenant : undefined;
resourceInputs["virtualServer"] = args ? args.virtualServer : undefined;
resourceInputs["wafSecurityPolicy"] = args ? args.wafSecurityPolicy : undefined;
resourceInputs["fastHttpJson"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(FastHttpApp.__pulumiType, name, resourceInputs, opts);
}
}
exports.FastHttpApp = FastHttpApp;
/** @internal */
FastHttpApp.__pulumiType = 'f5bigip:index/fastHttpApp:FastHttpApp';
//# sourceMappingURL=fastHttpApp.js.map