getEndpointGroups

This data source provides the Global Accelerator (GA) Endpoint Groups of the current Alibaba Cloud user.

NOTE: Available since v1.113.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const region = config.get("region") || "cn-hangzhou";
const name = config.get("name") || "tf-example";
const _default = alicloud.ga.getAccelerators({
status: "active",
});
const defaultBandwidthPackage = new alicloud.ga.BandwidthPackage("default", {
bandwidth: 100,
type: "Basic",
bandwidthType: "Basic",
paymentType: "PayAsYouGo",
billingType: "PayBy95",
ratio: 30,
bandwidthPackageName: name,
autoPay: true,
autoUseCoupon: true,
});
const defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment("default", {
acceleratorId: _default.then(_default => _default.ids?.[0]),
bandwidthPackageId: defaultBandwidthPackage.id,
});
const defaultListener = new alicloud.ga.Listener("default", {
acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,
clientAffinity: "SOURCE_IP",
protocol: "UDP",
name: name,
portRanges: [{
fromPort: 60,
toPort: 70,
}],
});
const defaultEipAddress = new alicloud.ecs.EipAddress("default", {
bandwidth: "10",
internetChargeType: "PayByBandwidth",
addressName: name,
});
const defaultEndpointGroup = new alicloud.ga.EndpointGroup("default", {
acceleratorId: defaultListener.acceleratorId,
listenerId: defaultListener.id,
description: name,
name: name,
thresholdCount: 4,
trafficPercentage: 20,
endpointGroupRegion: "cn-hangzhou",
healthCheckIntervalSeconds: 3,
healthCheckPath: "/healthcheck",
healthCheckPort: 9999,
healthCheckProtocol: "http",
portOverrides: {
endpointPort: 10,
listenerPort: 60,
},
endpointConfigurations: [{
endpoint: defaultEipAddress.ipAddress,
type: "PublicIp",
weight: 20,
}],
});
const defaultGetEndpointGroups = alicloud.ga.getEndpointGroupsOutput({
acceleratorId: defaultEndpointGroup.acceleratorId,
ids: [defaultEndpointGroup.id],
});
export const firstGaEndpointGroupId = defaultGetEndpointGroups.apply(defaultGetEndpointGroups => defaultGetEndpointGroups.groups?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
region = config.get("region")
if region is None:
region = "cn-hangzhou"
name = config.get("name")
if name is None:
name = "tf-example"
default = alicloud.ga.get_accelerators(status="active")
default_bandwidth_package = alicloud.ga.BandwidthPackage("default",
bandwidth=100,
type="Basic",
bandwidth_type="Basic",
payment_type="PayAsYouGo",
billing_type="PayBy95",
ratio=30,
bandwidth_package_name=name,
auto_pay=True,
auto_use_coupon=True)
default_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment("default",
accelerator_id=default.ids[0],
bandwidth_package_id=default_bandwidth_package.id)
default_listener = alicloud.ga.Listener("default",
accelerator_id=default_bandwidth_package_attachment.accelerator_id,
client_affinity="SOURCE_IP",
protocol="UDP",
name=name,
port_ranges=[{
"from_port": 60,
"to_port": 70,
}])
default_eip_address = alicloud.ecs.EipAddress("default",
bandwidth="10",
internet_charge_type="PayByBandwidth",
address_name=name)
default_endpoint_group = alicloud.ga.EndpointGroup("default",
accelerator_id=default_listener.accelerator_id,
listener_id=default_listener.id,
description=name,
name=name,
threshold_count=4,
traffic_percentage=20,
endpoint_group_region="cn-hangzhou",
health_check_interval_seconds=3,
health_check_path="/healthcheck",
health_check_port=9999,
health_check_protocol="http",
port_overrides={
"endpoint_port": 10,
"listener_port": 60,
},
endpoint_configurations=[{
"endpoint": default_eip_address.ip_address,
"type": "PublicIp",
"weight": 20,
}])
default_get_endpoint_groups = alicloud.ga.get_endpoint_groups_output(accelerator_id=default_endpoint_group.accelerator_id,
ids=[default_endpoint_group.id])
pulumi.export("firstGaEndpointGroupId", default_get_endpoint_groups.groups[0].id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var region = config.Get("region") ?? "cn-hangzhou";
var name = config.Get("name") ?? "tf-example";
var @default = AliCloud.Ga.GetAccelerators.Invoke(new()
{
Status = "active",
});
var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage("default", new()
{
Bandwidth = 100,
Type = "Basic",
BandwidthType = "Basic",
PaymentType = "PayAsYouGo",
BillingType = "PayBy95",
Ratio = 30,
BandwidthPackageName = name,
AutoPay = true,
AutoUseCoupon = true,
});
var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment("default", new()
{
AcceleratorId = @default.Apply(@default => @default.Apply(getAcceleratorsResult => getAcceleratorsResult.Ids[0])),
BandwidthPackageId = defaultBandwidthPackage.Id,
});
var defaultListener = new AliCloud.Ga.Listener("default", new()
{
AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,
ClientAffinity = "SOURCE_IP",
Protocol = "UDP",
Name = name,
PortRanges = new[]
{
new AliCloud.Ga.Inputs.ListenerPortRangeArgs
{
FromPort = 60,
ToPort = 70,
},
},
});
var defaultEipAddress = new AliCloud.Ecs.EipAddress("default", new()
{
Bandwidth = "10",
InternetChargeType = "PayByBandwidth",
AddressName = name,
});
var defaultEndpointGroup = new AliCloud.Ga.EndpointGroup("default", new()
{
AcceleratorId = defaultListener.AcceleratorId,
ListenerId = defaultListener.Id,
Description = name,
Name = name,
ThresholdCount = 4,
TrafficPercentage = 20,
EndpointGroupRegion = "cn-hangzhou",
HealthCheckIntervalSeconds = 3,
HealthCheckPath = "/healthcheck",
HealthCheckPort = 9999,
HealthCheckProtocol = "http",
PortOverrides = new AliCloud.Ga.Inputs.EndpointGroupPortOverridesArgs
{
EndpointPort = 10,
ListenerPort = 60,
},
EndpointConfigurations = new[]
{
new AliCloud.Ga.Inputs.EndpointGroupEndpointConfigurationArgs
{
Endpoint = defaultEipAddress.IpAddress,
Type = "PublicIp",
Weight = 20,
},
},
});
var defaultGetEndpointGroups = AliCloud.Ga.GetEndpointGroups.Invoke(new()
{
AcceleratorId = defaultEndpointGroup.AcceleratorId,
Ids = new[]
{
defaultEndpointGroup.Id,
},
});
return new Dictionary<string, object?>
{
["firstGaEndpointGroupId"] = defaultGetEndpointGroups&#46;Apply(getEndpointGroupsResult => getEndpointGroupsResult&#46;Groups[0]?.Id),
};
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
region := "cn-hangzhou"
if param := cfg.Get("region"); param != "" {
region = param
}
name := "tf-example"
if param := cfg.Get("name"); param != "" {
name = param
}
_default, err := ga.GetAccelerators(ctx, &ga.GetAcceleratorsArgs{
Status: pulumi.StringRef("active"),
}, nil)
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),
BandwidthPackageName: pulumi.String(name),
AutoPay: pulumi.Bool(true),
AutoUseCoupon: pulumi.Bool(true),
})
if err != nil {
return err
}
defaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, "default", &ga.BandwidthPackageAttachmentArgs{
AcceleratorId: pulumi.String(_default.Ids[0]),
BandwidthPackageId: defaultBandwidthPackage.ID(),
})
if err != nil {
return err
}
defaultListener, err := ga.NewListener(ctx, "default", &ga.ListenerArgs{
AcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,
ClientAffinity: pulumi.String("SOURCE_IP"),
Protocol: pulumi.String("UDP"),
Name: pulumi.String(name),
PortRanges: ga.ListenerPortRangeArray{
&ga.ListenerPortRangeArgs{
FromPort: pulumi.Int(60),
ToPort: pulumi.Int(70),
},
},
})
if err != nil {
return err
}
defaultEipAddress, err := ecs.NewEipAddress(ctx, "default", &ecs.EipAddressArgs{
Bandwidth: pulumi.String("10"),
InternetChargeType: pulumi.String("PayByBandwidth"),
AddressName: pulumi.String(name),
})
if err != nil {
return err
}
defaultEndpointGroup, err := ga.NewEndpointGroup(ctx, "default", &ga.EndpointGroupArgs{
AcceleratorId: defaultListener.AcceleratorId,
ListenerId: defaultListener.ID(),
Description: pulumi.String(name),
Name: pulumi.String(name),
ThresholdCount: pulumi.Int(4),
TrafficPercentage: pulumi.Int(20),
EndpointGroupRegion: pulumi.String("cn-hangzhou"),
HealthCheckIntervalSeconds: pulumi.Int(3),
HealthCheckPath: pulumi.String("/healthcheck"),
HealthCheckPort: pulumi.Int(9999),
HealthCheckProtocol: pulumi.String("http"),
PortOverrides: &ga.EndpointGroupPortOverridesArgs{
EndpointPort: pulumi.Int(10),
ListenerPort: pulumi.Int(60),
},
EndpointConfigurations: ga.EndpointGroupEndpointConfigurationArray{
&ga.EndpointGroupEndpointConfigurationArgs{
Endpoint: defaultEipAddress.IpAddress,
Type: pulumi.String("PublicIp"),
Weight: pulumi.Int(20),
},
},
})
if err != nil {
return err
}
defaultGetEndpointGroups := ga.GetEndpointGroupsOutput(ctx, ga.GetEndpointGroupsOutputArgs{
AcceleratorId: defaultEndpointGroup.AcceleratorId,
Ids: pulumi.StringArray{
defaultEndpointGroup.ID(),
},
}, nil)
ctx.Export("firstGaEndpointGroupId", defaultGetEndpointGroups.ApplyT(func(defaultGetEndpointGroups ga.GetEndpointGroupsResult) (*string, error) {
return &defaultGetEndpointGroups.Groups[0].Id, nil
}).(pulumi.StringPtrOutput))
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.ga.GaFunctions;
import com.pulumi.alicloud.ga.inputs.GetAcceleratorsArgs;
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 com.pulumi.alicloud.ecs.EipAddress;
import com.pulumi.alicloud.ecs.EipAddressArgs;
import com.pulumi.alicloud.ga.EndpointGroup;
import com.pulumi.alicloud.ga.EndpointGroupArgs;
import com.pulumi.alicloud.ga.inputs.EndpointGroupPortOverridesArgs;
import com.pulumi.alicloud.ga.inputs.EndpointGroupEndpointConfigurationArgs;
import com.pulumi.alicloud.ga.inputs.GetEndpointGroupsArgs;
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 region = config.get("region").orElse("cn-hangzhou");
final var name = config.get("name").orElse("tf-example");
final var default = GaFunctions.getAccelerators(GetAcceleratorsArgs.builder()
.status("active")
.build());
var defaultBandwidthPackage = new BandwidthPackage("defaultBandwidthPackage", BandwidthPackageArgs.builder()
.bandwidth(100)
.type("Basic")
.bandwidthType("Basic")
.paymentType("PayAsYouGo")
.billingType("PayBy95")
.ratio(30)
.bandwidthPackageName(name)
.autoPay(true)
.autoUseCoupon(true)
.build());
var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment("defaultBandwidthPackageAttachment", BandwidthPackageAttachmentArgs.builder()
.acceleratorId(default_.ids()[0])
.bandwidthPackageId(defaultBandwidthPackage.id())
.build());
var defaultListener = new Listener("defaultListener", ListenerArgs.builder()
.acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())
.clientAffinity("SOURCE_IP")
.protocol("UDP")
.name(name)
.portRanges(ListenerPortRangeArgs.builder()
.fromPort("60")
.toPort("70")
.build())
.build());
var defaultEipAddress = new EipAddress("defaultEipAddress", EipAddressArgs.builder()
.bandwidth("10")
.internetChargeType("PayByBandwidth")
.addressName(name)
.build());
var defaultEndpointGroup = new EndpointGroup("defaultEndpointGroup", EndpointGroupArgs.builder()
.acceleratorId(defaultListener.acceleratorId())
.listenerId(defaultListener.id())
.description(name)
.name(name)
.thresholdCount(4)
.trafficPercentage(20)
.endpointGroupRegion("cn-hangzhou")
.healthCheckIntervalSeconds("3")
.healthCheckPath("/healthcheck")
.healthCheckPort("9999")
.healthCheckProtocol("http")
.portOverrides(EndpointGroupPortOverridesArgs.builder()
.endpointPort("10")
.listenerPort("60")
.build())
.endpointConfigurations(EndpointGroupEndpointConfigurationArgs.builder()
.endpoint(defaultEipAddress.ipAddress())
.type("PublicIp")
.weight("20")
.build())
.build());
final var defaultGetEndpointGroups = GaFunctions.getEndpointGroups(GetEndpointGroupsArgs.builder()
.acceleratorId(defaultEndpointGroup.acceleratorId())
.ids(defaultEndpointGroup.id())
.build());
ctx.export("firstGaEndpointGroupId", defaultGetEndpointGroups.applyValue(getEndpointGroupsResult -> getEndpointGroupsResult).applyValue(defaultGetEndpointGroups -> defaultGetEndpointGroups.applyValue(getEndpointGroupsResult -> getEndpointGroupsResult.groups()[0].id())));
}
}
configuration:
region:
type: string
default: cn-hangzhou
name:
type: string
default: tf-example
resources:
defaultBandwidthPackage:
type: alicloud:ga:BandwidthPackage
name: default
properties:
bandwidth: 100
type: Basic
bandwidthType: Basic
paymentType: PayAsYouGo
billingType: PayBy95
ratio: 30
bandwidthPackageName: ${name}
autoPay: true
autoUseCoupon: true
defaultBandwidthPackageAttachment:
type: alicloud:ga:BandwidthPackageAttachment
name: default
properties:
acceleratorId: ${default.ids[0]}
bandwidthPackageId: ${defaultBandwidthPackage.id}
defaultListener:
type: alicloud:ga:Listener
name: default
properties:
acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}
clientAffinity: SOURCE_IP
protocol: UDP
name: ${name}
portRanges:
- fromPort: '60'
toPort: '70'
defaultEipAddress:
type: alicloud:ecs:EipAddress
name: default
properties:
bandwidth: '10'
internetChargeType: PayByBandwidth
addressName: ${name}
defaultEndpointGroup:
type: alicloud:ga:EndpointGroup
name: default
properties:
acceleratorId: ${defaultListener.acceleratorId}
listenerId: ${defaultListener.id}
description: ${name}
name: ${name}
thresholdCount: 4
trafficPercentage: 20
endpointGroupRegion: cn-hangzhou
healthCheckIntervalSeconds: '3'
healthCheckPath: /healthcheck
healthCheckPort: '9999'
healthCheckProtocol: http
portOverrides:
endpointPort: '10'
listenerPort: '60'
endpointConfigurations:
- endpoint: ${defaultEipAddress.ipAddress}
type: PublicIp
weight: '20'
variables:
default:
fn::invoke:
function: alicloud:ga:getAccelerators
arguments:
status: active
defaultGetEndpointGroups:
fn::invoke:
function: alicloud:ga:getEndpointGroups
arguments:
acceleratorId: ${defaultEndpointGroup.acceleratorId}
ids:
- ${defaultEndpointGroup.id}
outputs:
firstGaEndpointGroupId: ${defaultGetEndpointGroups.groups[0].id}

Return

A collection of values returned by getEndpointGroups.

Parameters

argument

A collection of arguments for invoking getEndpointGroups.


suspend fun getEndpointGroups(acceleratorId: String, endpointGroupType: String? = null, ids: List<String>? = null, listenerId: String? = null, nameRegex: String? = null, outputFile: String? = null, status: String? = null): GetEndpointGroupsResult

Return

A collection of values returned by getEndpointGroups.

Parameters

acceleratorId

The ID of the Global Accelerator instance to which the endpoint group will be added.

endpointGroupType

The endpoint group type. Default value: default. Valid values: default, virtual.

ids

A list of Endpoint Group IDs.

listenerId

The ID of the listener that is associated with the endpoint group.

nameRegex

A regex string to filter results by Endpoint Group name.

outputFile

File name where to save data source results (after running pulumi preview).

status

The status of the endpoint group. Valid values: active, configuring, creating, init.

See also


Return

A collection of values returned by getEndpointGroups.

Parameters

argument

Builder for com.pulumi.alicloud.ga.kotlin.inputs.GetEndpointGroupsPlainArgs.

See also