
com.pulumi.f5bigip.As3 Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.f5bigip;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import com.pulumi.f5bigip.As3Args;
import com.pulumi.f5bigip.Utilities;
import com.pulumi.f5bigip.inputs.As3State;
import java.lang.Boolean;
import java.lang.String;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* ## 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
*
*/
@ResourceType(type="f5bigip:index/as3:As3")
public class As3 extends com.pulumi.resources.CustomResource {
/**
* List of applications currently deployed on the Big-Ip
*
*/
@Export(name="applicationList", refs={String.class}, tree="[0]")
private Output applicationList;
/**
* @return List of applications currently deployed on the Big-Ip
*
*/
public Output applicationList() {
return this.applicationList;
}
/**
* Path/Filename of Declarative AS3 JSON which is a json file used with builtin ```file``` function
*
*/
@Export(name="as3Json", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> as3Json;
/**
* @return Path/Filename of Declarative AS3 JSON which is a json file used with builtin ```file``` function
*
*/
public Output> as3Json() {
return Codegen.optional(this.as3Json);
}
/**
* Set True if you want to ignore metadata changes during update. By default it is set to false
*
* * `as3_example1.json` - Example AS3 Declarative JSON file with single tenant
* * `as3_example2.json` - Example AS3 Declarative JSON file with multiple tenants
*
* * `perApplication_example` - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
*
*/
@Export(name="ignoreMetadata", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> ignoreMetadata;
/**
* @return Set True if you want to ignore metadata changes during update. By default it is set to false
*
* * `as3_example1.json` - Example AS3 Declarative JSON file with single tenant
* * `as3_example2.json` - Example AS3 Declarative JSON file with multiple tenants
*
* * `perApplication_example` - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
*
*/
public Output> ignoreMetadata() {
return Codegen.optional(this.ignoreMetadata);
}
/**
* Will specify whether is deployment is done via Per-Application Way or Traditional Way
*
*/
@Export(name="perAppMode", refs={Boolean.class}, tree="[0]")
private Output perAppMode;
/**
* @return Will specify whether is deployment is done via Per-Application Way or Traditional Way
*
*/
public Output perAppMode() {
return this.perAppMode;
}
/**
* ID of AS3 post declaration async task
*
*/
@Export(name="taskId", refs={String.class}, tree="[0]")
private Output taskId;
/**
* @return ID of AS3 post declaration async task
*
*/
public Output taskId() {
return this.taskId;
}
/**
* If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
*
*/
@Export(name="tenantFilter", refs={String.class}, tree="[0]")
private Output tenantFilter;
/**
* @return If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
*
*/
public Output tenantFilter() {
return this.tenantFilter;
}
/**
* List of tenants currently deployed on the Big-Ip
*
*/
@Export(name="tenantList", refs={String.class}, tree="[0]")
private Output tenantList;
/**
* @return List of tenants currently deployed on the Big-Ip
*
*/
public Output tenantList() {
return this.tenantList;
}
/**
* Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
*
*/
@Export(name="tenantName", refs={String.class}, tree="[0]")
private Output tenantName;
/**
* @return Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
*
*/
public Output tenantName() {
return this.tenantName;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public As3(java.lang.String name) {
this(name, As3Args.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public As3(java.lang.String name, @Nullable As3Args args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public As3(java.lang.String name, @Nullable As3Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("f5bigip:index/as3:As3", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private As3(java.lang.String name, Output id, @Nullable As3State state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("f5bigip:index/as3:As3", name, state, makeResourceOptions(options, id), false);
}
private static As3Args makeArgs(@Nullable As3Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? As3Args.Empty : args;
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
/**
* Get an existing Host 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
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static As3 get(java.lang.String name, Output id, @Nullable As3State state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new As3(name, id, state, options);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy