Ingress Args
data class IngressArgs(val certId: Output<String>? = null, val defaultRule: Output<IngressDefaultRuleArgs>? = null, val description: Output<String>? = null, val listenerPort: Output<Int>? = null, val namespaceId: Output<String>? = null, val rules: Output<List<IngressRuleArgs>>? = null, val slbId: Output<String>? = null) : ConvertibleToJava<IngressArgs>
Provides a Serverless App Engine (SAE) Ingress resource. For information about Serverless App Engine (SAE) Ingress and how to use it, see What is Ingress.
NOTE: Available in v1.137.0+.
Example Usage
Basic Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.slb.LoadBalancer;
import com.pulumi.alicloud.slb.LoadBalancerArgs;
import com.pulumi.alicloud.sae.Namespace;
import com.pulumi.alicloud.sae.NamespaceArgs;
import com.pulumi.alicloud.sae.Application;
import com.pulumi.alicloud.sae.ApplicationArgs;
import com.pulumi.alicloud.sae.Ingress;
import com.pulumi.alicloud.sae.IngressArgs;
import com.pulumi.alicloud.sae.inputs.IngressRuleArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
final var name = config.get("name").orElse("example_value");
final var defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.cidrBlock("172.16.0.0/12")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vpcId(defaultNetwork.id())
.cidrBlock("172.16.0.0/21")
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.vswitchName(name)
.build());
var defaultLoadBalancer = new LoadBalancer("defaultLoadBalancer", LoadBalancerArgs.builder()
.specification("slb.s2.small")
.vswitchId(data.alicloud_vswitches().default().ids()[0])
.build());
final var namespaceId = config.get("namespaceId").orElse("cn-hangzhou:yourname");
var defaultNamespace = new Namespace("defaultNamespace", NamespaceArgs.builder()
.namespaceId(namespaceId)
.namespaceName(name)
.namespaceDescription(name)
.build());
var defaultApplication = new Application("defaultApplication", ApplicationArgs.builder()
.appDescription("your_app_description")
.appName("your_app_name")
.namespaceId("your_namespace_id")
.packageUrl("your_package_url")
.packageType("your_package_url")
.jdk("jdk_specifications")
.vswitchId(data.alicloud_vswitches().default().ids()[0])
.replicas("your_replicas")
.cpu("cpu_specifications")
.memory("memory_specifications")
.build());
var defaultIngress = new Ingress("defaultIngress", IngressArgs.builder()
.slbId(defaultLoadBalancer.id())
.namespaceId(defaultNamespace.id())
.listenerPort("your_listener_port")
.rules(IngressRuleArgs.builder()
.appId(defaultApplication.id())
.containerPort("your_container_port")
.domain("your_domain")
.appName("your_name")
.path("your_path")
.build())
.build());
}
}
Content copied to clipboard
Import
Serverless App Engine (SAE) Ingress can be imported using the id, e.g.
$ pulumi import alicloud:sae/ingress:Ingress example <id>
Content copied to clipboard
Constructors
Link copied to clipboard
fun IngressArgs(certId: Output<String>? = null, defaultRule: Output<IngressDefaultRuleArgs>? = null, description: Output<String>? = null, listenerPort: Output<Int>? = null, namespaceId: Output<String>? = null, rules: Output<List<IngressRuleArgs>>? = null, slbId: Output<String>? = null)