@pulumi/f5bigip
Version:
A Pulumi package for creating and managing F5 BigIP resources.
428 lines • 11.9 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.As3 = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* ## Import
*
* As3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments )
*
* ```sh
* $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01
* ```
*
* ```sh
* $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01
* ```
*
* #### Import examples ( single and multiple partitions )
*
* ```sh
* $ pulumi import f5bigip:index/as3:As3 test Sample_http_01
* ```
*
* bigip_as3.test: Importing from ID "Sample_http_01"...
*
* bigip_as3.test: Import prepared!
*
* Prepared bigip_as3 for import
*
* bigip_as3.test: Refreshing state... [id=Sample_http_01]
*
* Import successful!
*
* The resources that were imported are shown above. These resources are now in
*
* your Terraform state and will henceforth be managed by Terraform.
*
* $ terraform show
*
* bigip_as3.test:
*
* resource "bigip_as3" "test" {
*
* as3_json = jsonencode(
*
* {
*
* action = "deploy"
*
* class = "AS3"
*
* declaration = {
*
* Sample_http_01 = {
*
* A1 = {
*
* class = "Application"
*
* jsessionid = {
*
* class = "Persist"
*
* cookieMethod = "hash"
*
* cookieName = "JSESSIONID"
*
* persistenceMethod = "cookie"
*
* }
*
* service = {
*
* class = "Service_HTTP"
*
* persistenceMethods = [
*
* {
*
* use = "jsessionid"
*
* },
*
* ]
*
* pool = "web_pool"
*
* virtualAddresses = [
*
* "10.0.2.10",
*
* ]
*
* }
*
* web_pool = {
*
* class = "Pool"
*
* members = [
*
* {
*
* serverAddresses = [
*
* "192.0.2.10",
*
* "192.0.2.11",
*
* ]
*
* servicePort = 80
*
* },
*
* ]
*
* monitors = [
*
* "http",
*
* ]
*
* }
*
* }
*
* class = "Tenant"
*
* }
*
* class = "ADC"
*
* id = "UDP_DNS_Sample"
*
* label = "UDP_DNS_Sample"
*
* remark = "Sample of a UDP DNS Load Balancer Service"
*
* schemaVersion = "3.0.0"
*
* }
*
* persist = true
*
* }
*
* )
*
* id = "Sample_http_01"
*
* tenant_filter = "Sample_http_01"
*
* tenant_list = "Sample_http_01"
*
* }
*
* ```sh
* $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01
* ```
*
* bigip_as3.test: Importing from ID "Sample_http_01,Sample_non_http_01"...
*
* bigip_as3.test: Import prepared!
*
* Prepared bigip_as3 for import
*
* bigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01]
*
* Import successful!
*
* The resources that were imported are shown above. These resources are now in
*
* your Terraform state and will henceforth be managed by Terraform.
*
* $ terraform show
*
* bigip_as3.test:
*
* resource "bigip_as3" "test" {
*
* as3_json = jsonencode(
*
* {
*
* action = "deploy"
*
* class = "AS3"
*
* declaration = {
*
* Sample_http_01 = {
*
* A1 = {
*
* class = "Application"
*
* jsessionid = {
*
* class = "Persist"
*
* cookieMethod = "hash"
*
* cookieName = "JSESSIONID"
*
* persistenceMethod = "cookie"
*
* }
*
* service = {
*
* class = "Service_HTTP"
*
* persistenceMethods = [
*
* {
*
* use = "jsessionid"
*
* },
*
* ]
*
* pool = "web_pool"
*
* virtualAddresses = [
*
* "10.0.2.10",
*
* ]
*
* }
*
* web_pool = {
*
* class = "Pool"
*
* members = [
*
* {
*
* serverAddresses = [
*
* "192.0.2.10",
*
* "192.0.2.11",
*
* ]
*
* servicePort = 80
*
* },
*
* ]
*
* monitors = [
*
* "http",
*
* ]
*
* }
*
* }
*
* class = "Tenant"
*
* }
*
* Sample_non_http_01 = {
*
* DNS_Service = {
*
* Pool1 = {
*
* class = "Pool"
*
* members = [
*
* {
*
* serverAddresses = [
*
* "10.1.10.100",
*
* ]
*
* servicePort = 53
*
* },
*
* {
*
* serverAddresses = [
*
* "10.1.10.101",
*
* ]
*
* servicePort = 53
*
* },
*
* ]
*
* monitors = [
*
* "icmp",
*
* ]
*
* }
*
* class = "Application"
*
* service = {
*
* class = "Service_UDP"
*
* pool = "Pool1"
*
* virtualAddresses = [
*
* "10.1.20.121",
*
* ]
*
* virtualPort = 53
*
* }
*
* }
*
* class = "Tenant"
*
* }
*
* class = "ADC"
*
* id = "UDP_DNS_Sample"
*
* label = "UDP_DNS_Sample"
*
* remark = "Sample of a UDP DNS Load Balancer Service"
*
* schemaVersion = "3.0.0"
*
* }
*
* persist = true
*
* }
*
* )
*
* id = "Sample_http_01,Sample_non_http_01"
*
* tenant_filter = "Sample_http_01,Sample_non_http_01"
*
* tenant_list = "Sample_http_01,Sample_non_http_01"
*
* }
*
* * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html
*/
class As3 extends pulumi.CustomResource {
/**
* Get an existing As3 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 As3(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* Returns true if the given object is an instance of As3. 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'] === As3.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["applicationList"] = state ? state.applicationList : undefined;
resourceInputs["as3Json"] = state ? state.as3Json : undefined;
resourceInputs["controls"] = state ? state.controls : undefined;
resourceInputs["deleteApps"] = state ? state.deleteApps : undefined;
resourceInputs["ignoreMetadata"] = state ? state.ignoreMetadata : undefined;
resourceInputs["perAppMode"] = state ? state.perAppMode : undefined;
resourceInputs["taskId"] = state ? state.taskId : undefined;
resourceInputs["tenantFilter"] = state ? state.tenantFilter : undefined;
resourceInputs["tenantList"] = state ? state.tenantList : undefined;
resourceInputs["tenantName"] = state ? state.tenantName : undefined;
}
else {
const args = argsOrState;
resourceInputs["applicationList"] = args ? args.applicationList : undefined;
resourceInputs["as3Json"] = args ? args.as3Json : undefined;
resourceInputs["controls"] = args ? args.controls : undefined;
resourceInputs["deleteApps"] = args ? args.deleteApps : undefined;
resourceInputs["ignoreMetadata"] = args ? args.ignoreMetadata : undefined;
resourceInputs["taskId"] = args ? args.taskId : undefined;
resourceInputs["tenantFilter"] = args ? args.tenantFilter : undefined;
resourceInputs["tenantList"] = args ? args.tenantList : undefined;
resourceInputs["tenantName"] = args ? args.tenantName : undefined;
resourceInputs["perAppMode"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(As3.__pulumiType, name, resourceInputs, opts);
}
}
exports.As3 = As3;
/** @internal */
As3.__pulumiType = 'f5bigip:index/as3:As3';
//# sourceMappingURL=as3.js.map