ListenerArgs

data class ListenerArgs(val acceleratorId: Output<String>? = null, val certificates: Output<List<ListenerCertificateArgs>>? = null, val clientAffinity: Output<String>? = null, val description: Output<String>? = null, val forwardedForConfig: Output<ListenerForwardedForConfigArgs>? = null, val httpVersion: Output<String>? = null, val idleTimeout: Output<Int>? = null, val listenerType: Output<String>? = null, val name: Output<String>? = null, val portRanges: Output<List<ListenerPortRangeArgs>>? = null, val protocol: Output<String>? = null, val proxyProtocol: Output<Boolean>? = null, val requestTimeout: Output<Int>? = null, val securityPolicyId: Output<String>? = null) : ConvertibleToJava<ListenerArgs>

Provides a Global Accelerator (GA) Listener resource. For information about Global Accelerator (GA) Listener and how to use it, see What is Listener.

NOTE: Available since v1.111.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = new alicloud.ga.Accelerator("default", {
duration: 1,
autoUseCoupon: true,
spec: "1",
});
const defaultBandwidthPackage = new alicloud.ga.BandwidthPackage("default", {
bandwidth: 100,
type: "Basic",
bandwidthType: "Basic",
paymentType: "PayAsYouGo",
billingType: "PayBy95",
ratio: 30,
});
const defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment("default", {
acceleratorId: _default.id,
bandwidthPackageId: defaultBandwidthPackage.id,
});
const defaultListener = new alicloud.ga.Listener("default", {
acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,
portRanges: [{
fromPort: 80,
toPort: 80,
}],
});
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.ga.Accelerator("default",
duration=1,
auto_use_coupon=True,
spec="1")
default_bandwidth_package = alicloud.ga.BandwidthPackage("default",
bandwidth=100,
type="Basic",
bandwidth_type="Basic",
payment_type="PayAsYouGo",
billing_type="PayBy95",
ratio=30)
default_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment("default",
accelerator_id=default.id,
bandwidth_package_id=default_bandwidth_package.id)
default_listener = alicloud.ga.Listener("default",
accelerator_id=default_bandwidth_package_attachment.accelerator_id,
port_ranges=[{
"from_port": 80,
"to_port": 80,
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = new AliCloud.Ga.Accelerator("default", new()
{
Duration = 1,
AutoUseCoupon = true,
Spec = "1",
});
var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage("default", new()
{
Bandwidth = 100,
Type = "Basic",
BandwidthType = "Basic",
PaymentType = "PayAsYouGo",
BillingType = "PayBy95",
Ratio = 30,
});
var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment("default", new()
{
AcceleratorId = @default.Id,
BandwidthPackageId = defaultBandwidthPackage.Id,
});
var defaultListener = new AliCloud.Ga.Listener("default", new()
{
AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,
PortRanges = new[]
{
new AliCloud.Ga.Inputs.ListenerPortRangeArgs
{
FromPort = 80,
ToPort = 80,
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := ga.NewAccelerator(ctx, "default", &ga.AcceleratorArgs{
Duration: pulumi.Int(1),
AutoUseCoupon: pulumi.Bool(true),
Spec: pulumi.String("1"),
})
if err != nil {
return err
}
defaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, "default", &ga.BandwidthPackageArgs{
Bandwidth: pulumi.Int(100),
Type: pulumi.String("Basic"),
BandwidthType: pulumi.String("Basic"),
PaymentType: pulumi.String("PayAsYouGo"),
BillingType: pulumi.String("PayBy95"),
Ratio: pulumi.Int(30),
})
if err != nil {
return err
}
defaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, "default", &ga.BandwidthPackageAttachmentArgs{
AcceleratorId: _default.ID(),
BandwidthPackageId: defaultBandwidthPackage.ID(),
})
if err != nil {
return err
}
_, err = ga.NewListener(ctx, "default", &ga.ListenerArgs{
AcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,
PortRanges: ga.ListenerPortRangeArray{
&ga.ListenerPortRangeArgs{
FromPort: pulumi.Int(80),
ToPort: pulumi.Int(80),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.ga.Accelerator;
import com.pulumi.alicloud.ga.AcceleratorArgs;
import com.pulumi.alicloud.ga.BandwidthPackage;
import com.pulumi.alicloud.ga.BandwidthPackageArgs;
import com.pulumi.alicloud.ga.BandwidthPackageAttachment;
import com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;
import com.pulumi.alicloud.ga.Listener;
import com.pulumi.alicloud.ga.ListenerArgs;
import com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;
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) {
var default_ = new Accelerator("default", AcceleratorArgs.builder()
.duration(1)
.autoUseCoupon(true)
.spec("1")
.build());
var defaultBandwidthPackage = new BandwidthPackage("defaultBandwidthPackage", BandwidthPackageArgs.builder()
.bandwidth(100)
.type("Basic")
.bandwidthType("Basic")
.paymentType("PayAsYouGo")
.billingType("PayBy95")
.ratio(30)
.build());
var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment("defaultBandwidthPackageAttachment", BandwidthPackageAttachmentArgs.builder()
.acceleratorId(default_.id())
.bandwidthPackageId(defaultBandwidthPackage.id())
.build());
var defaultListener = new Listener("defaultListener", ListenerArgs.builder()
.acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())
.portRanges(ListenerPortRangeArgs.builder()
.fromPort(80)
.toPort(80)
.build())
.build());
}
}
resources:
default:
type: alicloud:ga:Accelerator
properties:
duration: 1
autoUseCoupon: true
spec: '1'
defaultBandwidthPackage:
type: alicloud:ga:BandwidthPackage
name: default
properties:
bandwidth: 100
type: Basic
bandwidthType: Basic
paymentType: PayAsYouGo
billingType: PayBy95
ratio: 30
defaultBandwidthPackageAttachment:
type: alicloud:ga:BandwidthPackageAttachment
name: default
properties:
acceleratorId: ${default.id}
bandwidthPackageId: ${defaultBandwidthPackage.id}
defaultListener:
type: alicloud:ga:Listener
name: default
properties:
acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}
portRanges:
- fromPort: 80
toPort: 80

Import

Ga Listener can be imported using the id, e.g.

$ pulumi import alicloud:ga/listener:Listener example <id>

Constructors

Link copied to clipboard
constructor(acceleratorId: Output<String>? = null, certificates: Output<List<ListenerCertificateArgs>>? = null, clientAffinity: Output<String>? = null, description: Output<String>? = null, forwardedForConfig: Output<ListenerForwardedForConfigArgs>? = null, httpVersion: Output<String>? = null, idleTimeout: Output<Int>? = null, listenerType: Output<String>? = null, name: Output<String>? = null, portRanges: Output<List<ListenerPortRangeArgs>>? = null, protocol: Output<String>? = null, proxyProtocol: Output<Boolean>? = null, requestTimeout: Output<Int>? = null, securityPolicyId: Output<String>? = null)

Properties

Link copied to clipboard
val acceleratorId: Output<String>? = null

The accelerator id.

Link copied to clipboard

The certificates of the listener. See certificates below.

Link copied to clipboard
val clientAffinity: Output<String>? = null

The clientAffinity of the listener. Default value: NONE. Valid values:

Link copied to clipboard
val description: Output<String>? = null

The description of the listener.

Link copied to clipboard

The XForward headers. See forwarded_for_config below.

Link copied to clipboard
val httpVersion: Output<String>? = null

The maximum version of the HTTP protocol. Default Value: http2. Valid values: http1.1, http2, http3.

Link copied to clipboard
val idleTimeout: Output<Int>? = null

The timeout period of idle connections. Unit: seconds. Valid values:

Link copied to clipboard
val listenerType: Output<String>? = null

The routing type of the listener. Default Value: Standard. Valid values:

Link copied to clipboard
val name: Output<String>? = null

The name of the listener. The length of the name is 2-128 characters. It starts with uppercase and lowercase letters or Chinese characters. It can contain numbers and underscores and dashes.

Link copied to clipboard
val portRanges: Output<List<ListenerPortRangeArgs>>? = null

The portRanges of the listener. See port_ranges below.

Link copied to clipboard
val protocol: Output<String>? = null

Type of network transport protocol monitored. Default value: TCP. Valid values: TCP, UDP, HTTP, HTTPS.

Link copied to clipboard
val proxyProtocol: Output<Boolean>? = null

The proxy protocol of the listener. Default value: false. Valid values:

Link copied to clipboard
val requestTimeout: Output<Int>? = null

The timeout period for HTTP or HTTPS requests. Unit: seconds. Default Value: 60. Valid values: 1 to 180.

Link copied to clipboard
val securityPolicyId: Output<String>? = null

The ID of the security policy. NOTE: Only HTTPS listeners support this parameter. Valid values:

Functions

Link copied to clipboard
open override fun toJava(): ListenerArgs