com.pulumi.alicloud.vpc.kotlin.VpcFunctions.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-alicloud-kotlin Show documentation
Show all versions of pulumi-alicloud-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.alicloud.vpc.kotlin
import com.pulumi.alicloud.vpc.VpcFunctions.getBgpGroupsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getBgpNetworksPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getBgpPeersPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getCommonBandwidthPackagesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getDhcpOptionsSetsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getEnhancedNatAvailableZonesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getFlowLogServicePlain
import com.pulumi.alicloud.vpc.VpcFunctions.getForwardEntriesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getHavipsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getIpsecServersPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getIpv4GatewaysPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getIpv6AddressesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getIpv6EgressRulesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getIpv6GatewaysPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getIpv6InternetBandwidthsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getNatGatewaysPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getNatIpCidrsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getNatIpsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getNetworkAclsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getNetworksPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getPbrRouteEntriesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getPeerConnectionsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getPrefixListsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getPublicIpAddressPoolCidrBlocksPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getPublicIpAddressPoolsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getRouteEntriesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getRouteTablesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getRouterInterfacesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getSnatEntriesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getSslVpnClientCertsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getSslVpnServersPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getSwitchesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getTrafficMirrorFilterEgressRulesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getTrafficMirrorFilterIngressRulesPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getTrafficMirrorFiltersPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getTrafficMirrorServicePlain
import com.pulumi.alicloud.vpc.VpcFunctions.getTrafficMirrorSessionsPlain
import com.pulumi.alicloud.vpc.VpcFunctions.getVpcFlowLogsPlain
import com.pulumi.alicloud.vpc.kotlin.inputs.GetBgpGroupsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetBgpGroupsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetBgpNetworksPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetBgpNetworksPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetBgpPeersPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetBgpPeersPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetCommonBandwidthPackagesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetCommonBandwidthPackagesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetDhcpOptionsSetsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetDhcpOptionsSetsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetEnhancedNatAvailableZonesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetEnhancedNatAvailableZonesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetFlowLogServicePlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetFlowLogServicePlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetForwardEntriesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetForwardEntriesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetHavipsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetHavipsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpsecServersPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpsecServersPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv4GatewaysPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv4GatewaysPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6AddressesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6AddressesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6EgressRulesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6EgressRulesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6GatewaysPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6GatewaysPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6InternetBandwidthsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6InternetBandwidthsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNatGatewaysPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNatGatewaysPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNatIpCidrsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNatIpCidrsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNatIpsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNatIpsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNetworkAclsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNetworkAclsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNetworksPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetNetworksPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPbrRouteEntriesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPbrRouteEntriesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPeerConnectionsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPeerConnectionsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPrefixListsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPrefixListsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPublicIpAddressPoolCidrBlocksPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPublicIpAddressPoolCidrBlocksPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPublicIpAddressPoolsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetPublicIpAddressPoolsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetRouteEntriesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetRouteEntriesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetRouteTablesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetRouteTablesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetRouterInterfacesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetRouterInterfacesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetSnatEntriesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetSnatEntriesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetSslVpnClientCertsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetSslVpnClientCertsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetSslVpnServersPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetSslVpnServersPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetSwitchesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetSwitchesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorFilterEgressRulesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorFilterEgressRulesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorFilterIngressRulesPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorFilterIngressRulesPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorFiltersPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorFiltersPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorServicePlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorServicePlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorSessionsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorSessionsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.inputs.GetVpcFlowLogsPlainArgs
import com.pulumi.alicloud.vpc.kotlin.inputs.GetVpcFlowLogsPlainArgsBuilder
import com.pulumi.alicloud.vpc.kotlin.outputs.GetBgpGroupsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetBgpNetworksResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetBgpPeersResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetCommonBandwidthPackagesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetDhcpOptionsSetsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetEnhancedNatAvailableZonesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetFlowLogServiceResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetForwardEntriesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetHavipsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpsecServersResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv4GatewaysResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv6AddressesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv6EgressRulesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv6GatewaysResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv6InternetBandwidthsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNatGatewaysResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNatIpCidrsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNatIpsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNetworkAclsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNetworksResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPbrRouteEntriesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPeerConnectionsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPrefixListsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPublicIpAddressPoolCidrBlocksResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPublicIpAddressPoolsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetRouteEntriesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetRouteTablesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetRouterInterfacesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetSnatEntriesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetSslVpnClientCertsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetSslVpnServersResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetSwitchesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorFilterEgressRulesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorFilterIngressRulesResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorFiltersResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorServiceResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorSessionsResult
import com.pulumi.alicloud.vpc.kotlin.outputs.GetVpcFlowLogsResult
import kotlinx.coroutines.future.await
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import com.pulumi.alicloud.vpc.kotlin.outputs.GetBgpGroupsResult.Companion.toKotlin as getBgpGroupsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetBgpNetworksResult.Companion.toKotlin as getBgpNetworksResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetBgpPeersResult.Companion.toKotlin as getBgpPeersResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetCommonBandwidthPackagesResult.Companion.toKotlin as getCommonBandwidthPackagesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetDhcpOptionsSetsResult.Companion.toKotlin as getDhcpOptionsSetsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetEnhancedNatAvailableZonesResult.Companion.toKotlin as getEnhancedNatAvailableZonesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetFlowLogServiceResult.Companion.toKotlin as getFlowLogServiceResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetForwardEntriesResult.Companion.toKotlin as getForwardEntriesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetHavipsResult.Companion.toKotlin as getHavipsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpsecServersResult.Companion.toKotlin as getIpsecServersResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv4GatewaysResult.Companion.toKotlin as getIpv4GatewaysResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv6AddressesResult.Companion.toKotlin as getIpv6AddressesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv6EgressRulesResult.Companion.toKotlin as getIpv6EgressRulesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv6GatewaysResult.Companion.toKotlin as getIpv6GatewaysResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetIpv6InternetBandwidthsResult.Companion.toKotlin as getIpv6InternetBandwidthsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNatGatewaysResult.Companion.toKotlin as getNatGatewaysResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNatIpCidrsResult.Companion.toKotlin as getNatIpCidrsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNatIpsResult.Companion.toKotlin as getNatIpsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNetworkAclsResult.Companion.toKotlin as getNetworkAclsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetNetworksResult.Companion.toKotlin as getNetworksResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPbrRouteEntriesResult.Companion.toKotlin as getPbrRouteEntriesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPeerConnectionsResult.Companion.toKotlin as getPeerConnectionsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPrefixListsResult.Companion.toKotlin as getPrefixListsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPublicIpAddressPoolCidrBlocksResult.Companion.toKotlin as getPublicIpAddressPoolCidrBlocksResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetPublicIpAddressPoolsResult.Companion.toKotlin as getPublicIpAddressPoolsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetRouteEntriesResult.Companion.toKotlin as getRouteEntriesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetRouteTablesResult.Companion.toKotlin as getRouteTablesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetRouterInterfacesResult.Companion.toKotlin as getRouterInterfacesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetSnatEntriesResult.Companion.toKotlin as getSnatEntriesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetSslVpnClientCertsResult.Companion.toKotlin as getSslVpnClientCertsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetSslVpnServersResult.Companion.toKotlin as getSslVpnServersResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetSwitchesResult.Companion.toKotlin as getSwitchesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorFilterEgressRulesResult.Companion.toKotlin as getTrafficMirrorFilterEgressRulesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorFilterIngressRulesResult.Companion.toKotlin as getTrafficMirrorFilterIngressRulesResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorFiltersResult.Companion.toKotlin as getTrafficMirrorFiltersResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorServiceResult.Companion.toKotlin as getTrafficMirrorServiceResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetTrafficMirrorSessionsResult.Companion.toKotlin as getTrafficMirrorSessionsResultToKotlin
import com.pulumi.alicloud.vpc.kotlin.outputs.GetVpcFlowLogsResult.Companion.toKotlin as getVpcFlowLogsResultToKotlin
public object VpcFunctions {
/**
* This data source provides the Vpc Bgp Groups of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.152.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getBgpGroups({
* ids: ["example_value"],
* });
* export const vpcBgpGroupId1 = ids.then(ids => ids.groups?.[0]?.id);
* const nameRegex = alicloud.vpc.getBgpGroups({
* nameRegex: "^my-BgpGroup",
* });
* export const vpcBgpGroupId2 = nameRegex.then(nameRegex => nameRegex.groups?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_bgp_groups(ids=["example_value"])
* pulumi.export("vpcBgpGroupId1", ids.groups[0].id)
* name_regex = alicloud.vpc.get_bgp_groups(name_regex="^my-BgpGroup")
* pulumi.export("vpcBgpGroupId2", name_regex.groups[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetBgpGroups.Invoke(new()
* {
* Ids = new[]
* {
* "example_value",
* },
* });
* var nameRegex = AliCloud.Vpc.GetBgpGroups.Invoke(new()
* {
* NameRegex = "^my-BgpGroup",
* });
* return new Dictionary
* {
* ["vpcBgpGroupId1"] = ids.Apply(getBgpGroupsResult => getBgpGroupsResult.Groups[0]?.Id),
* ["vpcBgpGroupId2"] = nameRegex.Apply(getBgpGroupsResult => getBgpGroupsResult.Groups[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetBgpGroups(ctx, &vpc.GetBgpGroupsArgs{
* Ids: []string{
* "example_value",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcBgpGroupId1", ids.Groups[0].Id)
* nameRegex, err := vpc.GetBgpGroups(ctx, &vpc.GetBgpGroupsArgs{
* NameRegex: pulumi.StringRef("^my-BgpGroup"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcBgpGroupId2", nameRegex.Groups[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetBgpGroupsArgs;
* 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 ids = VpcFunctions.getBgpGroups(GetBgpGroupsArgs.builder()
* .ids("example_value")
* .build());
* ctx.export("vpcBgpGroupId1", ids.applyValue(getBgpGroupsResult -> getBgpGroupsResult.groups()[0].id()));
* final var nameRegex = VpcFunctions.getBgpGroups(GetBgpGroupsArgs.builder()
* .nameRegex("^my-BgpGroup")
* .build());
* ctx.export("vpcBgpGroupId2", nameRegex.applyValue(getBgpGroupsResult -> getBgpGroupsResult.groups()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getBgpGroups
* Arguments:
* ids:
* - example_value
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getBgpGroups
* Arguments:
* nameRegex: ^my-BgpGroup
* outputs:
* vpcBgpGroupId1: ${ids.groups[0].id}
* vpcBgpGroupId2: ${nameRegex.groups[0].id}
* ```
*
* @param argument A collection of arguments for invoking getBgpGroups.
* @return A collection of values returned by getBgpGroups.
*/
public suspend fun getBgpGroups(argument: GetBgpGroupsPlainArgs): GetBgpGroupsResult =
getBgpGroupsResultToKotlin(getBgpGroupsPlain(argument.toJava()).await())
/**
* @see [getBgpGroups].
* @param ids A list of Bgp Group IDs.
* @param nameRegex A regex string to filter results by Bgp Group name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param routerId The ID of the virtual border router (VBR) that is associated with the BGP group.
* @param status The status of the resource. Valid values: `Available`, `Deleting` and `Pending`.
* @return A collection of values returned by getBgpGroups.
*/
public suspend fun getBgpGroups(
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
routerId: String? = null,
status: String? = null,
): GetBgpGroupsResult {
val argument = GetBgpGroupsPlainArgs(
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
routerId = routerId,
status = status,
)
return getBgpGroupsResultToKotlin(getBgpGroupsPlain(argument.toJava()).await())
}
/**
* @see [getBgpGroups].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetBgpGroupsPlainArgs].
* @return A collection of values returned by getBgpGroups.
*/
public suspend fun getBgpGroups(argument: suspend GetBgpGroupsPlainArgsBuilder.() -> Unit): GetBgpGroupsResult {
val builder = GetBgpGroupsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getBgpGroupsResultToKotlin(getBgpGroupsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Bgp Networks of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.153.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getBgpNetworks({
* ids: ["example_value"],
* });
* export const vpcBgpNetworkId1 = ids.then(ids => ids.networks?.[0]?.id);
* const routerId = alicloud.vpc.getBgpNetworks({
* routerId: "example_value",
* });
* export const vpcBgpNetworkId2 = routerId.then(routerId => routerId.networks?.[0]?.id);
* const status = alicloud.vpc.getBgpNetworks({
* status: "Available",
* });
* export const vpcBgpNetworkId3 = status.then(status => status.networks?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_bgp_networks(ids=["example_value"])
* pulumi.export("vpcBgpNetworkId1", ids.networks[0].id)
* router_id = alicloud.vpc.get_bgp_networks(router_id="example_value")
* pulumi.export("vpcBgpNetworkId2", router_id.networks[0].id)
* status = alicloud.vpc.get_bgp_networks(status="Available")
* pulumi.export("vpcBgpNetworkId3", status.networks[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetBgpNetworks.Invoke(new()
* {
* Ids = new[]
* {
* "example_value",
* },
* });
* var routerId = AliCloud.Vpc.GetBgpNetworks.Invoke(new()
* {
* RouterId = "example_value",
* });
* var status = AliCloud.Vpc.GetBgpNetworks.Invoke(new()
* {
* Status = "Available",
* });
* return new Dictionary
* {
* ["vpcBgpNetworkId1"] = ids.Apply(getBgpNetworksResult => getBgpNetworksResult.Networks[0]?.Id),
* ["vpcBgpNetworkId2"] = routerId.Apply(getBgpNetworksResult => getBgpNetworksResult.Networks[0]?.Id),
* ["vpcBgpNetworkId3"] = status.Apply(getBgpNetworksResult => getBgpNetworksResult.Networks[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetBgpNetworks(ctx, &vpc.GetBgpNetworksArgs{
* Ids: []string{
* "example_value",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcBgpNetworkId1", ids.Networks[0].Id)
* routerId, err := vpc.GetBgpNetworks(ctx, &vpc.GetBgpNetworksArgs{
* RouterId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcBgpNetworkId2", routerId.Networks[0].Id)
* status, err := vpc.GetBgpNetworks(ctx, &vpc.GetBgpNetworksArgs{
* Status: pulumi.StringRef("Available"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcBgpNetworkId3", status.Networks[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetBgpNetworksArgs;
* 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 ids = VpcFunctions.getBgpNetworks(GetBgpNetworksArgs.builder()
* .ids("example_value")
* .build());
* ctx.export("vpcBgpNetworkId1", ids.applyValue(getBgpNetworksResult -> getBgpNetworksResult.networks()[0].id()));
* final var routerId = VpcFunctions.getBgpNetworks(GetBgpNetworksArgs.builder()
* .routerId("example_value")
* .build());
* ctx.export("vpcBgpNetworkId2", routerId.applyValue(getBgpNetworksResult -> getBgpNetworksResult.networks()[0].id()));
* final var status = VpcFunctions.getBgpNetworks(GetBgpNetworksArgs.builder()
* .status("Available")
* .build());
* ctx.export("vpcBgpNetworkId3", status.applyValue(getBgpNetworksResult -> getBgpNetworksResult.networks()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getBgpNetworks
* Arguments:
* ids:
* - example_value
* routerId:
* fn::invoke:
* Function: alicloud:vpc:getBgpNetworks
* Arguments:
* routerId: example_value
* status:
* fn::invoke:
* Function: alicloud:vpc:getBgpNetworks
* Arguments:
* status: Available
* outputs:
* vpcBgpNetworkId1: ${ids.networks[0].id}
* vpcBgpNetworkId2: ${routerId.networks[0].id}
* vpcBgpNetworkId3: ${status.networks[0].id}
* ```
*
* @param argument A collection of arguments for invoking getBgpNetworks.
* @return A collection of values returned by getBgpNetworks.
*/
public suspend fun getBgpNetworks(argument: GetBgpNetworksPlainArgs): GetBgpNetworksResult =
getBgpNetworksResultToKotlin(getBgpNetworksPlain(argument.toJava()).await())
/**
* @see [getBgpNetworks].
* @param ids A list of Bgp Network IDs.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param routerId The ID of the router to which the route table belongs.
* @param status The state of the advertised BGP network. Valid values: `Available`, `Pending`, `Deleting`.
* @return A collection of values returned by getBgpNetworks.
*/
public suspend fun getBgpNetworks(
ids: List? = null,
outputFile: String? = null,
routerId: String? = null,
status: String? = null,
): GetBgpNetworksResult {
val argument = GetBgpNetworksPlainArgs(
ids = ids,
outputFile = outputFile,
routerId = routerId,
status = status,
)
return getBgpNetworksResultToKotlin(getBgpNetworksPlain(argument.toJava()).await())
}
/**
* @see [getBgpNetworks].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetBgpNetworksPlainArgs].
* @return A collection of values returned by getBgpNetworks.
*/
public suspend fun getBgpNetworks(argument: suspend GetBgpNetworksPlainArgsBuilder.() -> Unit): GetBgpNetworksResult {
val builder = GetBgpNetworksPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getBgpNetworksResultToKotlin(getBgpNetworksPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Bgp Peers of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.153.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getBgpPeers({
* ids: [
* "example_value-1",
* "example_value-2",
* ],
* });
* export const vpcBgpPeerId1 = ids.then(ids => ids.peers?.[0]?.id);
* const bgpGroupId = alicloud.vpc.getBgpPeers({
* bgpGroupId: "example_value",
* });
* export const vpcBgpPeerId2 = bgpGroupId.then(bgpGroupId => bgpGroupId.peers?.[0]?.id);
* const routerId = alicloud.vpc.getBgpPeers({
* routerId: "example_value",
* });
* export const vpcBgpPeerId3 = routerId.then(routerId => routerId.peers?.[0]?.id);
* const status = alicloud.vpc.getBgpPeers({
* status: "Available",
* });
* export const vpcBgpPeerId4 = status.then(status => status.peers?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_bgp_peers(ids=[
* "example_value-1",
* "example_value-2",
* ])
* pulumi.export("vpcBgpPeerId1", ids.peers[0].id)
* bgp_group_id = alicloud.vpc.get_bgp_peers(bgp_group_id="example_value")
* pulumi.export("vpcBgpPeerId2", bgp_group_id.peers[0].id)
* router_id = alicloud.vpc.get_bgp_peers(router_id="example_value")
* pulumi.export("vpcBgpPeerId3", router_id.peers[0].id)
* status = alicloud.vpc.get_bgp_peers(status="Available")
* pulumi.export("vpcBgpPeerId4", status.peers[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetBgpPeers.Invoke(new()
* {
* Ids = new[]
* {
* "example_value-1",
* "example_value-2",
* },
* });
* var bgpGroupId = AliCloud.Vpc.GetBgpPeers.Invoke(new()
* {
* BgpGroupId = "example_value",
* });
* var routerId = AliCloud.Vpc.GetBgpPeers.Invoke(new()
* {
* RouterId = "example_value",
* });
* var status = AliCloud.Vpc.GetBgpPeers.Invoke(new()
* {
* Status = "Available",
* });
* return new Dictionary
* {
* ["vpcBgpPeerId1"] = ids.Apply(getBgpPeersResult => getBgpPeersResult.Peers[0]?.Id),
* ["vpcBgpPeerId2"] = bgpGroupId.Apply(getBgpPeersResult => getBgpPeersResult.Peers[0]?.Id),
* ["vpcBgpPeerId3"] = routerId.Apply(getBgpPeersResult => getBgpPeersResult.Peers[0]?.Id),
* ["vpcBgpPeerId4"] = status.Apply(getBgpPeersResult => getBgpPeersResult.Peers[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetBgpPeers(ctx, &vpc.GetBgpPeersArgs{
* Ids: []string{
* "example_value-1",
* "example_value-2",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcBgpPeerId1", ids.Peers[0].Id)
* bgpGroupId, err := vpc.GetBgpPeers(ctx, &vpc.GetBgpPeersArgs{
* BgpGroupId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcBgpPeerId2", bgpGroupId.Peers[0].Id)
* routerId, err := vpc.GetBgpPeers(ctx, &vpc.GetBgpPeersArgs{
* RouterId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcBgpPeerId3", routerId.Peers[0].Id)
* status, err := vpc.GetBgpPeers(ctx, &vpc.GetBgpPeersArgs{
* Status: pulumi.StringRef("Available"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcBgpPeerId4", status.Peers[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetBgpPeersArgs;
* 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 ids = VpcFunctions.getBgpPeers(GetBgpPeersArgs.builder()
* .ids(
* "example_value-1",
* "example_value-2")
* .build());
* ctx.export("vpcBgpPeerId1", ids.applyValue(getBgpPeersResult -> getBgpPeersResult.peers()[0].id()));
* final var bgpGroupId = VpcFunctions.getBgpPeers(GetBgpPeersArgs.builder()
* .bgpGroupId("example_value")
* .build());
* ctx.export("vpcBgpPeerId2", bgpGroupId.applyValue(getBgpPeersResult -> getBgpPeersResult.peers()[0].id()));
* final var routerId = VpcFunctions.getBgpPeers(GetBgpPeersArgs.builder()
* .routerId("example_value")
* .build());
* ctx.export("vpcBgpPeerId3", routerId.applyValue(getBgpPeersResult -> getBgpPeersResult.peers()[0].id()));
* final var status = VpcFunctions.getBgpPeers(GetBgpPeersArgs.builder()
* .status("Available")
* .build());
* ctx.export("vpcBgpPeerId4", status.applyValue(getBgpPeersResult -> getBgpPeersResult.peers()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getBgpPeers
* Arguments:
* ids:
* - example_value-1
* - example_value-2
* bgpGroupId:
* fn::invoke:
* Function: alicloud:vpc:getBgpPeers
* Arguments:
* bgpGroupId: example_value
* routerId:
* fn::invoke:
* Function: alicloud:vpc:getBgpPeers
* Arguments:
* routerId: example_value
* status:
* fn::invoke:
* Function: alicloud:vpc:getBgpPeers
* Arguments:
* status: Available
* outputs:
* vpcBgpPeerId1: ${ids.peers[0].id}
* vpcBgpPeerId2: ${bgpGroupId.peers[0].id}
* vpcBgpPeerId3: ${routerId.peers[0].id}
* vpcBgpPeerId4: ${status.peers[0].id}
* ```
*
* @param argument A collection of arguments for invoking getBgpPeers.
* @return A collection of values returned by getBgpPeers.
*/
public suspend fun getBgpPeers(argument: GetBgpPeersPlainArgs): GetBgpPeersResult =
getBgpPeersResultToKotlin(getBgpPeersPlain(argument.toJava()).await())
/**
* @see [getBgpPeers].
* @param bgpGroupId The ID of the BGP group to which the BGP peer that you want to query belongs.
* @param ids A list of Bgp Peer IDs.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param routerId The ID of the virtual border router (VBR) that is associated with the BGP peer that you want to query.
* @param status The status of the BGP peer. Valid values: `Available`, `Deleted`, `Deleting`, `Modifying`, `Pending`.
* @return A collection of values returned by getBgpPeers.
*/
public suspend fun getBgpPeers(
bgpGroupId: String? = null,
ids: List? = null,
outputFile: String? = null,
routerId: String? = null,
status: String? = null,
): GetBgpPeersResult {
val argument = GetBgpPeersPlainArgs(
bgpGroupId = bgpGroupId,
ids = ids,
outputFile = outputFile,
routerId = routerId,
status = status,
)
return getBgpPeersResultToKotlin(getBgpPeersPlain(argument.toJava()).await())
}
/**
* @see [getBgpPeers].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetBgpPeersPlainArgs].
* @return A collection of values returned by getBgpPeers.
*/
public suspend fun getBgpPeers(argument: suspend GetBgpPeersPlainArgsBuilder.() -> Unit): GetBgpPeersResult {
val builder = GetBgpPeersPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getBgpPeersResultToKotlin(getBgpPeersPlain(builtArgument.toJava()).await())
}
/**
* This data source provides a list of Common Bandwidth Packages owned by an Alibaba Cloud account.
* > **NOTE:** Available in 1.36.0+.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const fooCommonBandwithPackage = new alicloud.vpc.CommonBandwithPackage("foo", {
* bandwidth: "2",
* name: "tf-testAccCommonBandwidthPackage",
* description: "tf-testAcc-CommonBandwidthPackage",
* });
* const foo = alicloud.vpc.getCommonBandwidthPackagesOutput({
* nameRegex: "^tf-testAcc.*",
* ids: [fooCommonBandwithPackage.id],
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* foo_common_bandwith_package = alicloud.vpc.CommonBandwithPackage("foo",
* bandwidth="2",
* name="tf-testAccCommonBandwidthPackage",
* description="tf-testAcc-CommonBandwidthPackage")
* foo = alicloud.vpc.get_common_bandwidth_packages_output(name_regex="^tf-testAcc.*",
* ids=[foo_common_bandwith_package.id])
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var fooCommonBandwithPackage = new AliCloud.Vpc.CommonBandwithPackage("foo", new()
* {
* Bandwidth = "2",
* Name = "tf-testAccCommonBandwidthPackage",
* Description = "tf-testAcc-CommonBandwidthPackage",
* });
* var foo = AliCloud.Vpc.GetCommonBandwidthPackages.Invoke(new()
* {
* NameRegex = "^tf-testAcc.*",
* Ids = new[]
* {
* fooCommonBandwithPackage.Id,
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* fooCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, "foo", &vpc.CommonBandwithPackageArgs{
* Bandwidth: pulumi.String("2"),
* Name: pulumi.String("tf-testAccCommonBandwidthPackage"),
* Description: pulumi.String("tf-testAcc-CommonBandwidthPackage"),
* })
* if err != nil {
* return err
* }
* _ = vpc.GetCommonBandwidthPackagesOutput(ctx, vpc.GetCommonBandwidthPackagesOutputArgs{
* NameRegex: pulumi.String("^tf-testAcc.*"),
* Ids: pulumi.StringArray{
* fooCommonBandwithPackage.ID(),
* },
* }, nil)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.CommonBandwithPackage;
* import com.pulumi.alicloud.vpc.CommonBandwithPackageArgs;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetCommonBandwidthPackagesArgs;
* 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 fooCommonBandwithPackage = new CommonBandwithPackage("fooCommonBandwithPackage", CommonBandwithPackageArgs.builder()
* .bandwidth("2")
* .name("tf-testAccCommonBandwidthPackage")
* .description("tf-testAcc-CommonBandwidthPackage")
* .build());
* final var foo = VpcFunctions.getCommonBandwidthPackages(GetCommonBandwidthPackagesArgs.builder()
* .nameRegex("^tf-testAcc.*")
* .ids(fooCommonBandwithPackage.id())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* fooCommonBandwithPackage:
* type: alicloud:vpc:CommonBandwithPackage
* name: foo
* properties:
* bandwidth: '2'
* name: tf-testAccCommonBandwidthPackage
* description: tf-testAcc-CommonBandwidthPackage
* variables:
* foo:
* fn::invoke:
* Function: alicloud:vpc:getCommonBandwidthPackages
* Arguments:
* nameRegex: ^tf-testAcc.*
* ids:
* - ${fooCommonBandwithPackage.id}
* ```
*
* ## Public ip addresses Block
* The public ip addresses mapping supports the following:
* * `ip_address` - The address of the EIP.
* * `allocation_id` - The ID of the EIP instance.
* * `bandwidth_package_ip_relation_status` - The IP relation status of bandwidth package.
* @param argument A collection of arguments for invoking getCommonBandwidthPackages.
* @return A collection of values returned by getCommonBandwidthPackages.
*/
public suspend fun getCommonBandwidthPackages(argument: GetCommonBandwidthPackagesPlainArgs): GetCommonBandwidthPackagesResult =
getCommonBandwidthPackagesResultToKotlin(getCommonBandwidthPackagesPlain(argument.toJava()).await())
/**
* @see [getCommonBandwidthPackages].
* @param bandwidthPackageName The name of bandwidth package.
* @param dryRun Specifies whether to precheck only the request.
* @param ids A list of Common Bandwidth Packages IDs.
* @param includeReservationData Specifies whether to return data of orders that have not taken effect.
* @param nameRegex A regex string to filter results by name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param resourceGroupId The Id of resource group which the common bandwidth package belongs.
* @param status The status of bandwidth package. Valid values: `Available` and `Pending`.
* @return A collection of values returned by getCommonBandwidthPackages.
*/
public suspend fun getCommonBandwidthPackages(
bandwidthPackageName: String? = null,
dryRun: Boolean? = null,
ids: List? = null,
includeReservationData: Boolean? = null,
nameRegex: String? = null,
outputFile: String? = null,
resourceGroupId: String? = null,
status: String? = null,
): GetCommonBandwidthPackagesResult {
val argument = GetCommonBandwidthPackagesPlainArgs(
bandwidthPackageName = bandwidthPackageName,
dryRun = dryRun,
ids = ids,
includeReservationData = includeReservationData,
nameRegex = nameRegex,
outputFile = outputFile,
resourceGroupId = resourceGroupId,
status = status,
)
return getCommonBandwidthPackagesResultToKotlin(getCommonBandwidthPackagesPlain(argument.toJava()).await())
}
/**
* @see [getCommonBandwidthPackages].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetCommonBandwidthPackagesPlainArgs].
* @return A collection of values returned by getCommonBandwidthPackages.
*/
public suspend fun getCommonBandwidthPackages(argument: suspend GetCommonBandwidthPackagesPlainArgsBuilder.() -> Unit): GetCommonBandwidthPackagesResult {
val builder = GetCommonBandwidthPackagesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getCommonBandwidthPackagesResultToKotlin(getCommonBandwidthPackagesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Dhcp Options Sets of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.134.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getDhcpOptionsSets({
* ids: ["example_value"],
* });
* export const vpcDhcpOptionsSetId1 = ids.then(ids => ids.sets?.[0]?.id);
* const nameRegex = alicloud.vpc.getDhcpOptionsSets({
* nameRegex: "^my-DhcpOptionsSet",
* });
* export const vpcDhcpOptionsSetId2 = nameRegex.then(nameRegex => nameRegex.sets?.[0]?.id);
* const dhcpOptionsSetName = alicloud.vpc.getDhcpOptionsSets({
* dhcpOptionsSetName: "my-DhcpOptionsSet",
* });
* export const vpcDhcpOptionsSetId3 = dhcpOptionsSetName.then(dhcpOptionsSetName => dhcpOptionsSetName.sets?.[0]?.id);
* const domainName = alicloud.vpc.getDhcpOptionsSets({
* ids: ["example_value"],
* domainName: "example.com",
* });
* export const vpcDhcpOptionsSetId4 = domainName.then(domainName => domainName.sets?.[0]?.id);
* const status = alicloud.vpc.getDhcpOptionsSets({
* ids: ["example_value"],
* status: "Available",
* });
* export const vpcDhcpOptionsSetId5 = status.then(status => status.sets?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_dhcp_options_sets(ids=["example_value"])
* pulumi.export("vpcDhcpOptionsSetId1", ids.sets[0].id)
* name_regex = alicloud.vpc.get_dhcp_options_sets(name_regex="^my-DhcpOptionsSet")
* pulumi.export("vpcDhcpOptionsSetId2", name_regex.sets[0].id)
* dhcp_options_set_name = alicloud.vpc.get_dhcp_options_sets(dhcp_options_set_name="my-DhcpOptionsSet")
* pulumi.export("vpcDhcpOptionsSetId3", dhcp_options_set_name.sets[0].id)
* domain_name = alicloud.vpc.get_dhcp_options_sets(ids=["example_value"],
* domain_name="example.com")
* pulumi.export("vpcDhcpOptionsSetId4", domain_name.sets[0].id)
* status = alicloud.vpc.get_dhcp_options_sets(ids=["example_value"],
* status="Available")
* pulumi.export("vpcDhcpOptionsSetId5", status.sets[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetDhcpOptionsSets.Invoke(new()
* {
* Ids = new[]
* {
* "example_value",
* },
* });
* var nameRegex = AliCloud.Vpc.GetDhcpOptionsSets.Invoke(new()
* {
* NameRegex = "^my-DhcpOptionsSet",
* });
* var dhcpOptionsSetName = AliCloud.Vpc.GetDhcpOptionsSets.Invoke(new()
* {
* DhcpOptionsSetName = "my-DhcpOptionsSet",
* });
* var domainName = AliCloud.Vpc.GetDhcpOptionsSets.Invoke(new()
* {
* Ids = new[]
* {
* "example_value",
* },
* DomainName = "example.com",
* });
* var status = AliCloud.Vpc.GetDhcpOptionsSets.Invoke(new()
* {
* Ids = new[]
* {
* "example_value",
* },
* Status = "Available",
* });
* return new Dictionary
* {
* ["vpcDhcpOptionsSetId1"] = ids.Apply(getDhcpOptionsSetsResult => getDhcpOptionsSetsResult.Sets[0]?.Id),
* ["vpcDhcpOptionsSetId2"] = nameRegex.Apply(getDhcpOptionsSetsResult => getDhcpOptionsSetsResult.Sets[0]?.Id),
* ["vpcDhcpOptionsSetId3"] = dhcpOptionsSetName.Apply(getDhcpOptionsSetsResult => getDhcpOptionsSetsResult.Sets[0]?.Id),
* ["vpcDhcpOptionsSetId4"] = domainName.Apply(getDhcpOptionsSetsResult => getDhcpOptionsSetsResult.Sets[0]?.Id),
* ["vpcDhcpOptionsSetId5"] = status.Apply(getDhcpOptionsSetsResult => getDhcpOptionsSetsResult.Sets[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
* Ids: []string{
* "example_value",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcDhcpOptionsSetId1", ids.Sets[0].Id)
* nameRegex, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
* NameRegex: pulumi.StringRef("^my-DhcpOptionsSet"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcDhcpOptionsSetId2", nameRegex.Sets[0].Id)
* dhcpOptionsSetName, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
* DhcpOptionsSetName: pulumi.StringRef("my-DhcpOptionsSet"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcDhcpOptionsSetId3", dhcpOptionsSetName.Sets[0].Id)
* domainName, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
* Ids: []string{
* "example_value",
* },
* DomainName: pulumi.StringRef("example.com"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcDhcpOptionsSetId4", domainName.Sets[0].Id)
* status, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
* Ids: []string{
* "example_value",
* },
* Status: pulumi.StringRef("Available"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcDhcpOptionsSetId5", status.Sets[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetDhcpOptionsSetsArgs;
* 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 ids = VpcFunctions.getDhcpOptionsSets(GetDhcpOptionsSetsArgs.builder()
* .ids("example_value")
* .build());
* ctx.export("vpcDhcpOptionsSetId1", ids.applyValue(getDhcpOptionsSetsResult -> getDhcpOptionsSetsResult.sets()[0].id()));
* final var nameRegex = VpcFunctions.getDhcpOptionsSets(GetDhcpOptionsSetsArgs.builder()
* .nameRegex("^my-DhcpOptionsSet")
* .build());
* ctx.export("vpcDhcpOptionsSetId2", nameRegex.applyValue(getDhcpOptionsSetsResult -> getDhcpOptionsSetsResult.sets()[0].id()));
* final var dhcpOptionsSetName = VpcFunctions.getDhcpOptionsSets(GetDhcpOptionsSetsArgs.builder()
* .dhcpOptionsSetName("my-DhcpOptionsSet")
* .build());
* ctx.export("vpcDhcpOptionsSetId3", dhcpOptionsSetName.applyValue(getDhcpOptionsSetsResult -> getDhcpOptionsSetsResult.sets()[0].id()));
* final var domainName = VpcFunctions.getDhcpOptionsSets(GetDhcpOptionsSetsArgs.builder()
* .ids("example_value")
* .domainName("example.com")
* .build());
* ctx.export("vpcDhcpOptionsSetId4", domainName.applyValue(getDhcpOptionsSetsResult -> getDhcpOptionsSetsResult.sets()[0].id()));
* final var status = VpcFunctions.getDhcpOptionsSets(GetDhcpOptionsSetsArgs.builder()
* .ids("example_value")
* .status("Available")
* .build());
* ctx.export("vpcDhcpOptionsSetId5", status.applyValue(getDhcpOptionsSetsResult -> getDhcpOptionsSetsResult.sets()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getDhcpOptionsSets
* Arguments:
* ids:
* - example_value
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getDhcpOptionsSets
* Arguments:
* nameRegex: ^my-DhcpOptionsSet
* dhcpOptionsSetName:
* fn::invoke:
* Function: alicloud:vpc:getDhcpOptionsSets
* Arguments:
* dhcpOptionsSetName: my-DhcpOptionsSet
* domainName:
* fn::invoke:
* Function: alicloud:vpc:getDhcpOptionsSets
* Arguments:
* ids:
* - example_value
* domainName: example.com
* status:
* fn::invoke:
* Function: alicloud:vpc:getDhcpOptionsSets
* Arguments:
* ids:
* - example_value
* status: Available
* outputs:
* vpcDhcpOptionsSetId1: ${ids.sets[0].id}
* vpcDhcpOptionsSetId2: ${nameRegex.sets[0].id}
* vpcDhcpOptionsSetId3: ${dhcpOptionsSetName.sets[0].id}
* vpcDhcpOptionsSetId4: ${domainName.sets[0].id}
* vpcDhcpOptionsSetId5: ${status.sets[0].id}
* ```
*
* @param argument A collection of arguments for invoking getDhcpOptionsSets.
* @return A collection of values returned by getDhcpOptionsSets.
*/
public suspend fun getDhcpOptionsSets(argument: GetDhcpOptionsSetsPlainArgs): GetDhcpOptionsSetsResult =
getDhcpOptionsSetsResultToKotlin(getDhcpOptionsSetsPlain(argument.toJava()).await())
/**
* @see [getDhcpOptionsSets].
* @param dhcpOptionsSetName The name of the DHCP options set.The name must be 2 to 128 characters in length and can contain letters, Chinese characters, digits, underscores (_), and hyphens (-). It must start with a letter or a Chinese character.
* @param domainName The root domain, for example, example.com. After a DHCP options set is associated with a Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS instances in the VPC network.
* @param ids A list of Dhcp Options Set IDs.
* @param nameRegex A regex string to filter results by Dhcp Options Set name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the DHCP options set. Valid values: `Available`, `InUse` or `Pending`. `Available`: The DHCP options set is available for use. `InUse`: The DHCP options set is in use. `Pending`: The DHCP options set is being configured.
* @return A collection of values returned by getDhcpOptionsSets.
*/
public suspend fun getDhcpOptionsSets(
dhcpOptionsSetName: String? = null,
domainName: String? = null,
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
status: String? = null,
): GetDhcpOptionsSetsResult {
val argument = GetDhcpOptionsSetsPlainArgs(
dhcpOptionsSetName = dhcpOptionsSetName,
domainName = domainName,
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
status = status,
)
return getDhcpOptionsSetsResultToKotlin(getDhcpOptionsSetsPlain(argument.toJava()).await())
}
/**
* @see [getDhcpOptionsSets].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetDhcpOptionsSetsPlainArgs].
* @return A collection of values returned by getDhcpOptionsSets.
*/
public suspend fun getDhcpOptionsSets(argument: suspend GetDhcpOptionsSetsPlainArgsBuilder.() -> Unit): GetDhcpOptionsSetsResult {
val builder = GetDhcpOptionsSetsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getDhcpOptionsSetsResultToKotlin(getDhcpOptionsSetsPlain(builtArgument.toJava()).await())
}
/**
*
* @param argument A collection of arguments for invoking getEnhancedNatAvailableZones.
* @return A collection of values returned by getEnhancedNatAvailableZones.
*/
public suspend fun getEnhancedNatAvailableZones(argument: GetEnhancedNatAvailableZonesPlainArgs): GetEnhancedNatAvailableZonesResult =
getEnhancedNatAvailableZonesResultToKotlin(getEnhancedNatAvailableZonesPlain(argument.toJava()).await())
/**
* @see [getEnhancedNatAvailableZones].
* @param outputFile
* @return A collection of values returned by getEnhancedNatAvailableZones.
*/
public suspend fun getEnhancedNatAvailableZones(outputFile: String? = null): GetEnhancedNatAvailableZonesResult {
val argument = GetEnhancedNatAvailableZonesPlainArgs(
outputFile = outputFile,
)
return getEnhancedNatAvailableZonesResultToKotlin(getEnhancedNatAvailableZonesPlain(argument.toJava()).await())
}
/**
* @see [getEnhancedNatAvailableZones].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetEnhancedNatAvailableZonesPlainArgs].
* @return A collection of values returned by getEnhancedNatAvailableZones.
*/
public suspend fun getEnhancedNatAvailableZones(argument: suspend GetEnhancedNatAvailableZonesPlainArgsBuilder.() -> Unit): GetEnhancedNatAvailableZonesResult {
val builder = GetEnhancedNatAvailableZonesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getEnhancedNatAvailableZonesResultToKotlin(getEnhancedNatAvailableZonesPlain(builtArgument.toJava()).await())
}
/**
* Using this data source can open Vpc Flow Log service automatically. If the service has been opened, it will return opened.
* For information about Vpc Flow Log and how to use it, see [What is Vpc Flow Log](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-openflowlog).
* > **NOTE:** Available since v1.209.0.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const default = alicloud.vpc.getFlowLogService({
* enable: "On",
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* default = alicloud.vpc.get_flow_log_service(enable="On")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var @default = AliCloud.Vpc.GetFlowLogService.Invoke(new()
* {
* Enable = "On",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := vpc.GetFlowLogService(ctx, &vpc.GetFlowLogServiceArgs{
* Enable: pulumi.StringRef("On"),
* }, nil)
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetFlowLogServiceArgs;
* 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 default = VpcFunctions.getFlowLogService(GetFlowLogServiceArgs.builder()
* .enable("On")
* .build());
* }
* }
* ```
* ```yaml
* variables:
* default:
* fn::invoke:
* Function: alicloud:vpc:getFlowLogService
* Arguments:
* enable: On
* ```
*
* @param argument A collection of arguments for invoking getFlowLogService.
* @return A collection of values returned by getFlowLogService.
*/
public suspend fun getFlowLogService(argument: GetFlowLogServicePlainArgs): GetFlowLogServiceResult =
getFlowLogServiceResultToKotlin(getFlowLogServicePlain(argument.toJava()).await())
/**
* @see [getFlowLogService].
* @param enable Setting the value to `On` to enable the service. If has been enabled, return the result. Default value: `Off`. Valid values: `On` and `Off`.
* > **NOTE:** Setting `enable = "On"` to open the Vpc Flow Log service that means you have read and agreed the [Vpc Flow Log Terms of Service](https://help.aliyun.com/zh/vpc/support/vpc-terms-of-service). The service can not closed once it is opened.
* @return A collection of values returned by getFlowLogService.
*/
public suspend fun getFlowLogService(enable: String? = null): GetFlowLogServiceResult {
val argument = GetFlowLogServicePlainArgs(
enable = enable,
)
return getFlowLogServiceResultToKotlin(getFlowLogServicePlain(argument.toJava()).await())
}
/**
* @see [getFlowLogService].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetFlowLogServicePlainArgs].
* @return A collection of values returned by getFlowLogService.
*/
public suspend fun getFlowLogService(argument: suspend GetFlowLogServicePlainArgsBuilder.() -> Unit): GetFlowLogServiceResult {
val builder = GetFlowLogServicePlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getFlowLogServiceResultToKotlin(getFlowLogServicePlain(builtArgument.toJava()).await())
}
/**
* This data source provides a list of Forward Entries owned by an Alibaba Cloud account.
* > **NOTE:** Available in 1.37.0+.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const config = new pulumi.Config();
* const name = config.get("name") || "forward-entry-config-example-name";
* const default = alicloud.getZones({
* availableResourceCreation: "VSwitch",
* });
* const defaultNetwork = new alicloud.vpc.Network("default", {
* vpcName: name,
* cidrBlock: "172.16.0.0/12",
* });
* const defaultSwitch = new alicloud.vpc.Switch("default", {
* vpcId: defaultNetwork.id,
* cidrBlock: "172.16.0.0/21",
* zoneId: _default.then(_default => _default.zones?.[0]?.id),
* vswitchName: name,
* });
* const defaultNatGateway = new alicloud.vpc.NatGateway("default", {
* vpcId: defaultNetwork.id,
* internetChargeType: "PayByLcu",
* natGatewayName: name,
* natType: "Enhanced",
* vswitchId: defaultSwitch.id,
* });
* const defaultEipAddress = new alicloud.ecs.EipAddress("default", {addressName: name});
* const defaultEipAssociation = new alicloud.ecs.EipAssociation("default", {
* allocationId: defaultEipAddress.id,
* instanceId: defaultNatGateway.id,
* });
* const defaultForwardEntry = new alicloud.vpc.ForwardEntry("default", {
* forwardTableId: defaultNatGateway.forwardTableIds,
* externalIp: defaultEipAddress.ipAddress,
* externalPort: "80",
* ipProtocol: "tcp",
* internalIp: "172.16.0.3",
* internalPort: "8080",
* });
* const defaultGetForwardEntries = alicloud.vpc.getForwardEntriesOutput({
* forwardTableId: defaultForwardEntry.forwardTableId,
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* config = pulumi.Config()
* name = config.get("name")
* if name is None:
* name = "forward-entry-config-example-name"
* default = alicloud.get_zones(available_resource_creation="VSwitch")
* default_network = alicloud.vpc.Network("default",
* vpc_name=name,
* cidr_block="172.16.0.0/12")
* default_switch = alicloud.vpc.Switch("default",
* vpc_id=default_network.id,
* cidr_block="172.16.0.0/21",
* zone_id=default.zones[0].id,
* vswitch_name=name)
* default_nat_gateway = alicloud.vpc.NatGateway("default",
* vpc_id=default_network.id,
* internet_charge_type="PayByLcu",
* nat_gateway_name=name,
* nat_type="Enhanced",
* vswitch_id=default_switch.id)
* default_eip_address = alicloud.ecs.EipAddress("default", address_name=name)
* default_eip_association = alicloud.ecs.EipAssociation("default",
* allocation_id=default_eip_address.id,
* instance_id=default_nat_gateway.id)
* default_forward_entry = alicloud.vpc.ForwardEntry("default",
* forward_table_id=default_nat_gateway.forward_table_ids,
* external_ip=default_eip_address.ip_address,
* external_port="80",
* ip_protocol="tcp",
* internal_ip="172.16.0.3",
* internal_port="8080")
* default_get_forward_entries = alicloud.vpc.get_forward_entries_output(forward_table_id=default_forward_entry.forward_table_id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var config = new Config();
* var name = config.Get("name") ?? "forward-entry-config-example-name";
* var @default = AliCloud.GetZones.Invoke(new()
* {
* AvailableResourceCreation = "VSwitch",
* });
* var defaultNetwork = new AliCloud.Vpc.Network("default", new()
* {
* VpcName = name,
* CidrBlock = "172.16.0.0/12",
* });
* var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
* {
* VpcId = defaultNetwork.Id,
* CidrBlock = "172.16.0.0/21",
* ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
* VswitchName = name,
* });
* var defaultNatGateway = new AliCloud.Vpc.NatGateway("default", new()
* {
* VpcId = defaultNetwork.Id,
* InternetChargeType = "PayByLcu",
* NatGatewayName = name,
* NatType = "Enhanced",
* VswitchId = defaultSwitch.Id,
* });
* var defaultEipAddress = new AliCloud.Ecs.EipAddress("default", new()
* {
* AddressName = name,
* });
* var defaultEipAssociation = new AliCloud.Ecs.EipAssociation("default", new()
* {
* AllocationId = defaultEipAddress.Id,
* InstanceId = defaultNatGateway.Id,
* });
* var defaultForwardEntry = new AliCloud.Vpc.ForwardEntry("default", new()
* {
* ForwardTableId = defaultNatGateway.ForwardTableIds,
* ExternalIp = defaultEipAddress.IpAddress,
* ExternalPort = "80",
* IpProtocol = "tcp",
* InternalIp = "172.16.0.3",
* InternalPort = "8080",
* });
* var defaultGetForwardEntries = AliCloud.Vpc.GetForwardEntries.Invoke(new()
* {
* ForwardTableId = defaultForwardEntry.ForwardTableId,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "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, "")
* name := "forward-entry-config-example-name"
* if param := cfg.Get("name"); param != "" {
* name = param
* }
* _default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
* AvailableResourceCreation: pulumi.StringRef("VSwitch"),
* }, nil)
* if err != nil {
* return err
* }
* defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
* VpcName: pulumi.String(name),
* CidrBlock: pulumi.String("172.16.0.0/12"),
* })
* if err != nil {
* return err
* }
* defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
* VpcId: defaultNetwork.ID(),
* CidrBlock: pulumi.String("172.16.0.0/21"),
* ZoneId: pulumi.String(_default.Zones[0].Id),
* VswitchName: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* defaultNatGateway, err := vpc.NewNatGateway(ctx, "default", &vpc.NatGatewayArgs{
* VpcId: defaultNetwork.ID(),
* InternetChargeType: pulumi.String("PayByLcu"),
* NatGatewayName: pulumi.String(name),
* NatType: pulumi.String("Enhanced"),
* VswitchId: defaultSwitch.ID(),
* })
* if err != nil {
* return err
* }
* defaultEipAddress, err := ecs.NewEipAddress(ctx, "default", &ecs.EipAddressArgs{
* AddressName: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* _, err = ecs.NewEipAssociation(ctx, "default", &ecs.EipAssociationArgs{
* AllocationId: defaultEipAddress.ID(),
* InstanceId: defaultNatGateway.ID(),
* })
* if err != nil {
* return err
* }
* defaultForwardEntry, err := vpc.NewForwardEntry(ctx, "default", &vpc.ForwardEntryArgs{
* ForwardTableId: defaultNatGateway.ForwardTableIds,
* ExternalIp: defaultEipAddress.IpAddress,
* ExternalPort: pulumi.String("80"),
* IpProtocol: pulumi.String("tcp"),
* InternalIp: pulumi.String("172.16.0.3"),
* InternalPort: pulumi.String("8080"),
* })
* if err != nil {
* return err
* }
* _ = vpc.GetForwardEntriesOutput(ctx, vpc.GetForwardEntriesOutputArgs{
* ForwardTableId: defaultForwardEntry.ForwardTableId,
* }, nil)
* return nil
* })
* }
* ```
* ```java
* 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.vpc.NatGateway;
* import com.pulumi.alicloud.vpc.NatGatewayArgs;
* import com.pulumi.alicloud.ecs.EipAddress;
* import com.pulumi.alicloud.ecs.EipAddressArgs;
* import com.pulumi.alicloud.ecs.EipAssociation;
* import com.pulumi.alicloud.ecs.EipAssociationArgs;
* import com.pulumi.alicloud.vpc.ForwardEntry;
* import com.pulumi.alicloud.vpc.ForwardEntryArgs;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetForwardEntriesArgs;
* 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("forward-entry-config-example-name");
* final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
* .availableResourceCreation("VSwitch")
* .build());
* var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
* .vpcName(name)
* .cidrBlock("172.16.0.0/12")
* .build());
* var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
* .vpcId(defaultNetwork.id())
* .cidrBlock("172.16.0.0/21")
* .zoneId(default_.zones()[0].id())
* .vswitchName(name)
* .build());
* var defaultNatGateway = new NatGateway("defaultNatGateway", NatGatewayArgs.builder()
* .vpcId(defaultNetwork.id())
* .internetChargeType("PayByLcu")
* .natGatewayName(name)
* .natType("Enhanced")
* .vswitchId(defaultSwitch.id())
* .build());
* var defaultEipAddress = new EipAddress("defaultEipAddress", EipAddressArgs.builder()
* .addressName(name)
* .build());
* var defaultEipAssociation = new EipAssociation("defaultEipAssociation", EipAssociationArgs.builder()
* .allocationId(defaultEipAddress.id())
* .instanceId(defaultNatGateway.id())
* .build());
* var defaultForwardEntry = new ForwardEntry("defaultForwardEntry", ForwardEntryArgs.builder()
* .forwardTableId(defaultNatGateway.forwardTableIds())
* .externalIp(defaultEipAddress.ipAddress())
* .externalPort("80")
* .ipProtocol("tcp")
* .internalIp("172.16.0.3")
* .internalPort("8080")
* .build());
* final var defaultGetForwardEntries = VpcFunctions.getForwardEntries(GetForwardEntriesArgs.builder()
* .forwardTableId(defaultForwardEntry.forwardTableId())
* .build());
* }
* }
* ```
* ```yaml
* configuration:
* name:
* type: string
* default: forward-entry-config-example-name
* resources:
* defaultNetwork:
* type: alicloud:vpc:Network
* name: default
* properties:
* vpcName: ${name}
* cidrBlock: 172.16.0.0/12
* defaultSwitch:
* type: alicloud:vpc:Switch
* name: default
* properties:
* vpcId: ${defaultNetwork.id}
* cidrBlock: 172.16.0.0/21
* zoneId: ${default.zones[0].id}
* vswitchName: ${name}
* defaultNatGateway:
* type: alicloud:vpc:NatGateway
* name: default
* properties:
* vpcId: ${defaultNetwork.id}
* internetChargeType: PayByLcu
* natGatewayName: ${name}
* natType: Enhanced
* vswitchId: ${defaultSwitch.id}
* defaultEipAddress:
* type: alicloud:ecs:EipAddress
* name: default
* properties:
* addressName: ${name}
* defaultEipAssociation:
* type: alicloud:ecs:EipAssociation
* name: default
* properties:
* allocationId: ${defaultEipAddress.id}
* instanceId: ${defaultNatGateway.id}
* defaultForwardEntry:
* type: alicloud:vpc:ForwardEntry
* name: default
* properties:
* forwardTableId: ${defaultNatGateway.forwardTableIds}
* externalIp: ${defaultEipAddress.ipAddress}
* externalPort: '80'
* ipProtocol: tcp
* internalIp: 172.16.0.3
* internalPort: '8080'
* variables:
* default:
* fn::invoke:
* Function: alicloud:getZones
* Arguments:
* availableResourceCreation: VSwitch
* defaultGetForwardEntries:
* fn::invoke:
* Function: alicloud:vpc:getForwardEntries
* Arguments:
* forwardTableId: ${defaultForwardEntry.forwardTableId}
* ```
*
* @param argument A collection of arguments for invoking getForwardEntries.
* @return A collection of values returned by getForwardEntries.
*/
public suspend fun getForwardEntries(argument: GetForwardEntriesPlainArgs): GetForwardEntriesResult =
getForwardEntriesResultToKotlin(getForwardEntriesPlain(argument.toJava()).await())
/**
* @see [getForwardEntries].
* @param externalIp The public IP address.
* @param externalPort The public port.
* @param forwardEntryName The name of forward entry.
* @param forwardTableId The ID of the Forward table.
* @param ids A list of Forward Entries IDs.
* @param internalIp The private IP address.
* @param internalPort The internal port.
* @param ipProtocol The ip protocol. Valid values: `any`,`tcp` and `udp`.
* @param nameRegex A regex string to filter results by forward entry name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of farward entry. Valid value `Available`, `Deleting` and `Pending`.
* @return A collection of values returned by getForwardEntries.
*/
public suspend fun getForwardEntries(
externalIp: String? = null,
externalPort: String? = null,
forwardEntryName: String? = null,
forwardTableId: String,
ids: List? = null,
internalIp: String? = null,
internalPort: String? = null,
ipProtocol: String? = null,
nameRegex: String? = null,
outputFile: String? = null,
status: String? = null,
): GetForwardEntriesResult {
val argument = GetForwardEntriesPlainArgs(
externalIp = externalIp,
externalPort = externalPort,
forwardEntryName = forwardEntryName,
forwardTableId = forwardTableId,
ids = ids,
internalIp = internalIp,
internalPort = internalPort,
ipProtocol = ipProtocol,
nameRegex = nameRegex,
outputFile = outputFile,
status = status,
)
return getForwardEntriesResultToKotlin(getForwardEntriesPlain(argument.toJava()).await())
}
/**
* @see [getForwardEntries].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetForwardEntriesPlainArgs].
* @return A collection of values returned by getForwardEntries.
*/
public suspend fun getForwardEntries(argument: suspend GetForwardEntriesPlainArgsBuilder.() -> Unit): GetForwardEntriesResult {
val builder = GetForwardEntriesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getForwardEntriesResultToKotlin(getForwardEntriesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Havips of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.120.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const example = alicloud.vpc.getHavips({
* ids: ["example_value"],
* nameRegex: "the_resource_name",
* });
* export const firstHavipId = example.then(example => example.havips?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* example = alicloud.vpc.get_havips(ids=["example_value"],
* name_regex="the_resource_name")
* pulumi.export("firstHavipId", example.havips[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var example = AliCloud.Vpc.GetHavips.Invoke(new()
* {
* Ids = new[]
* {
* "example_value",
* },
* NameRegex = "the_resource_name",
* });
* return new Dictionary
* {
* ["firstHavipId"] = example.Apply(getHavipsResult => getHavipsResult.Havips[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := vpc.GetHavips(ctx, &vpc.GetHavipsArgs{
* Ids: []string{
* "example_value",
* },
* NameRegex: pulumi.StringRef("the_resource_name"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("firstHavipId", example.Havips[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetHavipsArgs;
* 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 example = VpcFunctions.getHavips(GetHavipsArgs.builder()
* .ids("example_value")
* .nameRegex("the_resource_name")
* .build());
* ctx.export("firstHavipId", example.applyValue(getHavipsResult -> getHavipsResult.havips()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* example:
* fn::invoke:
* Function: alicloud:vpc:getHavips
* Arguments:
* ids:
* - example_value
* nameRegex: the_resource_name
* outputs:
* firstHavipId: ${example.havips[0].id}
* ```
*
* @param argument A collection of arguments for invoking getHavips.
* @return A collection of values returned by getHavips.
*/
public suspend fun getHavips(argument: GetHavipsPlainArgs): GetHavipsResult =
getHavipsResultToKotlin(getHavipsPlain(argument.toJava()).await())
/**
* @see [getHavips].
* @param ids A list of Ha Vip IDs.
* @param nameRegex A regex string to filter results by Ha Vip name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of HaVip instance. Valid value: `Available`, `InUse` and `Pending`.
* @return A collection of values returned by getHavips.
*/
public suspend fun getHavips(
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
status: String? = null,
): GetHavipsResult {
val argument = GetHavipsPlainArgs(
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
status = status,
)
return getHavipsResultToKotlin(getHavipsPlain(argument.toJava()).await())
}
/**
* @see [getHavips].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetHavipsPlainArgs].
* @return A collection of values returned by getHavips.
*/
public suspend fun getHavips(argument: suspend GetHavipsPlainArgsBuilder.() -> Unit): GetHavipsResult {
val builder = GetHavipsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getHavipsResultToKotlin(getHavipsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpn Ipsec Servers of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.161.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getIpsecServers({
* ids: ["example_id"],
* });
* export const vpnIpsecServerId1 = ids.then(ids => ids.servers?.[0]?.id);
* const nameRegex = alicloud.vpc.getIpsecServers({
* nameRegex: "^my-IpsecServer",
* });
* export const vpnIpsecServerId2 = nameRegex.then(nameRegex => nameRegex.servers?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_ipsec_servers(ids=["example_id"])
* pulumi.export("vpnIpsecServerId1", ids.servers[0].id)
* name_regex = alicloud.vpc.get_ipsec_servers(name_regex="^my-IpsecServer")
* pulumi.export("vpnIpsecServerId2", name_regex.servers[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetIpsecServers.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* });
* var nameRegex = AliCloud.Vpc.GetIpsecServers.Invoke(new()
* {
* NameRegex = "^my-IpsecServer",
* });
* return new Dictionary
* {
* ["vpnIpsecServerId1"] = ids.Apply(getIpsecServersResult => getIpsecServersResult.Servers[0]?.Id),
* ["vpnIpsecServerId2"] = nameRegex.Apply(getIpsecServersResult => getIpsecServersResult.Servers[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetIpsecServers(ctx, &vpc.GetIpsecServersArgs{
* Ids: []string{
* "example_id",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpnIpsecServerId1", ids.Servers[0].Id)
* nameRegex, err := vpc.GetIpsecServers(ctx, &vpc.GetIpsecServersArgs{
* NameRegex: pulumi.StringRef("^my-IpsecServer"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpnIpsecServerId2", nameRegex.Servers[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetIpsecServersArgs;
* 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 ids = VpcFunctions.getIpsecServers(GetIpsecServersArgs.builder()
* .ids("example_id")
* .build());
* ctx.export("vpnIpsecServerId1", ids.applyValue(getIpsecServersResult -> getIpsecServersResult.servers()[0].id()));
* final var nameRegex = VpcFunctions.getIpsecServers(GetIpsecServersArgs.builder()
* .nameRegex("^my-IpsecServer")
* .build());
* ctx.export("vpnIpsecServerId2", nameRegex.applyValue(getIpsecServersResult -> getIpsecServersResult.servers()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getIpsecServers
* Arguments:
* ids:
* - example_id
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getIpsecServers
* Arguments:
* nameRegex: ^my-IpsecServer
* outputs:
* vpnIpsecServerId1: ${ids.servers[0].id}
* vpnIpsecServerId2: ${nameRegex.servers[0].id}
* ```
*
* @param argument A collection of arguments for invoking getIpsecServers.
* @return A collection of values returned by getIpsecServers.
*/
public suspend fun getIpsecServers(argument: GetIpsecServersPlainArgs): GetIpsecServersResult =
getIpsecServersResultToKotlin(getIpsecServersPlain(argument.toJava()).await())
/**
* @see [getIpsecServers].
* @param ids A list of Ipsec Server IDs.
* @param ipsecServerName The name of the IPsec server.
* @param nameRegex A regex string to filter results by Ipsec Server name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param vpnGatewayId The ID of the VPN gateway.
* @return A collection of values returned by getIpsecServers.
*/
public suspend fun getIpsecServers(
ids: List? = null,
ipsecServerName: String? = null,
nameRegex: String? = null,
outputFile: String? = null,
vpnGatewayId: String? = null,
): GetIpsecServersResult {
val argument = GetIpsecServersPlainArgs(
ids = ids,
ipsecServerName = ipsecServerName,
nameRegex = nameRegex,
outputFile = outputFile,
vpnGatewayId = vpnGatewayId,
)
return getIpsecServersResultToKotlin(getIpsecServersPlain(argument.toJava()).await())
}
/**
* @see [getIpsecServers].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetIpsecServersPlainArgs].
* @return A collection of values returned by getIpsecServers.
*/
public suspend fun getIpsecServers(argument: suspend GetIpsecServersPlainArgsBuilder.() -> Unit): GetIpsecServersResult {
val builder = GetIpsecServersPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getIpsecServersResultToKotlin(getIpsecServersPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Ipv4 Gateways of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.181.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getIpv4Gateways({});
* export const vpcIpv4GatewayId1 = ids.then(ids => ids.gateways?.[0]?.id);
* const nameRegex = alicloud.vpc.getIpv4Gateways({
* nameRegex: "^my-Ipv4Gateway",
* });
* export const vpcIpv4GatewayId2 = nameRegex.then(nameRegex => nameRegex.gateways?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_ipv4_gateways()
* pulumi.export("vpcIpv4GatewayId1", ids.gateways[0].id)
* name_regex = alicloud.vpc.get_ipv4_gateways(name_regex="^my-Ipv4Gateway")
* pulumi.export("vpcIpv4GatewayId2", name_regex.gateways[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetIpv4Gateways.Invoke();
* var nameRegex = AliCloud.Vpc.GetIpv4Gateways.Invoke(new()
* {
* NameRegex = "^my-Ipv4Gateway",
* });
* return new Dictionary
* {
* ["vpcIpv4GatewayId1"] = ids.Apply(getIpv4GatewaysResult => getIpv4GatewaysResult.Gateways[0]?.Id),
* ["vpcIpv4GatewayId2"] = nameRegex.Apply(getIpv4GatewaysResult => getIpv4GatewaysResult.Gateways[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetIpv4Gateways(ctx, nil, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv4GatewayId1", ids.Gateways[0].Id)
* nameRegex, err := vpc.GetIpv4Gateways(ctx, &vpc.GetIpv4GatewaysArgs{
* NameRegex: pulumi.StringRef("^my-Ipv4Gateway"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv4GatewayId2", nameRegex.Gateways[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetIpv4GatewaysArgs;
* 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 ids = VpcFunctions.getIpv4Gateways();
* ctx.export("vpcIpv4GatewayId1", ids.applyValue(getIpv4GatewaysResult -> getIpv4GatewaysResult.gateways()[0].id()));
* final var nameRegex = VpcFunctions.getIpv4Gateways(GetIpv4GatewaysArgs.builder()
* .nameRegex("^my-Ipv4Gateway")
* .build());
* ctx.export("vpcIpv4GatewayId2", nameRegex.applyValue(getIpv4GatewaysResult -> getIpv4GatewaysResult.gateways()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getIpv4Gateways
* Arguments: {}
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getIpv4Gateways
* Arguments:
* nameRegex: ^my-Ipv4Gateway
* outputs:
* vpcIpv4GatewayId1: ${ids.gateways[0].id}
* vpcIpv4GatewayId2: ${nameRegex.gateways[0].id}
* ```
*
* @param argument A collection of arguments for invoking getIpv4Gateways.
* @return A collection of values returned by getIpv4Gateways.
*/
public suspend fun getIpv4Gateways(argument: GetIpv4GatewaysPlainArgs): GetIpv4GatewaysResult =
getIpv4GatewaysResultToKotlin(getIpv4GatewaysPlain(argument.toJava()).await())
/**
* @see [getIpv4Gateways].
* @param ids A list of Ipv4 Gateway IDs.
* @param ipv4GatewayName The name of the IPv4 gateway.
* @param nameRegex A regex string to filter results by Ipv4 Gateway name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the resource. Valid values: `Creating`, `Created`, `Deleting`, `Pending`, `Deleted`.
* @param vpcId The ID of the VPC associated with the IPv4 Gateway.
* @return A collection of values returned by getIpv4Gateways.
*/
public suspend fun getIpv4Gateways(
ids: List? = null,
ipv4GatewayName: String? = null,
nameRegex: String? = null,
outputFile: String? = null,
status: String? = null,
vpcId: String? = null,
): GetIpv4GatewaysResult {
val argument = GetIpv4GatewaysPlainArgs(
ids = ids,
ipv4GatewayName = ipv4GatewayName,
nameRegex = nameRegex,
outputFile = outputFile,
status = status,
vpcId = vpcId,
)
return getIpv4GatewaysResultToKotlin(getIpv4GatewaysPlain(argument.toJava()).await())
}
/**
* @see [getIpv4Gateways].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv4GatewaysPlainArgs].
* @return A collection of values returned by getIpv4Gateways.
*/
public suspend fun getIpv4Gateways(argument: suspend GetIpv4GatewaysPlainArgsBuilder.() -> Unit): GetIpv4GatewaysResult {
val builder = GetIpv4GatewaysPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getIpv4GatewaysResultToKotlin(getIpv4GatewaysPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Ipv6 Addresses of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.142.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const associatedInstanceId = alicloud.vpc.getIpv6Addresses({
* associatedInstanceId: "example_value",
* });
* export const vpcIpv6AddressId1 = associatedInstanceId.then(associatedInstanceId => associatedInstanceId.addresses?.[0]?.id);
* const vswitchId = alicloud.vpc.getIpv6Addresses({
* vswitchId: "example_value",
* });
* export const vpcIpv6AddressId2 = vswitchId.then(vswitchId => vswitchId.addresses?.[0]?.id);
* const vpcId = alicloud.vpc.getIpv6Addresses({
* vpcId: "example_value",
* });
* export const vpcIpv6AddressId3 = vpcId.then(vpcId => vpcId.addresses?.[0]?.id);
* const status = alicloud.vpc.getIpv6Addresses({
* status: "Available",
* });
* export const vpcIpv6AddressId4 = status.then(status => status.addresses?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* associated_instance_id = alicloud.vpc.get_ipv6_addresses(associated_instance_id="example_value")
* pulumi.export("vpcIpv6AddressId1", associated_instance_id.addresses[0].id)
* vswitch_id = alicloud.vpc.get_ipv6_addresses(vswitch_id="example_value")
* pulumi.export("vpcIpv6AddressId2", vswitch_id.addresses[0].id)
* vpc_id = alicloud.vpc.get_ipv6_addresses(vpc_id="example_value")
* pulumi.export("vpcIpv6AddressId3", vpc_id.addresses[0].id)
* status = alicloud.vpc.get_ipv6_addresses(status="Available")
* pulumi.export("vpcIpv6AddressId4", status.addresses[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var associatedInstanceId = AliCloud.Vpc.GetIpv6Addresses.Invoke(new()
* {
* AssociatedInstanceId = "example_value",
* });
* var vswitchId = AliCloud.Vpc.GetIpv6Addresses.Invoke(new()
* {
* VswitchId = "example_value",
* });
* var vpcId = AliCloud.Vpc.GetIpv6Addresses.Invoke(new()
* {
* VpcId = "example_value",
* });
* var status = AliCloud.Vpc.GetIpv6Addresses.Invoke(new()
* {
* Status = "Available",
* });
* return new Dictionary
* {
* ["vpcIpv6AddressId1"] = associatedInstanceId.Apply(getIpv6AddressesResult => getIpv6AddressesResult.Addresses[0]?.Id),
* ["vpcIpv6AddressId2"] = vswitchId.Apply(getIpv6AddressesResult => getIpv6AddressesResult.Addresses[0]?.Id),
* ["vpcIpv6AddressId3"] = vpcId.Apply(getIpv6AddressesResult => getIpv6AddressesResult.Addresses[0]?.Id),
* ["vpcIpv6AddressId4"] = status.Apply(getIpv6AddressesResult => getIpv6AddressesResult.Addresses[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* associatedInstanceId, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
* AssociatedInstanceId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6AddressId1", associatedInstanceId.Addresses[0].Id)
* vswitchId, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
* VswitchId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6AddressId2", vswitchId.Addresses[0].Id)
* vpcId, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
* VpcId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6AddressId3", vpcId.Addresses[0].Id)
* status, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
* Status: pulumi.StringRef("Available"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6AddressId4", status.Addresses[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetIpv6AddressesArgs;
* 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 associatedInstanceId = VpcFunctions.getIpv6Addresses(GetIpv6AddressesArgs.builder()
* .associatedInstanceId("example_value")
* .build());
* ctx.export("vpcIpv6AddressId1", associatedInstanceId.applyValue(getIpv6AddressesResult -> getIpv6AddressesResult.addresses()[0].id()));
* final var vswitchId = VpcFunctions.getIpv6Addresses(GetIpv6AddressesArgs.builder()
* .vswitchId("example_value")
* .build());
* ctx.export("vpcIpv6AddressId2", vswitchId.applyValue(getIpv6AddressesResult -> getIpv6AddressesResult.addresses()[0].id()));
* final var vpcId = VpcFunctions.getIpv6Addresses(GetIpv6AddressesArgs.builder()
* .vpcId("example_value")
* .build());
* ctx.export("vpcIpv6AddressId3", vpcId.applyValue(getIpv6AddressesResult -> getIpv6AddressesResult.addresses()[0].id()));
* final var status = VpcFunctions.getIpv6Addresses(GetIpv6AddressesArgs.builder()
* .status("Available")
* .build());
* ctx.export("vpcIpv6AddressId4", status.applyValue(getIpv6AddressesResult -> getIpv6AddressesResult.addresses()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* associatedInstanceId:
* fn::invoke:
* Function: alicloud:vpc:getIpv6Addresses
* Arguments:
* associatedInstanceId: example_value
* vswitchId:
* fn::invoke:
* Function: alicloud:vpc:getIpv6Addresses
* Arguments:
* vswitchId: example_value
* vpcId:
* fn::invoke:
* Function: alicloud:vpc:getIpv6Addresses
* Arguments:
* vpcId: example_value
* status:
* fn::invoke:
* Function: alicloud:vpc:getIpv6Addresses
* Arguments:
* status: Available
* outputs:
* vpcIpv6AddressId1: ${associatedInstanceId.addresses[0].id}
* vpcIpv6AddressId2: ${vswitchId.addresses[0].id}
* vpcIpv6AddressId3: ${vpcId.addresses[0].id}
* vpcIpv6AddressId4: ${status.addresses[0].id}
* ```
*
* @param argument A collection of arguments for invoking getIpv6Addresses.
* @return A collection of values returned by getIpv6Addresses.
*/
public suspend fun getIpv6Addresses(argument: GetIpv6AddressesPlainArgs): GetIpv6AddressesResult =
getIpv6AddressesResultToKotlin(getIpv6AddressesPlain(argument.toJava()).await())
/**
* @see [getIpv6Addresses].
* @param associatedInstanceId The ID of the instance that is assigned the IPv6 address.
* @param ids
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the IPv6 address. Valid values:`Pending` or `Available`.
* - `Pending`: The IPv6 address is being configured.
* - `Available`: The IPv6 address is available.
* @param vpcId The ID of the VPC to which the IPv6 address belongs.
* @param vswitchId The ID of the vSwitch to which the IPv6 address belongs.
* @return A collection of values returned by getIpv6Addresses.
*/
public suspend fun getIpv6Addresses(
associatedInstanceId: String? = null,
ids: List? = null,
outputFile: String? = null,
status: String? = null,
vpcId: String? = null,
vswitchId: String? = null,
): GetIpv6AddressesResult {
val argument = GetIpv6AddressesPlainArgs(
associatedInstanceId = associatedInstanceId,
ids = ids,
outputFile = outputFile,
status = status,
vpcId = vpcId,
vswitchId = vswitchId,
)
return getIpv6AddressesResultToKotlin(getIpv6AddressesPlain(argument.toJava()).await())
}
/**
* @see [getIpv6Addresses].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6AddressesPlainArgs].
* @return A collection of values returned by getIpv6Addresses.
*/
public suspend fun getIpv6Addresses(argument: suspend GetIpv6AddressesPlainArgsBuilder.() -> Unit): GetIpv6AddressesResult {
val builder = GetIpv6AddressesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getIpv6AddressesResultToKotlin(getIpv6AddressesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Ipv6 Egress Rules of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.142.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getIpv6EgressRules({
* ipv6GatewayId: "example_value",
* ids: [
* "example_value-1",
* "example_value-2",
* ],
* });
* export const vpcIpv6EgressRuleId1 = ids.then(ids => ids.rules?.[0]?.id);
* const nameRegex = alicloud.vpc.getIpv6EgressRules({
* ipv6GatewayId: "example_value",
* nameRegex: "^my-Ipv6EgressRule",
* });
* export const vpcIpv6EgressRuleId2 = nameRegex.then(nameRegex => nameRegex.rules?.[0]?.id);
* const status = alicloud.vpc.getIpv6EgressRules({
* ipv6GatewayId: "example_value",
* status: "Available",
* });
* export const vpcIpv6EgressRuleId3 = status.then(status => status.rules?.[0]?.id);
* const ipv6EgressRuleName = alicloud.vpc.getIpv6EgressRules({
* ipv6GatewayId: "example_value",
* ipv6EgressRuleName: "example_value",
* });
* export const vpcIpv6EgressRuleId4 = ipv6EgressRuleName.then(ipv6EgressRuleName => ipv6EgressRuleName.rules?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_ipv6_egress_rules(ipv6_gateway_id="example_value",
* ids=[
* "example_value-1",
* "example_value-2",
* ])
* pulumi.export("vpcIpv6EgressRuleId1", ids.rules[0].id)
* name_regex = alicloud.vpc.get_ipv6_egress_rules(ipv6_gateway_id="example_value",
* name_regex="^my-Ipv6EgressRule")
* pulumi.export("vpcIpv6EgressRuleId2", name_regex.rules[0].id)
* status = alicloud.vpc.get_ipv6_egress_rules(ipv6_gateway_id="example_value",
* status="Available")
* pulumi.export("vpcIpv6EgressRuleId3", status.rules[0].id)
* ipv6_egress_rule_name = alicloud.vpc.get_ipv6_egress_rules(ipv6_gateway_id="example_value",
* ipv6_egress_rule_name="example_value")
* pulumi.export("vpcIpv6EgressRuleId4", ipv6_egress_rule_name.rules[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetIpv6EgressRules.Invoke(new()
* {
* Ipv6GatewayId = "example_value",
* Ids = new[]
* {
* "example_value-1",
* "example_value-2",
* },
* });
* var nameRegex = AliCloud.Vpc.GetIpv6EgressRules.Invoke(new()
* {
* Ipv6GatewayId = "example_value",
* NameRegex = "^my-Ipv6EgressRule",
* });
* var status = AliCloud.Vpc.GetIpv6EgressRules.Invoke(new()
* {
* Ipv6GatewayId = "example_value",
* Status = "Available",
* });
* var ipv6EgressRuleName = AliCloud.Vpc.GetIpv6EgressRules.Invoke(new()
* {
* Ipv6GatewayId = "example_value",
* Ipv6EgressRuleName = "example_value",
* });
* return new Dictionary
* {
* ["vpcIpv6EgressRuleId1"] = ids.Apply(getIpv6EgressRulesResult => getIpv6EgressRulesResult.Rules[0]?.Id),
* ["vpcIpv6EgressRuleId2"] = nameRegex.Apply(getIpv6EgressRulesResult => getIpv6EgressRulesResult.Rules[0]?.Id),
* ["vpcIpv6EgressRuleId3"] = status.Apply(getIpv6EgressRulesResult => getIpv6EgressRulesResult.Rules[0]?.Id),
* ["vpcIpv6EgressRuleId4"] = ipv6EgressRuleName.Apply(getIpv6EgressRulesResult => getIpv6EgressRulesResult.Rules[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetIpv6EgressRules(ctx, &vpc.GetIpv6EgressRulesArgs{
* Ipv6GatewayId: "example_value",
* Ids: []string{
* "example_value-1",
* "example_value-2",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6EgressRuleId1", ids.Rules[0].Id)
* nameRegex, err := vpc.GetIpv6EgressRules(ctx, &vpc.GetIpv6EgressRulesArgs{
* Ipv6GatewayId: "example_value",
* NameRegex: pulumi.StringRef("^my-Ipv6EgressRule"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6EgressRuleId2", nameRegex.Rules[0].Id)
* status, err := vpc.GetIpv6EgressRules(ctx, &vpc.GetIpv6EgressRulesArgs{
* Ipv6GatewayId: "example_value",
* Status: pulumi.StringRef("Available"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6EgressRuleId3", status.Rules[0].Id)
* ipv6EgressRuleName, err := vpc.GetIpv6EgressRules(ctx, &vpc.GetIpv6EgressRulesArgs{
* Ipv6GatewayId: "example_value",
* Ipv6EgressRuleName: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6EgressRuleId4", ipv6EgressRuleName.Rules[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetIpv6EgressRulesArgs;
* 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 ids = VpcFunctions.getIpv6EgressRules(GetIpv6EgressRulesArgs.builder()
* .ipv6GatewayId("example_value")
* .ids(
* "example_value-1",
* "example_value-2")
* .build());
* ctx.export("vpcIpv6EgressRuleId1", ids.applyValue(getIpv6EgressRulesResult -> getIpv6EgressRulesResult.rules()[0].id()));
* final var nameRegex = VpcFunctions.getIpv6EgressRules(GetIpv6EgressRulesArgs.builder()
* .ipv6GatewayId("example_value")
* .nameRegex("^my-Ipv6EgressRule")
* .build());
* ctx.export("vpcIpv6EgressRuleId2", nameRegex.applyValue(getIpv6EgressRulesResult -> getIpv6EgressRulesResult.rules()[0].id()));
* final var status = VpcFunctions.getIpv6EgressRules(GetIpv6EgressRulesArgs.builder()
* .ipv6GatewayId("example_value")
* .status("Available")
* .build());
* ctx.export("vpcIpv6EgressRuleId3", status.applyValue(getIpv6EgressRulesResult -> getIpv6EgressRulesResult.rules()[0].id()));
* final var ipv6EgressRuleName = VpcFunctions.getIpv6EgressRules(GetIpv6EgressRulesArgs.builder()
* .ipv6GatewayId("example_value")
* .ipv6EgressRuleName("example_value")
* .build());
* ctx.export("vpcIpv6EgressRuleId4", ipv6EgressRuleName.applyValue(getIpv6EgressRulesResult -> getIpv6EgressRulesResult.rules()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getIpv6EgressRules
* Arguments:
* ipv6GatewayId: example_value
* ids:
* - example_value-1
* - example_value-2
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getIpv6EgressRules
* Arguments:
* ipv6GatewayId: example_value
* nameRegex: ^my-Ipv6EgressRule
* status:
* fn::invoke:
* Function: alicloud:vpc:getIpv6EgressRules
* Arguments:
* ipv6GatewayId: example_value
* status: Available
* ipv6EgressRuleName:
* fn::invoke:
* Function: alicloud:vpc:getIpv6EgressRules
* Arguments:
* ipv6GatewayId: example_value
* ipv6EgressRuleName: example_value
* outputs:
* vpcIpv6EgressRuleId1: ${ids.rules[0].id}
* vpcIpv6EgressRuleId2: ${nameRegex.rules[0].id}
* vpcIpv6EgressRuleId3: ${status.rules[0].id}
* vpcIpv6EgressRuleId4: ${ipv6EgressRuleName.rules[0].id}
* ```
*
* @param argument A collection of arguments for invoking getIpv6EgressRules.
* @return A collection of values returned by getIpv6EgressRules.
*/
public suspend fun getIpv6EgressRules(argument: GetIpv6EgressRulesPlainArgs): GetIpv6EgressRulesResult =
getIpv6EgressRulesResultToKotlin(getIpv6EgressRulesPlain(argument.toJava()).await())
/**
* @see [getIpv6EgressRules].
* @param ids A list of Ipv6 Egress Rule IDs.
* @param instanceId The ID of the instance that is associated with the IPv6 address to which the egress-only rule is applied.
* @param ipv6EgressRuleName The name of the resource.
* @param ipv6GatewayId The ID of the IPv6 gateway.
* @param nameRegex A regex string to filter results by Ipv6 Egress Rule name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the resource. Valid values: `Available`, `Deleting`, `Pending`.
* @return A collection of values returned by getIpv6EgressRules.
*/
public suspend fun getIpv6EgressRules(
ids: List? = null,
instanceId: String? = null,
ipv6EgressRuleName: String? = null,
ipv6GatewayId: String,
nameRegex: String? = null,
outputFile: String? = null,
status: String? = null,
): GetIpv6EgressRulesResult {
val argument = GetIpv6EgressRulesPlainArgs(
ids = ids,
instanceId = instanceId,
ipv6EgressRuleName = ipv6EgressRuleName,
ipv6GatewayId = ipv6GatewayId,
nameRegex = nameRegex,
outputFile = outputFile,
status = status,
)
return getIpv6EgressRulesResultToKotlin(getIpv6EgressRulesPlain(argument.toJava()).await())
}
/**
* @see [getIpv6EgressRules].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6EgressRulesPlainArgs].
* @return A collection of values returned by getIpv6EgressRules.
*/
public suspend fun getIpv6EgressRules(argument: suspend GetIpv6EgressRulesPlainArgsBuilder.() -> Unit): GetIpv6EgressRulesResult {
val builder = GetIpv6EgressRulesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getIpv6EgressRulesResultToKotlin(getIpv6EgressRulesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Ipv6 Gateways of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.142.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getIpv6Gateways({
* ids: ["example_id"],
* });
* export const vpcIpv6GatewayId1 = ids.then(ids => ids.gateways?.[0]?.id);
* const nameRegex = alicloud.vpc.getIpv6Gateways({
* nameRegex: "^my-Ipv6Gateway",
* });
* export const vpcIpv6GatewayId2 = nameRegex.then(nameRegex => nameRegex.gateways?.[0]?.id);
* const vpcId = alicloud.vpc.getIpv6Gateways({
* ids: ["example_id"],
* vpcId: "example_value",
* });
* export const vpcIpv6GatewayId3 = vpcId.then(vpcId => vpcId.gateways?.[0]?.id);
* const status = alicloud.vpc.getIpv6Gateways({
* ids: ["example_id"],
* status: "Available",
* });
* export const vpcIpv6GatewayId4 = status.then(status => status.gateways?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_ipv6_gateways(ids=["example_id"])
* pulumi.export("vpcIpv6GatewayId1", ids.gateways[0].id)
* name_regex = alicloud.vpc.get_ipv6_gateways(name_regex="^my-Ipv6Gateway")
* pulumi.export("vpcIpv6GatewayId2", name_regex.gateways[0].id)
* vpc_id = alicloud.vpc.get_ipv6_gateways(ids=["example_id"],
* vpc_id="example_value")
* pulumi.export("vpcIpv6GatewayId3", vpc_id.gateways[0].id)
* status = alicloud.vpc.get_ipv6_gateways(ids=["example_id"],
* status="Available")
* pulumi.export("vpcIpv6GatewayId4", status.gateways[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetIpv6Gateways.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* });
* var nameRegex = AliCloud.Vpc.GetIpv6Gateways.Invoke(new()
* {
* NameRegex = "^my-Ipv6Gateway",
* });
* var vpcId = AliCloud.Vpc.GetIpv6Gateways.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* VpcId = "example_value",
* });
* var status = AliCloud.Vpc.GetIpv6Gateways.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* Status = "Available",
* });
* return new Dictionary
* {
* ["vpcIpv6GatewayId1"] = ids.Apply(getIpv6GatewaysResult => getIpv6GatewaysResult.Gateways[0]?.Id),
* ["vpcIpv6GatewayId2"] = nameRegex.Apply(getIpv6GatewaysResult => getIpv6GatewaysResult.Gateways[0]?.Id),
* ["vpcIpv6GatewayId3"] = vpcId.Apply(getIpv6GatewaysResult => getIpv6GatewaysResult.Gateways[0]?.Id),
* ["vpcIpv6GatewayId4"] = status.Apply(getIpv6GatewaysResult => getIpv6GatewaysResult.Gateways[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetIpv6Gateways(ctx, &vpc.GetIpv6GatewaysArgs{
* Ids: []string{
* "example_id",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6GatewayId1", ids.Gateways[0].Id)
* nameRegex, err := vpc.GetIpv6Gateways(ctx, &vpc.GetIpv6GatewaysArgs{
* NameRegex: pulumi.StringRef("^my-Ipv6Gateway"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6GatewayId2", nameRegex.Gateways[0].Id)
* vpcId, err := vpc.GetIpv6Gateways(ctx, &vpc.GetIpv6GatewaysArgs{
* Ids: []string{
* "example_id",
* },
* VpcId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6GatewayId3", vpcId.Gateways[0].Id)
* status, err := vpc.GetIpv6Gateways(ctx, &vpc.GetIpv6GatewaysArgs{
* Ids: []string{
* "example_id",
* },
* Status: pulumi.StringRef("Available"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6GatewayId4", status.Gateways[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetIpv6GatewaysArgs;
* 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 ids = VpcFunctions.getIpv6Gateways(GetIpv6GatewaysArgs.builder()
* .ids("example_id")
* .build());
* ctx.export("vpcIpv6GatewayId1", ids.applyValue(getIpv6GatewaysResult -> getIpv6GatewaysResult.gateways()[0].id()));
* final var nameRegex = VpcFunctions.getIpv6Gateways(GetIpv6GatewaysArgs.builder()
* .nameRegex("^my-Ipv6Gateway")
* .build());
* ctx.export("vpcIpv6GatewayId2", nameRegex.applyValue(getIpv6GatewaysResult -> getIpv6GatewaysResult.gateways()[0].id()));
* final var vpcId = VpcFunctions.getIpv6Gateways(GetIpv6GatewaysArgs.builder()
* .ids("example_id")
* .vpcId("example_value")
* .build());
* ctx.export("vpcIpv6GatewayId3", vpcId.applyValue(getIpv6GatewaysResult -> getIpv6GatewaysResult.gateways()[0].id()));
* final var status = VpcFunctions.getIpv6Gateways(GetIpv6GatewaysArgs.builder()
* .ids("example_id")
* .status("Available")
* .build());
* ctx.export("vpcIpv6GatewayId4", status.applyValue(getIpv6GatewaysResult -> getIpv6GatewaysResult.gateways()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getIpv6Gateways
* Arguments:
* ids:
* - example_id
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getIpv6Gateways
* Arguments:
* nameRegex: ^my-Ipv6Gateway
* vpcId:
* fn::invoke:
* Function: alicloud:vpc:getIpv6Gateways
* Arguments:
* ids:
* - example_id
* vpcId: example_value
* status:
* fn::invoke:
* Function: alicloud:vpc:getIpv6Gateways
* Arguments:
* ids:
* - example_id
* status: Available
* outputs:
* vpcIpv6GatewayId1: ${ids.gateways[0].id}
* vpcIpv6GatewayId2: ${nameRegex.gateways[0].id}
* vpcIpv6GatewayId3: ${vpcId.gateways[0].id}
* vpcIpv6GatewayId4: ${status.gateways[0].id}
* ```
*
* @param argument A collection of arguments for invoking getIpv6Gateways.
* @return A collection of values returned by getIpv6Gateways.
*/
public suspend fun getIpv6Gateways(argument: GetIpv6GatewaysPlainArgs): GetIpv6GatewaysResult =
getIpv6GatewaysResultToKotlin(getIpv6GatewaysPlain(argument.toJava()).await())
/**
* @see [getIpv6Gateways].
* @param ids A list of Ipv6 Gateway IDs.
* @param ipv6GatewayName The name of the IPv6 gateway.
* @param nameRegex A regex string to filter results by Ipv6 Gateway name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the resource. Valid values: `Available`, `Deleting`, `Pending`.
* @param vpcId The ID of the virtual private cloud (VPC) to which the IPv6 gateway belongs.
* @return A collection of values returned by getIpv6Gateways.
*/
public suspend fun getIpv6Gateways(
ids: List? = null,
ipv6GatewayName: String? = null,
nameRegex: String? = null,
outputFile: String? = null,
status: String? = null,
vpcId: String? = null,
): GetIpv6GatewaysResult {
val argument = GetIpv6GatewaysPlainArgs(
ids = ids,
ipv6GatewayName = ipv6GatewayName,
nameRegex = nameRegex,
outputFile = outputFile,
status = status,
vpcId = vpcId,
)
return getIpv6GatewaysResultToKotlin(getIpv6GatewaysPlain(argument.toJava()).await())
}
/**
* @see [getIpv6Gateways].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6GatewaysPlainArgs].
* @return A collection of values returned by getIpv6Gateways.
*/
public suspend fun getIpv6Gateways(argument: suspend GetIpv6GatewaysPlainArgsBuilder.() -> Unit): GetIpv6GatewaysResult {
val builder = GetIpv6GatewaysPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getIpv6GatewaysResultToKotlin(getIpv6GatewaysPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Ipv6 Internet Bandwidths of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.143.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getIpv6InternetBandwidths({
* ids: ["example_id"],
* });
* export const vpcIpv6InternetBandwidthId1 = ids.then(ids => ids.bandwidths?.[0]?.id);
* const ipv6InternetBandwidthId = alicloud.vpc.getIpv6InternetBandwidths({
* ipv6InternetBandwidthId: "example_value",
* });
* export const vpcIpv6InternetBandwidthId2 = ipv6InternetBandwidthId.then(ipv6InternetBandwidthId => ipv6InternetBandwidthId.bandwidths?.[0]?.id);
* const ipv6AddressId = alicloud.vpc.getIpv6InternetBandwidths({
* ipv6AddressId: "example_value",
* });
* export const vpcIpv6InternetBandwidthId3 = ipv6AddressId.then(ipv6AddressId => ipv6AddressId.bandwidths?.[0]?.id);
* const status = alicloud.vpc.getIpv6InternetBandwidths({
* status: "Normal",
* });
* export const vpcIpv6InternetBandwidthId4 = status.then(status => status.bandwidths?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_ipv6_internet_bandwidths(ids=["example_id"])
* pulumi.export("vpcIpv6InternetBandwidthId1", ids.bandwidths[0].id)
* ipv6_internet_bandwidth_id = alicloud.vpc.get_ipv6_internet_bandwidths(ipv6_internet_bandwidth_id="example_value")
* pulumi.export("vpcIpv6InternetBandwidthId2", ipv6_internet_bandwidth_id.bandwidths[0].id)
* ipv6_address_id = alicloud.vpc.get_ipv6_internet_bandwidths(ipv6_address_id="example_value")
* pulumi.export("vpcIpv6InternetBandwidthId3", ipv6_address_id.bandwidths[0].id)
* status = alicloud.vpc.get_ipv6_internet_bandwidths(status="Normal")
* pulumi.export("vpcIpv6InternetBandwidthId4", status.bandwidths[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetIpv6InternetBandwidths.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* });
* var ipv6InternetBandwidthId = AliCloud.Vpc.GetIpv6InternetBandwidths.Invoke(new()
* {
* Ipv6InternetBandwidthId = "example_value",
* });
* var ipv6AddressId = AliCloud.Vpc.GetIpv6InternetBandwidths.Invoke(new()
* {
* Ipv6AddressId = "example_value",
* });
* var status = AliCloud.Vpc.GetIpv6InternetBandwidths.Invoke(new()
* {
* Status = "Normal",
* });
* return new Dictionary
* {
* ["vpcIpv6InternetBandwidthId1"] = ids.Apply(getIpv6InternetBandwidthsResult => getIpv6InternetBandwidthsResult.Bandwidths[0]?.Id),
* ["vpcIpv6InternetBandwidthId2"] = ipv6InternetBandwidthId.Apply(getIpv6InternetBandwidthsResult => getIpv6InternetBandwidthsResult.Bandwidths[0]?.Id),
* ["vpcIpv6InternetBandwidthId3"] = ipv6AddressId.Apply(getIpv6InternetBandwidthsResult => getIpv6InternetBandwidthsResult.Bandwidths[0]?.Id),
* ["vpcIpv6InternetBandwidthId4"] = status.Apply(getIpv6InternetBandwidthsResult => getIpv6InternetBandwidthsResult.Bandwidths[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetIpv6InternetBandwidths(ctx, &vpc.GetIpv6InternetBandwidthsArgs{
* Ids: []string{
* "example_id",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6InternetBandwidthId1", ids.Bandwidths[0].Id)
* ipv6InternetBandwidthId, err := vpc.GetIpv6InternetBandwidths(ctx, &vpc.GetIpv6InternetBandwidthsArgs{
* Ipv6InternetBandwidthId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6InternetBandwidthId2", ipv6InternetBandwidthId.Bandwidths[0].Id)
* ipv6AddressId, err := vpc.GetIpv6InternetBandwidths(ctx, &vpc.GetIpv6InternetBandwidthsArgs{
* Ipv6AddressId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6InternetBandwidthId3", ipv6AddressId.Bandwidths[0].Id)
* status, err := vpc.GetIpv6InternetBandwidths(ctx, &vpc.GetIpv6InternetBandwidthsArgs{
* Status: pulumi.StringRef("Normal"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcIpv6InternetBandwidthId4", status.Bandwidths[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetIpv6InternetBandwidthsArgs;
* 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 ids = VpcFunctions.getIpv6InternetBandwidths(GetIpv6InternetBandwidthsArgs.builder()
* .ids("example_id")
* .build());
* ctx.export("vpcIpv6InternetBandwidthId1", ids.applyValue(getIpv6InternetBandwidthsResult -> getIpv6InternetBandwidthsResult.bandwidths()[0].id()));
* final var ipv6InternetBandwidthId = VpcFunctions.getIpv6InternetBandwidths(GetIpv6InternetBandwidthsArgs.builder()
* .ipv6InternetBandwidthId("example_value")
* .build());
* ctx.export("vpcIpv6InternetBandwidthId2", ipv6InternetBandwidthId.applyValue(getIpv6InternetBandwidthsResult -> getIpv6InternetBandwidthsResult.bandwidths()[0].id()));
* final var ipv6AddressId = VpcFunctions.getIpv6InternetBandwidths(GetIpv6InternetBandwidthsArgs.builder()
* .ipv6AddressId("example_value")
* .build());
* ctx.export("vpcIpv6InternetBandwidthId3", ipv6AddressId.applyValue(getIpv6InternetBandwidthsResult -> getIpv6InternetBandwidthsResult.bandwidths()[0].id()));
* final var status = VpcFunctions.getIpv6InternetBandwidths(GetIpv6InternetBandwidthsArgs.builder()
* .status("Normal")
* .build());
* ctx.export("vpcIpv6InternetBandwidthId4", status.applyValue(getIpv6InternetBandwidthsResult -> getIpv6InternetBandwidthsResult.bandwidths()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getIpv6InternetBandwidths
* Arguments:
* ids:
* - example_id
* ipv6InternetBandwidthId:
* fn::invoke:
* Function: alicloud:vpc:getIpv6InternetBandwidths
* Arguments:
* ipv6InternetBandwidthId: example_value
* ipv6AddressId:
* fn::invoke:
* Function: alicloud:vpc:getIpv6InternetBandwidths
* Arguments:
* ipv6AddressId: example_value
* status:
* fn::invoke:
* Function: alicloud:vpc:getIpv6InternetBandwidths
* Arguments:
* status: Normal
* outputs:
* vpcIpv6InternetBandwidthId1: ${ids.bandwidths[0].id}
* vpcIpv6InternetBandwidthId2: ${ipv6InternetBandwidthId.bandwidths[0].id}
* vpcIpv6InternetBandwidthId3: ${ipv6AddressId.bandwidths[0].id}
* vpcIpv6InternetBandwidthId4: ${status.bandwidths[0].id}
* ```
*
* @param argument A collection of arguments for invoking getIpv6InternetBandwidths.
* @return A collection of values returned by getIpv6InternetBandwidths.
*/
public suspend fun getIpv6InternetBandwidths(argument: GetIpv6InternetBandwidthsPlainArgs): GetIpv6InternetBandwidthsResult =
getIpv6InternetBandwidthsResultToKotlin(getIpv6InternetBandwidthsPlain(argument.toJava()).await())
/**
* @see [getIpv6InternetBandwidths].
* @param ids A list of Ipv6 Internet Bandwidth IDs.
* @param ipv6AddressId The ID of the IPv6 address.
* @param ipv6InternetBandwidthId The ID of the Ipv6 Internet Bandwidth.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the resource. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`.
* @return A collection of values returned by getIpv6InternetBandwidths.
*/
public suspend fun getIpv6InternetBandwidths(
ids: List? = null,
ipv6AddressId: String? = null,
ipv6InternetBandwidthId: String? = null,
outputFile: String? = null,
status: String? = null,
): GetIpv6InternetBandwidthsResult {
val argument = GetIpv6InternetBandwidthsPlainArgs(
ids = ids,
ipv6AddressId = ipv6AddressId,
ipv6InternetBandwidthId = ipv6InternetBandwidthId,
outputFile = outputFile,
status = status,
)
return getIpv6InternetBandwidthsResultToKotlin(getIpv6InternetBandwidthsPlain(argument.toJava()).await())
}
/**
* @see [getIpv6InternetBandwidths].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetIpv6InternetBandwidthsPlainArgs].
* @return A collection of values returned by getIpv6InternetBandwidths.
*/
public suspend fun getIpv6InternetBandwidths(argument: suspend GetIpv6InternetBandwidthsPlainArgsBuilder.() -> Unit): GetIpv6InternetBandwidthsResult {
val builder = GetIpv6InternetBandwidthsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getIpv6InternetBandwidthsResultToKotlin(getIpv6InternetBandwidthsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides a list of Nat Gateways owned by an Alibaba Cloud account.
* > **NOTE:** Available in 1.37.0+.
* ## Example Usage
*
* ```yaml
* configuration:
* name:
* type: string
* default: natGatewaysDatasource
* resources:
* fooNetwork:
* type: alicloud:vpc:Network
* name: foo
* properties:
* vpcName: ${name}
* cidrBlock: 172.16.0.0/12
* fooNatGateway:
* type: alicloud:vpc:NatGateway
* name: foo
* properties:
* vpcId: ${fooNetwork.id}
* specification: Small
* natGateName: ${name}
* variables:
* default:
* fn::invoke:
* Function: alicloud:getZones
* Arguments:
* availableResourceCreation: VSwitch
* foo:
* fn::invoke:
* Function: alicloud:vpc:getNatGateways
* Arguments:
* vpcId: ${fooNetwork.id}
* nameRegex: ${fooNatGateway.name}
* ids:
* - ${fooNatGateway.id}
* ```
*
* @param argument A collection of arguments for invoking getNatGateways.
* @return A collection of values returned by getNatGateways.
*/
public suspend fun getNatGateways(argument: GetNatGatewaysPlainArgs): GetNatGatewaysResult =
getNatGatewaysResultToKotlin(getNatGatewaysPlain(argument.toJava()).await())
/**
* @see [getNatGateways].
* @param dryRun Specifies whether to only precheck the request.
* @param enableDetails Default to `false`. Set it to `true` can output more details about resource attributes.
* @param ids A list of NAT gateways IDs.
* @param nameRegex A regex string to filter nat gateways by name.
* @param natGatewayName The name of NAT gateway.
* @param natType The nat type of NAT gateway. Valid values `Enhanced` and `Normal`.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param pageNumber
* @param pageSize
* @param paymentType The payment type of NAT gateway. Valid values `PayAsYouGo` and `Subscription`.
* @param resourceGroupId The resource group id of NAT gateway.
* @param specification The specification of NAT gateway. Valid values `Middle`, `Large`, `Small` and `XLarge.1`. Default value is `Small`.
* @param status The status of NAT gateway. Valid values `Available`, `Converting`, `Creating`, `Deleting` and `Modifying`.
* @param tags The tags of NAT gateway.
* @param vpcId The ID of the VPC.
* @return A collection of values returned by getNatGateways.
*/
public suspend fun getNatGateways(
dryRun: Boolean? = null,
enableDetails: Boolean? = null,
ids: List? = null,
nameRegex: String? = null,
natGatewayName: String? = null,
natType: String? = null,
outputFile: String? = null,
pageNumber: Int? = null,
pageSize: Int? = null,
paymentType: String? = null,
resourceGroupId: String? = null,
specification: String? = null,
status: String? = null,
tags: Map? = null,
vpcId: String? = null,
): GetNatGatewaysResult {
val argument = GetNatGatewaysPlainArgs(
dryRun = dryRun,
enableDetails = enableDetails,
ids = ids,
nameRegex = nameRegex,
natGatewayName = natGatewayName,
natType = natType,
outputFile = outputFile,
pageNumber = pageNumber,
pageSize = pageSize,
paymentType = paymentType,
resourceGroupId = resourceGroupId,
specification = specification,
status = status,
tags = tags,
vpcId = vpcId,
)
return getNatGatewaysResultToKotlin(getNatGatewaysPlain(argument.toJava()).await())
}
/**
* @see [getNatGateways].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetNatGatewaysPlainArgs].
* @return A collection of values returned by getNatGateways.
*/
public suspend fun getNatGateways(argument: suspend GetNatGatewaysPlainArgsBuilder.() -> Unit): GetNatGatewaysResult {
val builder = GetNatGatewaysPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getNatGatewaysResultToKotlin(getNatGatewaysPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Nat Ip Cidrs of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.136.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getNatIpCidrs({
* natGatewayId: "example_value",
* ids: [
* "example_value-1",
* "example_value-2",
* ],
* });
* export const vpcNatIpCidrId1 = ids.then(ids => ids.cidrs?.[0]?.id);
* const nameRegex = alicloud.vpc.getNatIpCidrs({
* natGatewayId: "example_value",
* nameRegex: "^my-NatIpCidr",
* });
* export const vpcNatIpCidrId2 = nameRegex.then(nameRegex => nameRegex.cidrs?.[0]?.id);
* const status = alicloud.vpc.getNatIpCidrs({
* natGatewayId: "example_value",
* ids: ["example_value-1"],
* status: "Available",
* });
* export const vpcNatIpCidrId3 = status.then(status => status.cidrs?.[0]?.id);
* const natIpCidr = alicloud.vpc.getNatIpCidrs({
* natGatewayId: "example_value",
* natIpCidrs: ["example_value-1"],
* });
* export const vpcNatIpCidrId4 = natIpCidr.then(natIpCidr => natIpCidr.cidrs?.[0]?.id);
* const atIpCidrName = alicloud.vpc.getNatIpCidrs({
* natGatewayId: "example_value",
* natIpCidrNames: ["example_value-1"],
* });
* export const vpcNatIpCidrId5 = atIpCidrName.then(atIpCidrName => atIpCidrName.cidrs?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_nat_ip_cidrs(nat_gateway_id="example_value",
* ids=[
* "example_value-1",
* "example_value-2",
* ])
* pulumi.export("vpcNatIpCidrId1", ids.cidrs[0].id)
* name_regex = alicloud.vpc.get_nat_ip_cidrs(nat_gateway_id="example_value",
* name_regex="^my-NatIpCidr")
* pulumi.export("vpcNatIpCidrId2", name_regex.cidrs[0].id)
* status = alicloud.vpc.get_nat_ip_cidrs(nat_gateway_id="example_value",
* ids=["example_value-1"],
* status="Available")
* pulumi.export("vpcNatIpCidrId3", status.cidrs[0].id)
* nat_ip_cidr = alicloud.vpc.get_nat_ip_cidrs(nat_gateway_id="example_value",
* nat_ip_cidrs=["example_value-1"])
* pulumi.export("vpcNatIpCidrId4", nat_ip_cidr.cidrs[0].id)
* at_ip_cidr_name = alicloud.vpc.get_nat_ip_cidrs(nat_gateway_id="example_value",
* nat_ip_cidr_names=["example_value-1"])
* pulumi.export("vpcNatIpCidrId5", at_ip_cidr_name.cidrs[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetNatIpCidrs.Invoke(new()
* {
* NatGatewayId = "example_value",
* Ids = new[]
* {
* "example_value-1",
* "example_value-2",
* },
* });
* var nameRegex = AliCloud.Vpc.GetNatIpCidrs.Invoke(new()
* {
* NatGatewayId = "example_value",
* NameRegex = "^my-NatIpCidr",
* });
* var status = AliCloud.Vpc.GetNatIpCidrs.Invoke(new()
* {
* NatGatewayId = "example_value",
* Ids = new[]
* {
* "example_value-1",
* },
* Status = "Available",
* });
* var natIpCidr = AliCloud.Vpc.GetNatIpCidrs.Invoke(new()
* {
* NatGatewayId = "example_value",
* NatIpCidrs = new[]
* {
* "example_value-1",
* },
* });
* var atIpCidrName = AliCloud.Vpc.GetNatIpCidrs.Invoke(new()
* {
* NatGatewayId = "example_value",
* NatIpCidrNames = new[]
* {
* "example_value-1",
* },
* });
* return new Dictionary
* {
* ["vpcNatIpCidrId1"] = ids.Apply(getNatIpCidrsResult => getNatIpCidrsResult.Cidrs[0]?.Id),
* ["vpcNatIpCidrId2"] = nameRegex.Apply(getNatIpCidrsResult => getNatIpCidrsResult.Cidrs[0]?.Id),
* ["vpcNatIpCidrId3"] = status.Apply(getNatIpCidrsResult => getNatIpCidrsResult.Cidrs[0]?.Id),
* ["vpcNatIpCidrId4"] = natIpCidr.Apply(getNatIpCidrsResult => getNatIpCidrsResult.Cidrs[0]?.Id),
* ["vpcNatIpCidrId5"] = atIpCidrName.Apply(getNatIpCidrsResult => getNatIpCidrsResult.Cidrs[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
* NatGatewayId: "example_value",
* Ids: []string{
* "example_value-1",
* "example_value-2",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpCidrId1", ids.Cidrs[0].Id)
* nameRegex, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
* NatGatewayId: "example_value",
* NameRegex: pulumi.StringRef("^my-NatIpCidr"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpCidrId2", nameRegex.Cidrs[0].Id)
* status, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
* NatGatewayId: "example_value",
* Ids: []string{
* "example_value-1",
* },
* Status: pulumi.StringRef("Available"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpCidrId3", status.Cidrs[0].Id)
* natIpCidr, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
* NatGatewayId: "example_value",
* NatIpCidrs: []string{
* "example_value-1",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpCidrId4", natIpCidr.Cidrs[0].Id)
* atIpCidrName, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
* NatGatewayId: "example_value",
* NatIpCidrNames: []string{
* "example_value-1",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpCidrId5", atIpCidrName.Cidrs[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetNatIpCidrsArgs;
* 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 ids = VpcFunctions.getNatIpCidrs(GetNatIpCidrsArgs.builder()
* .natGatewayId("example_value")
* .ids(
* "example_value-1",
* "example_value-2")
* .build());
* ctx.export("vpcNatIpCidrId1", ids.applyValue(getNatIpCidrsResult -> getNatIpCidrsResult.cidrs()[0].id()));
* final var nameRegex = VpcFunctions.getNatIpCidrs(GetNatIpCidrsArgs.builder()
* .natGatewayId("example_value")
* .nameRegex("^my-NatIpCidr")
* .build());
* ctx.export("vpcNatIpCidrId2", nameRegex.applyValue(getNatIpCidrsResult -> getNatIpCidrsResult.cidrs()[0].id()));
* final var status = VpcFunctions.getNatIpCidrs(GetNatIpCidrsArgs.builder()
* .natGatewayId("example_value")
* .ids("example_value-1")
* .status("Available")
* .build());
* ctx.export("vpcNatIpCidrId3", status.applyValue(getNatIpCidrsResult -> getNatIpCidrsResult.cidrs()[0].id()));
* final var natIpCidr = VpcFunctions.getNatIpCidrs(GetNatIpCidrsArgs.builder()
* .natGatewayId("example_value")
* .natIpCidrs("example_value-1")
* .build());
* ctx.export("vpcNatIpCidrId4", natIpCidr.applyValue(getNatIpCidrsResult -> getNatIpCidrsResult.cidrs()[0].id()));
* final var atIpCidrName = VpcFunctions.getNatIpCidrs(GetNatIpCidrsArgs.builder()
* .natGatewayId("example_value")
* .natIpCidrNames("example_value-1")
* .build());
* ctx.export("vpcNatIpCidrId5", atIpCidrName.applyValue(getNatIpCidrsResult -> getNatIpCidrsResult.cidrs()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getNatIpCidrs
* Arguments:
* natGatewayId: example_value
* ids:
* - example_value-1
* - example_value-2
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getNatIpCidrs
* Arguments:
* natGatewayId: example_value
* nameRegex: ^my-NatIpCidr
* status:
* fn::invoke:
* Function: alicloud:vpc:getNatIpCidrs
* Arguments:
* natGatewayId: example_value
* ids:
* - example_value-1
* status: Available
* natIpCidr:
* fn::invoke:
* Function: alicloud:vpc:getNatIpCidrs
* Arguments:
* natGatewayId: example_value
* natIpCidrs:
* - example_value-1
* atIpCidrName:
* fn::invoke:
* Function: alicloud:vpc:getNatIpCidrs
* Arguments:
* natGatewayId: example_value
* natIpCidrNames:
* - example_value-1
* outputs:
* vpcNatIpCidrId1: ${ids.cidrs[0].id}
* vpcNatIpCidrId2: ${nameRegex.cidrs[0].id}
* vpcNatIpCidrId3: ${status.cidrs[0].id}
* vpcNatIpCidrId4: ${natIpCidr.cidrs[0].id}
* vpcNatIpCidrId5: ${atIpCidrName.cidrs[0].id}
* ```
*
* @param argument A collection of arguments for invoking getNatIpCidrs.
* @return A collection of values returned by getNatIpCidrs.
*/
public suspend fun getNatIpCidrs(argument: GetNatIpCidrsPlainArgs): GetNatIpCidrsResult =
getNatIpCidrsResultToKotlin(getNatIpCidrsPlain(argument.toJava()).await())
/**
* @see [getNatIpCidrs].
* @param ids A list of Nat Ip Cidr IDs.
* @param nameRegex A regex string to filter results by Nat Ip Cidr name.
* @param natGatewayId NAT IP ADDRESS range to the security group of the Kafka VPC NAT gateway instance ID.
* @param natIpCidrNames The name of the CIDR block that you want to query. Support up to `20`.
* @param natIpCidrs The NAT CIDR block to be created. Support up to `20`. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the NAT IP address. Valid values:`Available`.
* @return A collection of values returned by getNatIpCidrs.
*/
public suspend fun getNatIpCidrs(
ids: List? = null,
nameRegex: String? = null,
natGatewayId: String,
natIpCidrNames: List? = null,
natIpCidrs: List? = null,
outputFile: String? = null,
status: String? = null,
): GetNatIpCidrsResult {
val argument = GetNatIpCidrsPlainArgs(
ids = ids,
nameRegex = nameRegex,
natGatewayId = natGatewayId,
natIpCidrNames = natIpCidrNames,
natIpCidrs = natIpCidrs,
outputFile = outputFile,
status = status,
)
return getNatIpCidrsResultToKotlin(getNatIpCidrsPlain(argument.toJava()).await())
}
/**
* @see [getNatIpCidrs].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetNatIpCidrsPlainArgs].
* @return A collection of values returned by getNatIpCidrs.
*/
public suspend fun getNatIpCidrs(argument: suspend GetNatIpCidrsPlainArgsBuilder.() -> Unit): GetNatIpCidrsResult {
val builder = GetNatIpCidrsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getNatIpCidrsResultToKotlin(getNatIpCidrsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Nat Ips of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.136.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getNatIps({
* natGatewayId: "example_value",
* ids: [
* "example_value-1",
* "example_value-2",
* ],
* });
* export const vpcNatIpId1 = ids.then(ids => ids.ips?.[0]?.id);
* const nameRegex = alicloud.vpc.getNatIps({
* natGatewayId: "example_value",
* nameRegex: "^my-NatIp",
* });
* export const vpcNatIpId2 = nameRegex.then(nameRegex => nameRegex.ips?.[0]?.id);
* const natIpCidr = alicloud.vpc.getNatIps({
* natGatewayId: "example_value",
* natIpCidr: "example_value",
* nameRegex: "^my-NatIp",
* });
* export const vpcNatIpId3 = natIpCidr.then(natIpCidr => natIpCidr.ips?.[0]?.id);
* const natIpName = alicloud.vpc.getNatIps({
* natGatewayId: "example_value",
* ids: ["example_value"],
* natIpNames: ["example_value"],
* });
* export const vpcNatIpId4 = natIpName.then(natIpName => natIpName.ips?.[0]?.id);
* const natIpIds = alicloud.vpc.getNatIps({
* natGatewayId: "example_value",
* ids: ["example_value"],
* natIpIds: ["example_value"],
* });
* export const vpcNatIpId5 = natIpIds.then(natIpIds => natIpIds.ips?.[0]?.id);
* const status = alicloud.vpc.getNatIps({
* natGatewayId: "example_value",
* ids: ["example_value"],
* status: "example_value",
* });
* export const vpcNatIpId6 = status.then(status => status.ips?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_nat_ips(nat_gateway_id="example_value",
* ids=[
* "example_value-1",
* "example_value-2",
* ])
* pulumi.export("vpcNatIpId1", ids.ips[0].id)
* name_regex = alicloud.vpc.get_nat_ips(nat_gateway_id="example_value",
* name_regex="^my-NatIp")
* pulumi.export("vpcNatIpId2", name_regex.ips[0].id)
* nat_ip_cidr = alicloud.vpc.get_nat_ips(nat_gateway_id="example_value",
* nat_ip_cidr="example_value",
* name_regex="^my-NatIp")
* pulumi.export("vpcNatIpId3", nat_ip_cidr.ips[0].id)
* nat_ip_name = alicloud.vpc.get_nat_ips(nat_gateway_id="example_value",
* ids=["example_value"],
* nat_ip_names=["example_value"])
* pulumi.export("vpcNatIpId4", nat_ip_name.ips[0].id)
* nat_ip_ids = alicloud.vpc.get_nat_ips(nat_gateway_id="example_value",
* ids=["example_value"],
* nat_ip_ids=["example_value"])
* pulumi.export("vpcNatIpId5", nat_ip_ids.ips[0].id)
* status = alicloud.vpc.get_nat_ips(nat_gateway_id="example_value",
* ids=["example_value"],
* status="example_value")
* pulumi.export("vpcNatIpId6", status.ips[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetNatIps.Invoke(new()
* {
* NatGatewayId = "example_value",
* Ids = new[]
* {
* "example_value-1",
* "example_value-2",
* },
* });
* var nameRegex = AliCloud.Vpc.GetNatIps.Invoke(new()
* {
* NatGatewayId = "example_value",
* NameRegex = "^my-NatIp",
* });
* var natIpCidr = AliCloud.Vpc.GetNatIps.Invoke(new()
* {
* NatGatewayId = "example_value",
* NatIpCidr = "example_value",
* NameRegex = "^my-NatIp",
* });
* var natIpName = AliCloud.Vpc.GetNatIps.Invoke(new()
* {
* NatGatewayId = "example_value",
* Ids = new[]
* {
* "example_value",
* },
* NatIpNames = new[]
* {
* "example_value",
* },
* });
* var natIpIds = AliCloud.Vpc.GetNatIps.Invoke(new()
* {
* NatGatewayId = "example_value",
* Ids = new[]
* {
* "example_value",
* },
* NatIpIds = new[]
* {
* "example_value",
* },
* });
* var status = AliCloud.Vpc.GetNatIps.Invoke(new()
* {
* NatGatewayId = "example_value",
* Ids = new[]
* {
* "example_value",
* },
* Status = "example_value",
* });
* return new Dictionary
* {
* ["vpcNatIpId1"] = ids.Apply(getNatIpsResult => getNatIpsResult.Ips[0]?.Id),
* ["vpcNatIpId2"] = nameRegex.Apply(getNatIpsResult => getNatIpsResult.Ips[0]?.Id),
* ["vpcNatIpId3"] = natIpCidr.Apply(getNatIpsResult => getNatIpsResult.Ips[0]?.Id),
* ["vpcNatIpId4"] = natIpName.Apply(getNatIpsResult => getNatIpsResult.Ips[0]?.Id),
* ["vpcNatIpId5"] = natIpIds.Apply(getNatIpsResult => getNatIpsResult.Ips[0]?.Id),
* ["vpcNatIpId6"] = status.Apply(getNatIpsResult => getNatIpsResult.Ips[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
* NatGatewayId: "example_value",
* Ids: []string{
* "example_value-1",
* "example_value-2",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpId1", ids.Ips[0].Id)
* nameRegex, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
* NatGatewayId: "example_value",
* NameRegex: pulumi.StringRef("^my-NatIp"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpId2", nameRegex.Ips[0].Id)
* natIpCidr, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
* NatGatewayId: "example_value",
* NatIpCidr: pulumi.StringRef("example_value"),
* NameRegex: pulumi.StringRef("^my-NatIp"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpId3", natIpCidr.Ips[0].Id)
* natIpName, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
* NatGatewayId: "example_value",
* Ids: []string{
* "example_value",
* },
* NatIpNames: []string{
* "example_value",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpId4", natIpName.Ips[0].Id)
* natIpIds, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
* NatGatewayId: "example_value",
* Ids: []string{
* "example_value",
* },
* NatIpIds: []string{
* "example_value",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpId5", natIpIds.Ips[0].Id)
* status, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
* NatGatewayId: "example_value",
* Ids: []string{
* "example_value",
* },
* Status: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcNatIpId6", status.Ips[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetNatIpsArgs;
* 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 ids = VpcFunctions.getNatIps(GetNatIpsArgs.builder()
* .natGatewayId("example_value")
* .ids(
* "example_value-1",
* "example_value-2")
* .build());
* ctx.export("vpcNatIpId1", ids.applyValue(getNatIpsResult -> getNatIpsResult.ips()[0].id()));
* final var nameRegex = VpcFunctions.getNatIps(GetNatIpsArgs.builder()
* .natGatewayId("example_value")
* .nameRegex("^my-NatIp")
* .build());
* ctx.export("vpcNatIpId2", nameRegex.applyValue(getNatIpsResult -> getNatIpsResult.ips()[0].id()));
* final var natIpCidr = VpcFunctions.getNatIps(GetNatIpsArgs.builder()
* .natGatewayId("example_value")
* .natIpCidr("example_value")
* .nameRegex("^my-NatIp")
* .build());
* ctx.export("vpcNatIpId3", natIpCidr.applyValue(getNatIpsResult -> getNatIpsResult.ips()[0].id()));
* final var natIpName = VpcFunctions.getNatIps(GetNatIpsArgs.builder()
* .natGatewayId("example_value")
* .ids("example_value")
* .natIpNames("example_value")
* .build());
* ctx.export("vpcNatIpId4", natIpName.applyValue(getNatIpsResult -> getNatIpsResult.ips()[0].id()));
* final var natIpIds = VpcFunctions.getNatIps(GetNatIpsArgs.builder()
* .natGatewayId("example_value")
* .ids("example_value")
* .natIpIds("example_value")
* .build());
* ctx.export("vpcNatIpId5", natIpIds.applyValue(getNatIpsResult -> getNatIpsResult.ips()[0].id()));
* final var status = VpcFunctions.getNatIps(GetNatIpsArgs.builder()
* .natGatewayId("example_value")
* .ids("example_value")
* .status("example_value")
* .build());
* ctx.export("vpcNatIpId6", status.applyValue(getNatIpsResult -> getNatIpsResult.ips()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getNatIps
* Arguments:
* natGatewayId: example_value
* ids:
* - example_value-1
* - example_value-2
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getNatIps
* Arguments:
* natGatewayId: example_value
* nameRegex: ^my-NatIp
* natIpCidr:
* fn::invoke:
* Function: alicloud:vpc:getNatIps
* Arguments:
* natGatewayId: example_value
* natIpCidr: example_value
* nameRegex: ^my-NatIp
* natIpName:
* fn::invoke:
* Function: alicloud:vpc:getNatIps
* Arguments:
* natGatewayId: example_value
* ids:
* - example_value
* natIpNames:
* - example_value
* natIpIds:
* fn::invoke:
* Function: alicloud:vpc:getNatIps
* Arguments:
* natGatewayId: example_value
* ids:
* - example_value
* natIpIds:
* - example_value
* status:
* fn::invoke:
* Function: alicloud:vpc:getNatIps
* Arguments:
* natGatewayId: example_value
* ids:
* - example_value
* status: example_value
* outputs:
* vpcNatIpId1: ${ids.ips[0].id}
* vpcNatIpId2: ${nameRegex.ips[0].id}
* vpcNatIpId3: ${natIpCidr.ips[0].id}
* vpcNatIpId4: ${natIpName.ips[0].id}
* vpcNatIpId5: ${natIpIds.ips[0].id}
* vpcNatIpId6: ${status.ips[0].id}
* ```
*
* @param argument A collection of arguments for invoking getNatIps.
* @return A collection of values returned by getNatIps.
*/
public suspend fun getNatIps(argument: GetNatIpsPlainArgs): GetNatIpsResult =
getNatIpsResultToKotlin(getNatIpsPlain(argument.toJava()).await())
/**
* @see [getNatIps].
* @param ids A list of Nat Ip IDs.
* @param nameRegex A regex string to filter results by Nat Ip name.
* @param natGatewayId The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
* @param natIpCidr NAT IP ADDRESS of the address segment.
* @param natIpIds
* @param natIpNames NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the NAT IP address. Valid values: `Available`, `Deleting` and `Creating`.
* @return A collection of values returned by getNatIps.
*/
public suspend fun getNatIps(
ids: List? = null,
nameRegex: String? = null,
natGatewayId: String,
natIpCidr: String? = null,
natIpIds: List? = null,
natIpNames: List? = null,
outputFile: String? = null,
status: String? = null,
): GetNatIpsResult {
val argument = GetNatIpsPlainArgs(
ids = ids,
nameRegex = nameRegex,
natGatewayId = natGatewayId,
natIpCidr = natIpCidr,
natIpIds = natIpIds,
natIpNames = natIpNames,
outputFile = outputFile,
status = status,
)
return getNatIpsResultToKotlin(getNatIpsPlain(argument.toJava()).await())
}
/**
* @see [getNatIps].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetNatIpsPlainArgs].
* @return A collection of values returned by getNatIps.
*/
public suspend fun getNatIps(argument: suspend GetNatIpsPlainArgsBuilder.() -> Unit): GetNatIpsResult {
val builder = GetNatIpsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getNatIpsResultToKotlin(getNatIpsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Network Acls of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.122.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const example = alicloud.vpc.getNetworkAcls({
* ids: ["example_value"],
* nameRegex: "the_resource_name",
* });
* export const firstNetworkAclId = example.then(example => example.acls?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* example = alicloud.vpc.get_network_acls(ids=["example_value"],
* name_regex="the_resource_name")
* pulumi.export("firstNetworkAclId", example.acls[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var example = AliCloud.Vpc.GetNetworkAcls.Invoke(new()
* {
* Ids = new[]
* {
* "example_value",
* },
* NameRegex = "the_resource_name",
* });
* return new Dictionary
* {
* ["firstNetworkAclId"] = example.Apply(getNetworkAclsResult => getNetworkAclsResult.Acls[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := vpc.GetNetworkAcls(ctx, &vpc.GetNetworkAclsArgs{
* Ids: []string{
* "example_value",
* },
* NameRegex: pulumi.StringRef("the_resource_name"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("firstNetworkAclId", example.Acls[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetNetworkAclsArgs;
* 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 example = VpcFunctions.getNetworkAcls(GetNetworkAclsArgs.builder()
* .ids("example_value")
* .nameRegex("the_resource_name")
* .build());
* ctx.export("firstNetworkAclId", example.applyValue(getNetworkAclsResult -> getNetworkAclsResult.acls()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* example:
* fn::invoke:
* Function: alicloud:vpc:getNetworkAcls
* Arguments:
* ids:
* - example_value
* nameRegex: the_resource_name
* outputs:
* firstNetworkAclId: ${example.acls[0].id}
* ```
*
* @param argument A collection of arguments for invoking getNetworkAcls.
* @return A collection of values returned by getNetworkAcls.
*/
public suspend fun getNetworkAcls(argument: GetNetworkAclsPlainArgs): GetNetworkAclsResult =
getNetworkAclsResultToKotlin(getNetworkAclsPlain(argument.toJava()).await())
/**
* @see [getNetworkAcls].
* @param ids A list of Network Acl ID.
* @param nameRegex A regex string to filter results by Network Acl name.
* @param networkAclName The name of the network ACL.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param resourceId The ID of the associated resource.
* @param resourceType The type of the associated resource. Valid values `VSwitch`. `resource_type` and `resource_id` need to be specified at the same time to take effect.
* @param status The state of the network ACL. Valid values: `Available` and `Modifying`.
* @param vpcId The ID of the associated VPC.
* @return A collection of values returned by getNetworkAcls.
*/
public suspend fun getNetworkAcls(
ids: List? = null,
nameRegex: String? = null,
networkAclName: String? = null,
outputFile: String? = null,
resourceId: String? = null,
resourceType: String? = null,
status: String? = null,
vpcId: String? = null,
): GetNetworkAclsResult {
val argument = GetNetworkAclsPlainArgs(
ids = ids,
nameRegex = nameRegex,
networkAclName = networkAclName,
outputFile = outputFile,
resourceId = resourceId,
resourceType = resourceType,
status = status,
vpcId = vpcId,
)
return getNetworkAclsResultToKotlin(getNetworkAclsPlain(argument.toJava()).await())
}
/**
* @see [getNetworkAcls].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetNetworkAclsPlainArgs].
* @return A collection of values returned by getNetworkAcls.
*/
public suspend fun getNetworkAcls(argument: suspend GetNetworkAclsPlainArgsBuilder.() -> Unit): GetNetworkAclsResult {
val builder = GetNetworkAclsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getNetworkAclsResultToKotlin(getNetworkAclsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides VPCs available to the user.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const vpcsDs = alicloud.vpc.getNetworks({
* cidrBlock: "172.16.0.0/12",
* status: "Available",
* nameRegex: "^foo",
* });
* export const firstVpcId = vpcsDs.then(vpcsDs => vpcsDs.vpcs?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* vpcs_ds = alicloud.vpc.get_networks(cidr_block="172.16.0.0/12",
* status="Available",
* name_regex="^foo")
* pulumi.export("firstVpcId", vpcs_ds.vpcs[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var vpcsDs = AliCloud.Vpc.GetNetworks.Invoke(new()
* {
* CidrBlock = "172.16.0.0/12",
* Status = "Available",
* NameRegex = "^foo",
* });
* return new Dictionary
* {
* ["firstVpcId"] = vpcsDs.Apply(getNetworksResult => getNetworksResult.Vpcs[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* vpcsDs, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
* CidrBlock: pulumi.StringRef("172.16.0.0/12"),
* Status: pulumi.StringRef("Available"),
* NameRegex: pulumi.StringRef("^foo"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("firstVpcId", vpcsDs.Vpcs[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;
* 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 vpcsDs = VpcFunctions.getNetworks(GetNetworksArgs.builder()
* .cidrBlock("172.16.0.0/12")
* .status("Available")
* .nameRegex("^foo")
* .build());
* ctx.export("firstVpcId", vpcsDs.applyValue(getNetworksResult -> getNetworksResult.vpcs()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* vpcsDs:
* fn::invoke:
* Function: alicloud:vpc:getNetworks
* Arguments:
* cidrBlock: 172.16.0.0/12
* status: Available
* nameRegex: ^foo
* outputs:
* firstVpcId: ${vpcsDs.vpcs[0].id}
* ```
*
* @param argument A collection of arguments for invoking getNetworks.
* @return A collection of values returned by getNetworks.
*/
public suspend fun getNetworks(argument: GetNetworksPlainArgs): GetNetworksResult =
getNetworksResultToKotlin(getNetworksPlain(argument.toJava()).await())
/**
* @see [getNetworks].
* @param cidrBlock Filter results by a specific CIDR block. For example: "172.16.0.0/12".
* @param dhcpOptionsSetId The ID of dhcp options set.
* @param dryRun Indicates whether to check this request only. Valid values: `true` and `false`.
* @param enableDetails Default to `true`. Set it to true can output the `route_table_id`.
* @param ids A list of VPC IDs.
* @param isDefault Indicate whether the VPC is the default one in the specified region.
* @param nameRegex A regex string to filter VPCs by name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param pageNumber
* @param pageSize
* @param resourceGroupId The Id of resource group which VPC belongs.
* @param status Filter results by a specific status. Valid value are `Pending` and `Available`.
* @param tags A mapping of tags to assign to the resource.
* @param vpcName The name of the VPC.
* @param vpcOwnerId The owner ID of VPC.
* @param vswitchId Filter results by the specified vSwitch.
* @return A collection of values returned by getNetworks.
*/
public suspend fun getNetworks(
cidrBlock: String? = null,
dhcpOptionsSetId: String? = null,
dryRun: Boolean? = null,
enableDetails: Boolean? = null,
ids: List? = null,
isDefault: Boolean? = null,
nameRegex: String? = null,
outputFile: String? = null,
pageNumber: Int? = null,
pageSize: Int? = null,
resourceGroupId: String? = null,
status: String? = null,
tags: Map? = null,
vpcName: String? = null,
vpcOwnerId: Int? = null,
vswitchId: String? = null,
): GetNetworksResult {
val argument = GetNetworksPlainArgs(
cidrBlock = cidrBlock,
dhcpOptionsSetId = dhcpOptionsSetId,
dryRun = dryRun,
enableDetails = enableDetails,
ids = ids,
isDefault = isDefault,
nameRegex = nameRegex,
outputFile = outputFile,
pageNumber = pageNumber,
pageSize = pageSize,
resourceGroupId = resourceGroupId,
status = status,
tags = tags,
vpcName = vpcName,
vpcOwnerId = vpcOwnerId,
vswitchId = vswitchId,
)
return getNetworksResultToKotlin(getNetworksPlain(argument.toJava()).await())
}
/**
* @see [getNetworks].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetNetworksPlainArgs].
* @return A collection of values returned by getNetworks.
*/
public suspend fun getNetworks(argument: suspend GetNetworksPlainArgsBuilder.() -> Unit): GetNetworksResult {
val builder = GetNetworksPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getNetworksResultToKotlin(getNetworksPlain(builtArgument.toJava()).await())
}
/**
* > **NOTE:** Available in v1.162.0+.
* The data source lists a number of VPN Pbr Route Entries resource information owned by an Alicloud account.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getPbrRouteEntries({
* vpnGatewayId: "example_vpn_gateway_id",
* ids: ["example_id"],
* });
* export const vpnIpsecServerId1 = ids.then(ids => ids.entries?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_pbr_route_entries(vpn_gateway_id="example_vpn_gateway_id",
* ids=["example_id"])
* pulumi.export("vpnIpsecServerId1", ids.entries[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetPbrRouteEntries.Invoke(new()
* {
* VpnGatewayId = "example_vpn_gateway_id",
* Ids = new[]
* {
* "example_id",
* },
* });
* return new Dictionary
* {
* ["vpnIpsecServerId1"] = ids.Apply(getPbrRouteEntriesResult => getPbrRouteEntriesResult.Entries[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetPbrRouteEntries(ctx, &vpc.GetPbrRouteEntriesArgs{
* VpnGatewayId: "example_vpn_gateway_id",
* Ids: []string{
* "example_id",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpnIpsecServerId1", ids.Entries[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetPbrRouteEntriesArgs;
* 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 ids = VpcFunctions.getPbrRouteEntries(GetPbrRouteEntriesArgs.builder()
* .vpnGatewayId("example_vpn_gateway_id")
* .ids("example_id")
* .build());
* ctx.export("vpnIpsecServerId1", ids.applyValue(getPbrRouteEntriesResult -> getPbrRouteEntriesResult.entries()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getPbrRouteEntries
* Arguments:
* vpnGatewayId: example_vpn_gateway_id
* ids:
* - example_id
* outputs:
* vpnIpsecServerId1: ${ids.entries[0].id}
* ```
*
* @param argument A collection of arguments for invoking getPbrRouteEntries.
* @return A collection of values returned by getPbrRouteEntries.
*/
public suspend fun getPbrRouteEntries(argument: GetPbrRouteEntriesPlainArgs): GetPbrRouteEntriesResult =
getPbrRouteEntriesResultToKotlin(getPbrRouteEntriesPlain(argument.toJava()).await())
/**
* @see [getPbrRouteEntries].
* @param ids A list of VPN Pbr Route Entries IDs.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param vpnGatewayId The ID of the VPN gateway.
* @return A collection of values returned by getPbrRouteEntries.
*/
public suspend fun getPbrRouteEntries(
ids: List? = null,
outputFile: String? = null,
vpnGatewayId: String,
): GetPbrRouteEntriesResult {
val argument = GetPbrRouteEntriesPlainArgs(
ids = ids,
outputFile = outputFile,
vpnGatewayId = vpnGatewayId,
)
return getPbrRouteEntriesResultToKotlin(getPbrRouteEntriesPlain(argument.toJava()).await())
}
/**
* @see [getPbrRouteEntries].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetPbrRouteEntriesPlainArgs].
* @return A collection of values returned by getPbrRouteEntries.
*/
public suspend fun getPbrRouteEntries(argument: suspend GetPbrRouteEntriesPlainArgsBuilder.() -> Unit): GetPbrRouteEntriesResult {
val builder = GetPbrRouteEntriesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getPbrRouteEntriesResultToKotlin(getPbrRouteEntriesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Peer Connections of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.186.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getPeerConnections({});
* export const vpcPeerConnectionId1 = ids.then(ids => ids.connections?.[0]?.id);
* const nameRegex = alicloud.vpc.getPeerConnections({
* nameRegex: "^my-PeerConnection",
* });
* export const vpcPeerConnectionId2 = nameRegex.then(nameRegex => nameRegex.connections?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_peer_connections()
* pulumi.export("vpcPeerConnectionId1", ids.connections[0].id)
* name_regex = alicloud.vpc.get_peer_connections(name_regex="^my-PeerConnection")
* pulumi.export("vpcPeerConnectionId2", name_regex.connections[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetPeerConnections.Invoke();
* var nameRegex = AliCloud.Vpc.GetPeerConnections.Invoke(new()
* {
* NameRegex = "^my-PeerConnection",
* });
* return new Dictionary
* {
* ["vpcPeerConnectionId1"] = ids.Apply(getPeerConnectionsResult => getPeerConnectionsResult.Connections[0]?.Id),
* ["vpcPeerConnectionId2"] = nameRegex.Apply(getPeerConnectionsResult => getPeerConnectionsResult.Connections[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetPeerConnections(ctx, nil, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcPeerConnectionId1", ids.Connections[0].Id)
* nameRegex, err := vpc.GetPeerConnections(ctx, &vpc.GetPeerConnectionsArgs{
* NameRegex: pulumi.StringRef("^my-PeerConnection"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcPeerConnectionId2", nameRegex.Connections[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetPeerConnectionsArgs;
* 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 ids = VpcFunctions.getPeerConnections();
* ctx.export("vpcPeerConnectionId1", ids.applyValue(getPeerConnectionsResult -> getPeerConnectionsResult.connections()[0].id()));
* final var nameRegex = VpcFunctions.getPeerConnections(GetPeerConnectionsArgs.builder()
* .nameRegex("^my-PeerConnection")
* .build());
* ctx.export("vpcPeerConnectionId2", nameRegex.applyValue(getPeerConnectionsResult -> getPeerConnectionsResult.connections()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getPeerConnections
* Arguments: {}
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getPeerConnections
* Arguments:
* nameRegex: ^my-PeerConnection
* outputs:
* vpcPeerConnectionId1: ${ids.connections[0].id}
* vpcPeerConnectionId2: ${nameRegex.connections[0].id}
* ```
*
* @param argument A collection of arguments for invoking getPeerConnections.
* @return A collection of values returned by getPeerConnections.
*/
public suspend fun getPeerConnections(argument: GetPeerConnectionsPlainArgs): GetPeerConnectionsResult =
getPeerConnectionsResultToKotlin(getPeerConnectionsPlain(argument.toJava()).await())
/**
* @see [getPeerConnections].
* @param ids A list of PeerConnection IDs.
* @param nameRegex A regex string to filter results by PeerConnection name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param peerConnectionName The name of the resource.
* @param status The status of the resource. Valid values: `Accepting`, `Activated`, `Creating`, `Deleted`, `Deleting`, `Expired`, `Rejected`, `Updating`.
* @param vpcId The ID of the requester VPC.
* @return A collection of values returned by getPeerConnections.
*/
public suspend fun getPeerConnections(
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
peerConnectionName: String? = null,
status: String? = null,
vpcId: String? = null,
): GetPeerConnectionsResult {
val argument = GetPeerConnectionsPlainArgs(
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
peerConnectionName = peerConnectionName,
status = status,
vpcId = vpcId,
)
return getPeerConnectionsResultToKotlin(getPeerConnectionsPlain(argument.toJava()).await())
}
/**
* @see [getPeerConnections].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetPeerConnectionsPlainArgs].
* @return A collection of values returned by getPeerConnections.
*/
public suspend fun getPeerConnections(argument: suspend GetPeerConnectionsPlainArgsBuilder.() -> Unit): GetPeerConnectionsResult {
val builder = GetPeerConnectionsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getPeerConnectionsResultToKotlin(getPeerConnectionsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Prefix Lists of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.182.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getPrefixLists({});
* export const vpcPrefixListId1 = ids.then(ids => ids.lists?.[0]?.id);
* const nameRegex = alicloud.vpc.getPrefixLists({
* nameRegex: "^my-PrefixList",
* });
* export const vpcPrefixListId2 = nameRegex.then(nameRegex => nameRegex.lists?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_prefix_lists()
* pulumi.export("vpcPrefixListId1", ids.lists[0].id)
* name_regex = alicloud.vpc.get_prefix_lists(name_regex="^my-PrefixList")
* pulumi.export("vpcPrefixListId2", name_regex.lists[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetPrefixLists.Invoke();
* var nameRegex = AliCloud.Vpc.GetPrefixLists.Invoke(new()
* {
* NameRegex = "^my-PrefixList",
* });
* return new Dictionary
* {
* ["vpcPrefixListId1"] = ids.Apply(getPrefixListsResult => getPrefixListsResult.Lists[0]?.Id),
* ["vpcPrefixListId2"] = nameRegex.Apply(getPrefixListsResult => getPrefixListsResult.Lists[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetPrefixLists(ctx, nil, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcPrefixListId1", ids.Lists[0].Id)
* nameRegex, err := vpc.GetPrefixLists(ctx, &vpc.GetPrefixListsArgs{
* NameRegex: pulumi.StringRef("^my-PrefixList"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcPrefixListId2", nameRegex.Lists[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetPrefixListsArgs;
* 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 ids = VpcFunctions.getPrefixLists();
* ctx.export("vpcPrefixListId1", ids.applyValue(getPrefixListsResult -> getPrefixListsResult.lists()[0].id()));
* final var nameRegex = VpcFunctions.getPrefixLists(GetPrefixListsArgs.builder()
* .nameRegex("^my-PrefixList")
* .build());
* ctx.export("vpcPrefixListId2", nameRegex.applyValue(getPrefixListsResult -> getPrefixListsResult.lists()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getPrefixLists
* Arguments: {}
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getPrefixLists
* Arguments:
* nameRegex: ^my-PrefixList
* outputs:
* vpcPrefixListId1: ${ids.lists[0].id}
* vpcPrefixListId2: ${nameRegex.lists[0].id}
* ```
*
* @param argument A collection of arguments for invoking getPrefixLists.
* @return A collection of values returned by getPrefixLists.
*/
public suspend fun getPrefixLists(argument: GetPrefixListsPlainArgs): GetPrefixListsResult =
getPrefixListsResultToKotlin(getPrefixListsPlain(argument.toJava()).await())
/**
* @see [getPrefixLists].
* @param enableDetails Default to `true`. Set it to `false` can hide the `entrys` to output.
* @param ids A list of Prefix List IDs.
* @param nameRegex A regex string to filter results by Prefix List name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param prefixListName The name of the prefix list.
* @return A collection of values returned by getPrefixLists.
*/
public suspend fun getPrefixLists(
enableDetails: Boolean? = null,
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
prefixListName: String? = null,
): GetPrefixListsResult {
val argument = GetPrefixListsPlainArgs(
enableDetails = enableDetails,
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
prefixListName = prefixListName,
)
return getPrefixListsResultToKotlin(getPrefixListsPlain(argument.toJava()).await())
}
/**
* @see [getPrefixLists].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetPrefixListsPlainArgs].
* @return A collection of values returned by getPrefixLists.
*/
public suspend fun getPrefixLists(argument: suspend GetPrefixListsPlainArgsBuilder.() -> Unit): GetPrefixListsResult {
val builder = GetPrefixListsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getPrefixListsResultToKotlin(getPrefixListsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Public Ip Address Pool Cidr Blocks of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.189.0+.
* > **NOTE:** Only users who have the required permissions can use the IP address pool feature of Elastic IP Address (EIP). To apply for the required permissions, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket).
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getPublicIpAddressPoolCidrBlocks({
* ids: ["example_id"],
* publicIpAddressPoolId: "example_value",
* });
* export const vpcPublicIpAddressPoolCidrBlockId1 = ids.then(ids => ids.blocks?.[0]?.id);
* const cidrBlock = alicloud.vpc.getPublicIpAddressPoolCidrBlocks({
* publicIpAddressPoolId: "example_value",
* cidrBlock: "example_value",
* });
* export const vpcPublicIpAddressPoolCidrBlockId2 = cidrBlock.then(cidrBlock => cidrBlock.blocks?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_public_ip_address_pool_cidr_blocks(ids=["example_id"],
* public_ip_address_pool_id="example_value")
* pulumi.export("vpcPublicIpAddressPoolCidrBlockId1", ids.blocks[0].id)
* cidr_block = alicloud.vpc.get_public_ip_address_pool_cidr_blocks(public_ip_address_pool_id="example_value",
* cidr_block="example_value")
* pulumi.export("vpcPublicIpAddressPoolCidrBlockId2", cidr_block.blocks[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetPublicIpAddressPoolCidrBlocks.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* PublicIpAddressPoolId = "example_value",
* });
* var cidrBlock = AliCloud.Vpc.GetPublicIpAddressPoolCidrBlocks.Invoke(new()
* {
* PublicIpAddressPoolId = "example_value",
* CidrBlock = "example_value",
* });
* return new Dictionary
* {
* ["vpcPublicIpAddressPoolCidrBlockId1"] = ids.Apply(getPublicIpAddressPoolCidrBlocksResult => getPublicIpAddressPoolCidrBlocksResult.Blocks[0]?.Id),
* ["vpcPublicIpAddressPoolCidrBlockId2"] = cidrBlock.Apply(getPublicIpAddressPoolCidrBlocksResult => getPublicIpAddressPoolCidrBlocksResult.Blocks[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetPublicIpAddressPoolCidrBlocks(ctx, &vpc.GetPublicIpAddressPoolCidrBlocksArgs{
* Ids: []string{
* "example_id",
* },
* PublicIpAddressPoolId: "example_value",
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcPublicIpAddressPoolCidrBlockId1", ids.Blocks[0].Id)
* cidrBlock, err := vpc.GetPublicIpAddressPoolCidrBlocks(ctx, &vpc.GetPublicIpAddressPoolCidrBlocksArgs{
* PublicIpAddressPoolId: "example_value",
* CidrBlock: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcPublicIpAddressPoolCidrBlockId2", cidrBlock.Blocks[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetPublicIpAddressPoolCidrBlocksArgs;
* 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 ids = VpcFunctions.getPublicIpAddressPoolCidrBlocks(GetPublicIpAddressPoolCidrBlocksArgs.builder()
* .ids("example_id")
* .publicIpAddressPoolId("example_value")
* .build());
* ctx.export("vpcPublicIpAddressPoolCidrBlockId1", ids.applyValue(getPublicIpAddressPoolCidrBlocksResult -> getPublicIpAddressPoolCidrBlocksResult.blocks()[0].id()));
* final var cidrBlock = VpcFunctions.getPublicIpAddressPoolCidrBlocks(GetPublicIpAddressPoolCidrBlocksArgs.builder()
* .publicIpAddressPoolId("example_value")
* .cidrBlock("example_value")
* .build());
* ctx.export("vpcPublicIpAddressPoolCidrBlockId2", cidrBlock.applyValue(getPublicIpAddressPoolCidrBlocksResult -> getPublicIpAddressPoolCidrBlocksResult.blocks()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getPublicIpAddressPoolCidrBlocks
* Arguments:
* ids:
* - example_id
* publicIpAddressPoolId: example_value
* cidrBlock:
* fn::invoke:
* Function: alicloud:vpc:getPublicIpAddressPoolCidrBlocks
* Arguments:
* publicIpAddressPoolId: example_value
* cidrBlock: example_value
* outputs:
* vpcPublicIpAddressPoolCidrBlockId1: ${ids.blocks[0].id}
* vpcPublicIpAddressPoolCidrBlockId2: ${cidrBlock.blocks[0].id}
* ```
*
* @param argument A collection of arguments for invoking getPublicIpAddressPoolCidrBlocks.
* @return A collection of values returned by getPublicIpAddressPoolCidrBlocks.
*/
public suspend fun getPublicIpAddressPoolCidrBlocks(argument: GetPublicIpAddressPoolCidrBlocksPlainArgs): GetPublicIpAddressPoolCidrBlocksResult =
getPublicIpAddressPoolCidrBlocksResultToKotlin(getPublicIpAddressPoolCidrBlocksPlain(argument.toJava()).await())
/**
* @see [getPublicIpAddressPoolCidrBlocks].
* @param cidrBlock The CIDR block.
* @param ids A list of Vpc Public Ip Address Pool Cidr Block IDs.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param publicIpAddressPoolId The ID of the Vpc Public IP address pool.
* @param status The status of the CIDR block in the Vpc Public IP address pool. Valid values: `Created`, `Modifying`, `Deleting`.
* @return A collection of values returned by getPublicIpAddressPoolCidrBlocks.
*/
public suspend fun getPublicIpAddressPoolCidrBlocks(
cidrBlock: String? = null,
ids: List? = null,
outputFile: String? = null,
publicIpAddressPoolId: String,
status: String? = null,
): GetPublicIpAddressPoolCidrBlocksResult {
val argument = GetPublicIpAddressPoolCidrBlocksPlainArgs(
cidrBlock = cidrBlock,
ids = ids,
outputFile = outputFile,
publicIpAddressPoolId = publicIpAddressPoolId,
status = status,
)
return getPublicIpAddressPoolCidrBlocksResultToKotlin(getPublicIpAddressPoolCidrBlocksPlain(argument.toJava()).await())
}
/**
* @see [getPublicIpAddressPoolCidrBlocks].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetPublicIpAddressPoolCidrBlocksPlainArgs].
* @return A collection of values returned by getPublicIpAddressPoolCidrBlocks.
*/
public suspend fun getPublicIpAddressPoolCidrBlocks(argument: suspend GetPublicIpAddressPoolCidrBlocksPlainArgsBuilder.() -> Unit): GetPublicIpAddressPoolCidrBlocksResult {
val builder = GetPublicIpAddressPoolCidrBlocksPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getPublicIpAddressPoolCidrBlocksResultToKotlin(getPublicIpAddressPoolCidrBlocksPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Public Ip Address Pools of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.186.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getPublicIpAddressPools({
* ids: ["example_id"],
* });
* export const vpcPublicIpAddressPoolId1 = ids.then(ids => ids.pools?.[0]?.id);
* const nameRegex = alicloud.vpc.getPublicIpAddressPools({
* nameRegex: "example_name",
* });
* export const vpcPublicIpAddressPoolId2 = nameRegex.then(nameRegex => nameRegex.pools?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_public_ip_address_pools(ids=["example_id"])
* pulumi.export("vpcPublicIpAddressPoolId1", ids.pools[0].id)
* name_regex = alicloud.vpc.get_public_ip_address_pools(name_regex="example_name")
* pulumi.export("vpcPublicIpAddressPoolId2", name_regex.pools[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetPublicIpAddressPools.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* });
* var nameRegex = AliCloud.Vpc.GetPublicIpAddressPools.Invoke(new()
* {
* NameRegex = "example_name",
* });
* return new Dictionary
* {
* ["vpcPublicIpAddressPoolId1"] = ids.Apply(getPublicIpAddressPoolsResult => getPublicIpAddressPoolsResult.Pools[0]?.Id),
* ["vpcPublicIpAddressPoolId2"] = nameRegex.Apply(getPublicIpAddressPoolsResult => getPublicIpAddressPoolsResult.Pools[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetPublicIpAddressPools(ctx, &vpc.GetPublicIpAddressPoolsArgs{
* Ids: []string{
* "example_id",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcPublicIpAddressPoolId1", ids.Pools[0].Id)
* nameRegex, err := vpc.GetPublicIpAddressPools(ctx, &vpc.GetPublicIpAddressPoolsArgs{
* NameRegex: pulumi.StringRef("example_name"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcPublicIpAddressPoolId2", nameRegex.Pools[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetPublicIpAddressPoolsArgs;
* 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 ids = VpcFunctions.getPublicIpAddressPools(GetPublicIpAddressPoolsArgs.builder()
* .ids("example_id")
* .build());
* ctx.export("vpcPublicIpAddressPoolId1", ids.applyValue(getPublicIpAddressPoolsResult -> getPublicIpAddressPoolsResult.pools()[0].id()));
* final var nameRegex = VpcFunctions.getPublicIpAddressPools(GetPublicIpAddressPoolsArgs.builder()
* .nameRegex("example_name")
* .build());
* ctx.export("vpcPublicIpAddressPoolId2", nameRegex.applyValue(getPublicIpAddressPoolsResult -> getPublicIpAddressPoolsResult.pools()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getPublicIpAddressPools
* Arguments:
* ids:
* - example_id
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getPublicIpAddressPools
* Arguments:
* nameRegex: example_name
* outputs:
* vpcPublicIpAddressPoolId1: ${ids.pools[0].id}
* vpcPublicIpAddressPoolId2: ${nameRegex.pools[0].id}
* ```
*
* @param argument A collection of arguments for invoking getPublicIpAddressPools.
* @return A collection of values returned by getPublicIpAddressPools.
*/
public suspend fun getPublicIpAddressPools(argument: GetPublicIpAddressPoolsPlainArgs): GetPublicIpAddressPoolsResult =
getPublicIpAddressPoolsResultToKotlin(getPublicIpAddressPoolsPlain(argument.toJava()).await())
/**
* @see [getPublicIpAddressPools].
* @param ids A list of Vpc Public Ip Address Pool IDs.
* @param isp The Internet service provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`.
* @param nameRegex A regex string to filter results by Vpc Public Ip Address Pool name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param publicIpAddressPoolIds The IDs of the Vpc Public IP address pools.
* @param publicIpAddressPoolName The name of the VPC Public IP address pool.
* @param status The status of the Vpc Public Ip Address Pool. Valid values: `Created`, `Deleting`, `Modifying`.
* @return A collection of values returned by getPublicIpAddressPools.
*/
public suspend fun getPublicIpAddressPools(
ids: List? = null,
isp: String? = null,
nameRegex: String? = null,
outputFile: String? = null,
publicIpAddressPoolIds: List? = null,
publicIpAddressPoolName: String? = null,
status: String? = null,
): GetPublicIpAddressPoolsResult {
val argument = GetPublicIpAddressPoolsPlainArgs(
ids = ids,
isp = isp,
nameRegex = nameRegex,
outputFile = outputFile,
publicIpAddressPoolIds = publicIpAddressPoolIds,
publicIpAddressPoolName = publicIpAddressPoolName,
status = status,
)
return getPublicIpAddressPoolsResultToKotlin(getPublicIpAddressPoolsPlain(argument.toJava()).await())
}
/**
* @see [getPublicIpAddressPools].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetPublicIpAddressPoolsPlainArgs].
* @return A collection of values returned by getPublicIpAddressPools.
*/
public suspend fun getPublicIpAddressPools(argument: suspend GetPublicIpAddressPoolsPlainArgsBuilder.() -> Unit): GetPublicIpAddressPoolsResult {
val builder = GetPublicIpAddressPoolsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getPublicIpAddressPoolsResultToKotlin(getPublicIpAddressPoolsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides a list of Route Entries owned by an Alibaba Cloud account.
* > **NOTE:** Available in 1.37.0+.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const default = alicloud.getZones({
* availableResourceCreation: "VSwitch",
* });
* const defaultGetInstanceTypes = _default.then(_default => alicloud.ecs.getInstanceTypes({
* availabilityZone: _default.zones?.[0]?.id,
* cpuCoreCount: 1,
* memorySize: 2,
* }));
* const defaultGetImages = alicloud.ecs.getImages({
* nameRegex: "^ubuntu_18.*64",
* mostRecent: true,
* owners: "system",
* });
* const config = new pulumi.Config();
* const name = config.get("name") || "tf-testAccRouteEntryConfig";
* const fooNetwork = new alicloud.vpc.Network("foo", {
* name: name,
* cidrBlock: "10.1.0.0/21",
* });
* const fooSwitch = new alicloud.vpc.Switch("foo", {
* vpcId: fooNetwork.id,
* cidrBlock: "10.1.1.0/24",
* availabilityZone: _default.then(_default => _default.zones?.[0]?.id),
* vswitchName: name,
* });
* const tfTestFoo = new alicloud.ecs.SecurityGroup("tf_test_foo", {
* name: name,
* description: "foo",
* vpcId: fooNetwork.id,
* });
* const fooInstance = new alicloud.ecs.Instance("foo", {
* securityGroups: [tfTestFoo.id],
* vswitchId: fooSwitch.id,
* allocatePublicIp: true,
* instanceChargeType: "PostPaid",
* instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
* internetChargeType: "PayByTraffic",
* internetMaxBandwidthOut: 5,
* systemDiskCategory: "cloud_efficiency",
* imageId: defaultGetImages.then(defaultGetImages => defaultGetImages.images?.[0]?.id),
* instanceName: name,
* });
* const fooRouteEntry = new alicloud.vpc.RouteEntry("foo", {
* routeTableId: fooNetwork.routeTableId,
* destinationCidrblock: "172.11.1.1/32",
* nexthopType: "Instance",
* nexthopId: fooInstance.id,
* });
* const ingress = new alicloud.ecs.SecurityGroupRule("ingress", {
* type: "ingress",
* ipProtocol: "tcp",
* nicType: "intranet",
* policy: "accept",
* portRange: "22/22",
* priority: 1,
* securityGroupId: tfTestFoo.id,
* cidrIp: "0.0.0.0/0",
* });
* const foo = alicloud.vpc.getRouteEntriesOutput({
* routeTableId: fooRouteEntry.routeTableId,
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* default = alicloud.get_zones(available_resource_creation="VSwitch")
* default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
* cpu_core_count=1,
* memory_size=2)
* default_get_images = alicloud.ecs.get_images(name_regex="^ubuntu_18.*64",
* most_recent=True,
* owners="system")
* config = pulumi.Config()
* name = config.get("name")
* if name is None:
* name = "tf-testAccRouteEntryConfig"
* foo_network = alicloud.vpc.Network("foo",
* name=name,
* cidr_block="10.1.0.0/21")
* foo_switch = alicloud.vpc.Switch("foo",
* vpc_id=foo_network.id,
* cidr_block="10.1.1.0/24",
* availability_zone=default.zones[0].id,
* vswitch_name=name)
* tf_test_foo = alicloud.ecs.SecurityGroup("tf_test_foo",
* name=name,
* description="foo",
* vpc_id=foo_network.id)
* foo_instance = alicloud.ecs.Instance("foo",
* security_groups=[tf_test_foo.id],
* vswitch_id=foo_switch.id,
* allocate_public_ip=True,
* instance_charge_type="PostPaid",
* instance_type=default_get_instance_types.instance_types[0].id,
* internet_charge_type="PayByTraffic",
* internet_max_bandwidth_out=5,
* system_disk_category="cloud_efficiency",
* image_id=default_get_images.images[0].id,
* instance_name=name)
* foo_route_entry = alicloud.vpc.RouteEntry("foo",
* route_table_id=foo_network.route_table_id,
* destination_cidrblock="172.11.1.1/32",
* nexthop_type="Instance",
* nexthop_id=foo_instance.id)
* ingress = alicloud.ecs.SecurityGroupRule("ingress",
* type="ingress",
* ip_protocol="tcp",
* nic_type="intranet",
* policy="accept",
* port_range="22/22",
* priority=1,
* security_group_id=tf_test_foo.id,
* cidr_ip="0.0.0.0/0")
* foo = alicloud.vpc.get_route_entries_output(route_table_id=foo_route_entry.route_table_id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var @default = AliCloud.GetZones.Invoke(new()
* {
* AvailableResourceCreation = "VSwitch",
* });
* var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
* {
* AvailabilityZone = @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
* CpuCoreCount = 1,
* MemorySize = 2,
* });
* var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()
* {
* NameRegex = "^ubuntu_18.*64",
* MostRecent = true,
* Owners = "system",
* });
* var config = new Config();
* var name = config.Get("name") ?? "tf-testAccRouteEntryConfig";
* var fooNetwork = new AliCloud.Vpc.Network("foo", new()
* {
* Name = name,
* CidrBlock = "10.1.0.0/21",
* });
* var fooSwitch = new AliCloud.Vpc.Switch("foo", new()
* {
* VpcId = fooNetwork.Id,
* CidrBlock = "10.1.1.0/24",
* AvailabilityZone = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
* VswitchName = name,
* });
* var tfTestFoo = new AliCloud.Ecs.SecurityGroup("tf_test_foo", new()
* {
* Name = name,
* Description = "foo",
* VpcId = fooNetwork.Id,
* });
* var fooInstance = new AliCloud.Ecs.Instance("foo", new()
* {
* SecurityGroups = new[]
* {
* tfTestFoo.Id,
* },
* VswitchId = fooSwitch.Id,
* AllocatePublicIp = true,
* InstanceChargeType = "PostPaid",
* InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
* InternetChargeType = "PayByTraffic",
* InternetMaxBandwidthOut = 5,
* SystemDiskCategory = "cloud_efficiency",
* ImageId = defaultGetImages.Apply(getImagesResult => getImagesResult.Images[0]?.Id),
* InstanceName = name,
* });
* var fooRouteEntry = new AliCloud.Vpc.RouteEntry("foo", new()
* {
* RouteTableId = fooNetwork.RouteTableId,
* DestinationCidrblock = "172.11.1.1/32",
* NexthopType = "Instance",
* NexthopId = fooInstance.Id,
* });
* var ingress = new AliCloud.Ecs.SecurityGroupRule("ingress", new()
* {
* Type = "ingress",
* IpProtocol = "tcp",
* NicType = "intranet",
* Policy = "accept",
* PortRange = "22/22",
* Priority = 1,
* SecurityGroupId = tfTestFoo.Id,
* CidrIp = "0.0.0.0/0",
* });
* var foo = AliCloud.Vpc.GetRouteEntries.Invoke(new()
* {
* RouteTableId = fooRouteEntry.RouteTableId,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "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 {
* _default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
* AvailableResourceCreation: pulumi.StringRef("VSwitch"),
* }, nil)
* if err != nil {
* return err
* }
* defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
* AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
* CpuCoreCount: pulumi.IntRef(1),
* MemorySize: pulumi.Float64Ref(2),
* }, nil)
* if err != nil {
* return err
* }
* defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
* NameRegex: pulumi.StringRef("^ubuntu_18.*64"),
* MostRecent: pulumi.BoolRef(true),
* Owners: pulumi.StringRef("system"),
* }, nil)
* if err != nil {
* return err
* }
* cfg := config.New(ctx, "")
* name := "tf-testAccRouteEntryConfig"
* if param := cfg.Get("name"); param != "" {
* name = param
* }
* fooNetwork, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
* Name: pulumi.String(name),
* CidrBlock: pulumi.String("10.1.0.0/21"),
* })
* if err != nil {
* return err
* }
* fooSwitch, err := vpc.NewSwitch(ctx, "foo", &vpc.SwitchArgs{
* VpcId: fooNetwork.ID(),
* CidrBlock: pulumi.String("10.1.1.0/24"),
* AvailabilityZone: pulumi.String(_default.Zones[0].Id),
* VswitchName: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* tfTestFoo, err := ecs.NewSecurityGroup(ctx, "tf_test_foo", &ecs.SecurityGroupArgs{
* Name: pulumi.String(name),
* Description: pulumi.String("foo"),
* VpcId: fooNetwork.ID(),
* })
* if err != nil {
* return err
* }
* fooInstance, err := ecs.NewInstance(ctx, "foo", &ecs.InstanceArgs{
* SecurityGroups: pulumi.StringArray{
* tfTestFoo.ID(),
* },
* VswitchId: fooSwitch.ID(),
* AllocatePublicIp: pulumi.Bool(true),
* InstanceChargeType: pulumi.String("PostPaid"),
* InstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
* InternetChargeType: pulumi.String("PayByTraffic"),
* InternetMaxBandwidthOut: pulumi.Int(5),
* SystemDiskCategory: pulumi.String("cloud_efficiency"),
* ImageId: pulumi.String(defaultGetImages.Images[0].Id),
* InstanceName: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* fooRouteEntry, err := vpc.NewRouteEntry(ctx, "foo", &vpc.RouteEntryArgs{
* RouteTableId: fooNetwork.RouteTableId,
* DestinationCidrblock: pulumi.String("172.11.1.1/32"),
* NexthopType: pulumi.String("Instance"),
* NexthopId: fooInstance.ID(),
* })
* if err != nil {
* return err
* }
* _, err = ecs.NewSecurityGroupRule(ctx, "ingress", &ecs.SecurityGroupRuleArgs{
* Type: pulumi.String("ingress"),
* IpProtocol: pulumi.String("tcp"),
* NicType: pulumi.String("intranet"),
* Policy: pulumi.String("accept"),
* PortRange: pulumi.String("22/22"),
* Priority: pulumi.Int(1),
* SecurityGroupId: tfTestFoo.ID(),
* CidrIp: pulumi.String("0.0.0.0/0"),
* })
* if err != nil {
* return err
* }
* _ = vpc.GetRouteEntriesOutput(ctx, vpc.GetRouteEntriesOutputArgs{
* RouteTableId: fooRouteEntry.RouteTableId,
* }, nil)
* return nil
* })
* }
* ```
* ```java
* 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.ecs.EcsFunctions;
* import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
* import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
* 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.ecs.SecurityGroup;
* import com.pulumi.alicloud.ecs.SecurityGroupArgs;
* import com.pulumi.alicloud.ecs.Instance;
* import com.pulumi.alicloud.ecs.InstanceArgs;
* import com.pulumi.alicloud.vpc.RouteEntry;
* import com.pulumi.alicloud.vpc.RouteEntryArgs;
* import com.pulumi.alicloud.ecs.SecurityGroupRule;
* import com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetRouteEntriesArgs;
* 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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()
* .availableResourceCreation("VSwitch")
* .build());
* final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
* .availabilityZone(default_.zones()[0].id())
* .cpuCoreCount(1)
* .memorySize(2)
* .build());
* final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()
* .nameRegex("^ubuntu_18.*64")
* .mostRecent(true)
* .owners("system")
* .build());
* final var name = config.get("name").orElse("tf-testAccRouteEntryConfig");
* var fooNetwork = new Network("fooNetwork", NetworkArgs.builder()
* .name(name)
* .cidrBlock("10.1.0.0/21")
* .build());
* var fooSwitch = new Switch("fooSwitch", SwitchArgs.builder()
* .vpcId(fooNetwork.id())
* .cidrBlock("10.1.1.0/24")
* .availabilityZone(default_.zones()[0].id())
* .vswitchName(name)
* .build());
* var tfTestFoo = new SecurityGroup("tfTestFoo", SecurityGroupArgs.builder()
* .name(name)
* .description("foo")
* .vpcId(fooNetwork.id())
* .build());
* var fooInstance = new Instance("fooInstance", InstanceArgs.builder()
* .securityGroups(tfTestFoo.id())
* .vswitchId(fooSwitch.id())
* .allocatePublicIp(true)
* .instanceChargeType("PostPaid")
* .instanceType(defaultGetInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
* .internetChargeType("PayByTraffic")
* .internetMaxBandwidthOut(5)
* .systemDiskCategory("cloud_efficiency")
* .imageId(defaultGetImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
* .instanceName(name)
* .build());
* var fooRouteEntry = new RouteEntry("fooRouteEntry", RouteEntryArgs.builder()
* .routeTableId(fooNetwork.routeTableId())
* .destinationCidrblock("172.11.1.1/32")
* .nexthopType("Instance")
* .nexthopId(fooInstance.id())
* .build());
* var ingress = new SecurityGroupRule("ingress", SecurityGroupRuleArgs.builder()
* .type("ingress")
* .ipProtocol("tcp")
* .nicType("intranet")
* .policy("accept")
* .portRange("22/22")
* .priority(1)
* .securityGroupId(tfTestFoo.id())
* .cidrIp("0.0.0.0/0")
* .build());
* final var foo = VpcFunctions.getRouteEntries(GetRouteEntriesArgs.builder()
* .routeTableId(fooRouteEntry.routeTableId())
* .build());
* }
* }
* ```
* ```yaml
* configuration:
* name:
* type: string
* default: tf-testAccRouteEntryConfig
* resources:
* fooNetwork:
* type: alicloud:vpc:Network
* name: foo
* properties:
* name: ${name}
* cidrBlock: 10.1.0.0/21
* fooSwitch:
* type: alicloud:vpc:Switch
* name: foo
* properties:
* vpcId: ${fooNetwork.id}
* cidrBlock: 10.1.1.0/24
* availabilityZone: ${default.zones[0].id}
* vswitchName: ${name}
* fooRouteEntry:
* type: alicloud:vpc:RouteEntry
* name: foo
* properties:
* routeTableId: ${fooNetwork.routeTableId}
* destinationCidrblock: 172.11.1.1/32
* nexthopType: Instance
* nexthopId: ${fooInstance.id}
* tfTestFoo:
* type: alicloud:ecs:SecurityGroup
* name: tf_test_foo
* properties:
* name: ${name}
* description: foo
* vpcId: ${fooNetwork.id}
* ingress:
* type: alicloud:ecs:SecurityGroupRule
* properties:
* type: ingress
* ipProtocol: tcp
* nicType: intranet
* policy: accept
* portRange: 22/22
* priority: 1
* securityGroupId: ${tfTestFoo.id}
* cidrIp: 0.0.0.0/0
* fooInstance:
* type: alicloud:ecs:Instance
* name: foo
* properties:
* securityGroups:
* - ${tfTestFoo.id}
* vswitchId: ${fooSwitch.id}
* allocatePublicIp: true # series III
* instanceChargeType: PostPaid
* instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}
* internetChargeType: PayByTraffic
* internetMaxBandwidthOut: 5
* systemDiskCategory: cloud_efficiency
* imageId: ${defaultGetImages.images[0].id}
* instanceName: ${name}
* variables:
* default:
* fn::invoke:
* Function: alicloud:getZones
* Arguments:
* availableResourceCreation: VSwitch
* defaultGetInstanceTypes:
* fn::invoke:
* Function: alicloud:ecs:getInstanceTypes
* Arguments:
* availabilityZone: ${default.zones[0].id}
* cpuCoreCount: 1
* memorySize: 2
* defaultGetImages:
* fn::invoke:
* Function: alicloud:ecs:getImages
* Arguments:
* nameRegex: ^ubuntu_18.*64
* mostRecent: true
* owners: system
* foo:
* fn::invoke:
* Function: alicloud:vpc:getRouteEntries
* Arguments:
* routeTableId: ${fooRouteEntry.routeTableId}
* ```
*
* @param argument A collection of arguments for invoking getRouteEntries.
* @return A collection of values returned by getRouteEntries.
*/
public suspend fun getRouteEntries(argument: GetRouteEntriesPlainArgs): GetRouteEntriesResult =
getRouteEntriesResultToKotlin(getRouteEntriesPlain(argument.toJava()).await())
/**
* @see [getRouteEntries].
* @param cidrBlock The destination CIDR block of the route entry.
* @param instanceId The instance ID of the next hop.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param routeTableId The ID of the router table to which the route entry belongs.
* @param type The type of the route entry.
* @return A collection of values returned by getRouteEntries.
*/
public suspend fun getRouteEntries(
cidrBlock: String? = null,
instanceId: String? = null,
outputFile: String? = null,
routeTableId: String,
type: String? = null,
): GetRouteEntriesResult {
val argument = GetRouteEntriesPlainArgs(
cidrBlock = cidrBlock,
instanceId = instanceId,
outputFile = outputFile,
routeTableId = routeTableId,
type = type,
)
return getRouteEntriesResultToKotlin(getRouteEntriesPlain(argument.toJava()).await())
}
/**
* @see [getRouteEntries].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetRouteEntriesPlainArgs].
* @return A collection of values returned by getRouteEntries.
*/
public suspend fun getRouteEntries(argument: suspend GetRouteEntriesPlainArgsBuilder.() -> Unit): GetRouteEntriesResult {
val builder = GetRouteEntriesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getRouteEntriesResultToKotlin(getRouteEntriesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides a list of Route Tables owned by an Alibaba Cloud account.
* > **NOTE:** Available in 1.36.0+.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const config = new pulumi.Config();
* const name = config.get("name") || "route-tables-datasource-example-name";
* const fooNetwork = new alicloud.vpc.Network("foo", {
* cidrBlock: "172.16.0.0/12",
* vpcName: name,
* });
* const fooRouteTable = new alicloud.vpc.RouteTable("foo", {
* vpcId: fooNetwork.id,
* routeTableName: name,
* description: name,
* });
* const foo = alicloud.vpc.getRouteTablesOutput({
* ids: [fooRouteTable.id],
* });
* export const routeTableIds = foo.apply(foo => foo.ids);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* config = pulumi.Config()
* name = config.get("name")
* if name is None:
* name = "route-tables-datasource-example-name"
* foo_network = alicloud.vpc.Network("foo",
* cidr_block="172.16.0.0/12",
* vpc_name=name)
* foo_route_table = alicloud.vpc.RouteTable("foo",
* vpc_id=foo_network.id,
* route_table_name=name,
* description=name)
* foo = alicloud.vpc.get_route_tables_output(ids=[foo_route_table.id])
* pulumi.export("routeTableIds", foo.ids)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var config = new Config();
* var name = config.Get("name") ?? "route-tables-datasource-example-name";
* var fooNetwork = new AliCloud.Vpc.Network("foo", new()
* {
* CidrBlock = "172.16.0.0/12",
* VpcName = name,
* });
* var fooRouteTable = new AliCloud.Vpc.RouteTable("foo", new()
* {
* VpcId = fooNetwork.Id,
* RouteTableName = name,
* Description = name,
* });
* var foo = AliCloud.Vpc.GetRouteTables.Invoke(new()
* {
* Ids = new[]
* {
* fooRouteTable.Id,
* },
* });
* return new Dictionary
* {
* ["routeTableIds"] = foo.Apply(getRouteTablesResult => getRouteTablesResult.Ids),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "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, "")
* name := "route-tables-datasource-example-name";
* if param := cfg.Get("name"); param != ""{
* name = param
* }
* fooNetwork, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
* CidrBlock: pulumi.String("172.16.0.0/12"),
* VpcName: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* fooRouteTable, err := vpc.NewRouteTable(ctx, "foo", &vpc.RouteTableArgs{
* VpcId: fooNetwork.ID(),
* RouteTableName: pulumi.String(name),
* Description: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* foo := vpc.GetRouteTablesOutput(ctx, vpc.GetRouteTablesOutputArgs{
* Ids: pulumi.StringArray{
* fooRouteTable.ID(),
* },
* }, nil);
* ctx.Export("routeTableIds", foo.ApplyT(func(foo vpc.GetRouteTablesResult) (interface{}, error) {
* return foo.Ids, nil
* }).(pulumi.Interface{}Output))
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.Network;
* import com.pulumi.alicloud.vpc.NetworkArgs;
* import com.pulumi.alicloud.vpc.RouteTable;
* import com.pulumi.alicloud.vpc.RouteTableArgs;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetRouteTablesArgs;
* 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("route-tables-datasource-example-name");
* var fooNetwork = new Network("fooNetwork", NetworkArgs.builder()
* .cidrBlock("172.16.0.0/12")
* .vpcName(name)
* .build());
* var fooRouteTable = new RouteTable("fooRouteTable", RouteTableArgs.builder()
* .vpcId(fooNetwork.id())
* .routeTableName(name)
* .description(name)
* .build());
* final var foo = VpcFunctions.getRouteTables(GetRouteTablesArgs.builder()
* .ids(fooRouteTable.id())
* .build());
* ctx.export("routeTableIds", foo.applyValue(getRouteTablesResult -> getRouteTablesResult).applyValue(foo -> foo.applyValue(getRouteTablesResult -> getRouteTablesResult.ids())));
* }
* }
* ```
* ```yaml
* configuration:
* name:
* type: string
* default: route-tables-datasource-example-name
* resources:
* fooNetwork:
* type: alicloud:vpc:Network
* name: foo
* properties:
* cidrBlock: 172.16.0.0/12
* vpcName: ${name}
* fooRouteTable:
* type: alicloud:vpc:RouteTable
* name: foo
* properties:
* vpcId: ${fooNetwork.id}
* routeTableName: ${name}
* description: ${name}
* variables:
* foo:
* fn::invoke:
* Function: alicloud:vpc:getRouteTables
* Arguments:
* ids:
* - ${fooRouteTable.id}
* outputs:
* routeTableIds: ${foo.ids}
* ```
*
* @param argument A collection of arguments for invoking getRouteTables.
* @return A collection of values returned by getRouteTables.
*/
public suspend fun getRouteTables(argument: GetRouteTablesPlainArgs): GetRouteTablesResult =
getRouteTablesResultToKotlin(getRouteTablesPlain(argument.toJava()).await())
/**
* @see [getRouteTables].
* @param ids A list of Route Tables IDs.
* @param nameRegex A regex string to filter route tables by name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param pageNumber
* @param pageSize
* @param resourceGroupId The Id of resource group which route tables belongs.
* @param routeTableName The route table name.
* @param routerId The router ID.
* @param routerType The route type of route table. Valid values: `VRouter` and `VBR`.
* @param status The status of resource. Valid values: `Available` and `Pending`.
* @param tags A mapping of tags to assign to the resource.
* @param vpcId Vpc id of the route table.
* @return A collection of values returned by getRouteTables.
*/
public suspend fun getRouteTables(
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
pageNumber: Int? = null,
pageSize: Int? = null,
resourceGroupId: String? = null,
routeTableName: String? = null,
routerId: String? = null,
routerType: String? = null,
status: String? = null,
tags: Map? = null,
vpcId: String? = null,
): GetRouteTablesResult {
val argument = GetRouteTablesPlainArgs(
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
pageNumber = pageNumber,
pageSize = pageSize,
resourceGroupId = resourceGroupId,
routeTableName = routeTableName,
routerId = routerId,
routerType = routerType,
status = status,
tags = tags,
vpcId = vpcId,
)
return getRouteTablesResultToKotlin(getRouteTablesPlain(argument.toJava()).await())
}
/**
* @see [getRouteTables].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetRouteTablesPlainArgs].
* @return A collection of values returned by getRouteTables.
*/
public suspend fun getRouteTables(argument: suspend GetRouteTablesPlainArgsBuilder.() -> Unit): GetRouteTablesResult {
val builder = GetRouteTablesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getRouteTablesResultToKotlin(getRouteTablesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides information about [router interfaces](https://www.alibabacloud.com/help/en/express-connect/developer-reference/api-vpc-2016-04-28-describerouterinterfaces-efficiency-channels)
* that connect VPCs together.
* > **DEPRECATED:** This datasource has been deprecated from version `1.199.0`. Please use new data source alicloud_express_connect_router_interfaces.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const routerInterfacesDs = alicloud.vpc.getRouterInterfaces({
* nameRegex: "^testenv",
* status: "Active",
* });
* export const firstRouterInterfaceId = routerInterfacesDs.then(routerInterfacesDs => routerInterfacesDs.interfaces?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* router_interfaces_ds = alicloud.vpc.get_router_interfaces(name_regex="^testenv",
* status="Active")
* pulumi.export("firstRouterInterfaceId", router_interfaces_ds.interfaces[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var routerInterfacesDs = AliCloud.Vpc.GetRouterInterfaces.Invoke(new()
* {
* NameRegex = "^testenv",
* Status = "Active",
* });
* return new Dictionary
* {
* ["firstRouterInterfaceId"] = routerInterfacesDs.Apply(getRouterInterfacesResult => getRouterInterfacesResult.Interfaces[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* routerInterfacesDs, err := vpc.GetRouterInterfaces(ctx, &vpc.GetRouterInterfacesArgs{
* NameRegex: pulumi.StringRef("^testenv"),
* Status: pulumi.StringRef("Active"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("firstRouterInterfaceId", routerInterfacesDs.Interfaces[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetRouterInterfacesArgs;
* 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 routerInterfacesDs = VpcFunctions.getRouterInterfaces(GetRouterInterfacesArgs.builder()
* .nameRegex("^testenv")
* .status("Active")
* .build());
* ctx.export("firstRouterInterfaceId", routerInterfacesDs.applyValue(getRouterInterfacesResult -> getRouterInterfacesResult.interfaces()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* routerInterfacesDs:
* fn::invoke:
* Function: alicloud:vpc:getRouterInterfaces
* Arguments:
* nameRegex: ^testenv
* status: Active
* outputs:
* firstRouterInterfaceId: ${routerInterfacesDs.interfaces[0].id}
* ```
*
* @param argument A collection of arguments for invoking getRouterInterfaces.
* @return A collection of values returned by getRouterInterfaces.
*/
public suspend fun getRouterInterfaces(argument: GetRouterInterfacesPlainArgs): GetRouterInterfacesResult =
getRouterInterfacesResultToKotlin(getRouterInterfacesPlain(argument.toJava()).await())
/**
* @see [getRouterInterfaces].
* @param ids A list of router interface IDs.
* @param nameRegex A regex string used to filter by router interface name.
* @param oppositeInterfaceId ID of the peer router interface.
* @param oppositeInterfaceOwnerId Account ID of the owner of the peer router interface.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param role Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and
* `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `router_type` is set to `VBR`.
* @param routerId ID of the VRouter located in the local region.
* @param routerType Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).
* @param specification Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.
* @param status Expected status. Valid values are `Active`, `Inactive` and `Idle`.
* @return A collection of values returned by getRouterInterfaces.
*/
public suspend fun getRouterInterfaces(
ids: List? = null,
nameRegex: String? = null,
oppositeInterfaceId: String? = null,
oppositeInterfaceOwnerId: String? = null,
outputFile: String? = null,
role: String? = null,
routerId: String? = null,
routerType: String? = null,
specification: String? = null,
status: String? = null,
): GetRouterInterfacesResult {
val argument = GetRouterInterfacesPlainArgs(
ids = ids,
nameRegex = nameRegex,
oppositeInterfaceId = oppositeInterfaceId,
oppositeInterfaceOwnerId = oppositeInterfaceOwnerId,
outputFile = outputFile,
role = role,
routerId = routerId,
routerType = routerType,
specification = specification,
status = status,
)
return getRouterInterfacesResultToKotlin(getRouterInterfacesPlain(argument.toJava()).await())
}
/**
* @see [getRouterInterfaces].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetRouterInterfacesPlainArgs].
* @return A collection of values returned by getRouterInterfaces.
*/
public suspend fun getRouterInterfaces(argument: suspend GetRouterInterfacesPlainArgsBuilder.() -> Unit): GetRouterInterfacesResult {
val builder = GetRouterInterfacesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getRouterInterfacesResultToKotlin(getRouterInterfacesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides a list of Snat Entries owned by an Alibaba Cloud account.
* > **NOTE:** Available in 1.37.0+.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const config = new pulumi.Config();
* const name = config.get("name") || "snat-entry-example-name";
* const default = alicloud.getZones({
* availableResourceCreation: "VSwitch",
* });
* const fooNetwork = new alicloud.vpc.Network("foo", {
* name: name,
* cidrBlock: "172.16.0.0/12",
* });
* const fooSwitch = new alicloud.vpc.Switch("foo", {
* vpcId: fooNetwork.id,
* cidrBlock: "172.16.0.0/21",
* availabilityZone: _default.then(_default => _default.zones?.[0]?.id),
* vswitchName: name,
* });
* const fooNatGateway = new alicloud.vpc.NatGateway("foo", {
* vpcId: fooNetwork.id,
* specification: "Small",
* name: name,
* });
* const fooEipAddress = new alicloud.ecs.EipAddress("foo", {addressName: name});
* const fooEipAssociation = new alicloud.ecs.EipAssociation("foo", {
* allocationId: fooEipAddress.id,
* instanceId: fooNatGateway.id,
* });
* const fooSnatEntry = new alicloud.vpc.SnatEntry("foo", {
* snatTableId: fooNatGateway.snatTableIds,
* sourceVswitchId: fooSwitch.id,
* snatIp: fooEipAddress.ipAddress,
* });
* const foo = alicloud.vpc.getSnatEntriesOutput({
* snatTableId: fooSnatEntry.snatTableId,
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* config = pulumi.Config()
* name = config.get("name")
* if name is None:
* name = "snat-entry-example-name"
* default = alicloud.get_zones(available_resource_creation="VSwitch")
* foo_network = alicloud.vpc.Network("foo",
* name=name,
* cidr_block="172.16.0.0/12")
* foo_switch = alicloud.vpc.Switch("foo",
* vpc_id=foo_network.id,
* cidr_block="172.16.0.0/21",
* availability_zone=default.zones[0].id,
* vswitch_name=name)
* foo_nat_gateway = alicloud.vpc.NatGateway("foo",
* vpc_id=foo_network.id,
* specification="Small",
* name=name)
* foo_eip_address = alicloud.ecs.EipAddress("foo", address_name=name)
* foo_eip_association = alicloud.ecs.EipAssociation("foo",
* allocation_id=foo_eip_address.id,
* instance_id=foo_nat_gateway.id)
* foo_snat_entry = alicloud.vpc.SnatEntry("foo",
* snat_table_id=foo_nat_gateway.snat_table_ids,
* source_vswitch_id=foo_switch.id,
* snat_ip=foo_eip_address.ip_address)
* foo = alicloud.vpc.get_snat_entries_output(snat_table_id=foo_snat_entry.snat_table_id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var config = new Config();
* var name = config.Get("name") ?? "snat-entry-example-name";
* var @default = AliCloud.GetZones.Invoke(new()
* {
* AvailableResourceCreation = "VSwitch",
* });
* var fooNetwork = new AliCloud.Vpc.Network("foo", new()
* {
* Name = name,
* CidrBlock = "172.16.0.0/12",
* });
* var fooSwitch = new AliCloud.Vpc.Switch("foo", new()
* {
* VpcId = fooNetwork.Id,
* CidrBlock = "172.16.0.0/21",
* AvailabilityZone = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
* VswitchName = name,
* });
* var fooNatGateway = new AliCloud.Vpc.NatGateway("foo", new()
* {
* VpcId = fooNetwork.Id,
* Specification = "Small",
* Name = name,
* });
* var fooEipAddress = new AliCloud.Ecs.EipAddress("foo", new()
* {
* AddressName = name,
* });
* var fooEipAssociation = new AliCloud.Ecs.EipAssociation("foo", new()
* {
* AllocationId = fooEipAddress.Id,
* InstanceId = fooNatGateway.Id,
* });
* var fooSnatEntry = new AliCloud.Vpc.SnatEntry("foo", new()
* {
* SnatTableId = fooNatGateway.SnatTableIds,
* SourceVswitchId = fooSwitch.Id,
* SnatIp = fooEipAddress.IpAddress,
* });
* var foo = AliCloud.Vpc.GetSnatEntries.Invoke(new()
* {
* SnatTableId = fooSnatEntry.SnatTableId,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "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, "")
* name := "snat-entry-example-name"
* if param := cfg.Get("name"); param != "" {
* name = param
* }
* _default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
* AvailableResourceCreation: pulumi.StringRef("VSwitch"),
* }, nil)
* if err != nil {
* return err
* }
* fooNetwork, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
* Name: pulumi.String(name),
* CidrBlock: pulumi.String("172.16.0.0/12"),
* })
* if err != nil {
* return err
* }
* fooSwitch, err := vpc.NewSwitch(ctx, "foo", &vpc.SwitchArgs{
* VpcId: fooNetwork.ID(),
* CidrBlock: pulumi.String("172.16.0.0/21"),
* AvailabilityZone: pulumi.String(_default.Zones[0].Id),
* VswitchName: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* fooNatGateway, err := vpc.NewNatGateway(ctx, "foo", &vpc.NatGatewayArgs{
* VpcId: fooNetwork.ID(),
* Specification: pulumi.String("Small"),
* Name: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* fooEipAddress, err := ecs.NewEipAddress(ctx, "foo", &ecs.EipAddressArgs{
* AddressName: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* _, err = ecs.NewEipAssociation(ctx, "foo", &ecs.EipAssociationArgs{
* AllocationId: fooEipAddress.ID(),
* InstanceId: fooNatGateway.ID(),
* })
* if err != nil {
* return err
* }
* fooSnatEntry, err := vpc.NewSnatEntry(ctx, "foo", &vpc.SnatEntryArgs{
* SnatTableId: fooNatGateway.SnatTableIds,
* SourceVswitchId: fooSwitch.ID(),
* SnatIp: fooEipAddress.IpAddress,
* })
* if err != nil {
* return err
* }
* _ = vpc.GetSnatEntriesOutput(ctx, vpc.GetSnatEntriesOutputArgs{
* SnatTableId: fooSnatEntry.SnatTableId,
* }, nil)
* return nil
* })
* }
* ```
* ```java
* 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.vpc.NatGateway;
* import com.pulumi.alicloud.vpc.NatGatewayArgs;
* import com.pulumi.alicloud.ecs.EipAddress;
* import com.pulumi.alicloud.ecs.EipAddressArgs;
* import com.pulumi.alicloud.ecs.EipAssociation;
* import com.pulumi.alicloud.ecs.EipAssociationArgs;
* import com.pulumi.alicloud.vpc.SnatEntry;
* import com.pulumi.alicloud.vpc.SnatEntryArgs;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetSnatEntriesArgs;
* 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("snat-entry-example-name");
* final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
* .availableResourceCreation("VSwitch")
* .build());
* var fooNetwork = new Network("fooNetwork", NetworkArgs.builder()
* .name(name)
* .cidrBlock("172.16.0.0/12")
* .build());
* var fooSwitch = new Switch("fooSwitch", SwitchArgs.builder()
* .vpcId(fooNetwork.id())
* .cidrBlock("172.16.0.0/21")
* .availabilityZone(default_.zones()[0].id())
* .vswitchName(name)
* .build());
* var fooNatGateway = new NatGateway("fooNatGateway", NatGatewayArgs.builder()
* .vpcId(fooNetwork.id())
* .specification("Small")
* .name(name)
* .build());
* var fooEipAddress = new EipAddress("fooEipAddress", EipAddressArgs.builder()
* .addressName(name)
* .build());
* var fooEipAssociation = new EipAssociation("fooEipAssociation", EipAssociationArgs.builder()
* .allocationId(fooEipAddress.id())
* .instanceId(fooNatGateway.id())
* .build());
* var fooSnatEntry = new SnatEntry("fooSnatEntry", SnatEntryArgs.builder()
* .snatTableId(fooNatGateway.snatTableIds())
* .sourceVswitchId(fooSwitch.id())
* .snatIp(fooEipAddress.ipAddress())
* .build());
* final var foo = VpcFunctions.getSnatEntries(GetSnatEntriesArgs.builder()
* .snatTableId(fooSnatEntry.snatTableId())
* .build());
* }
* }
* ```
* ```yaml
* configuration:
* name:
* type: string
* default: snat-entry-example-name
* resources:
* fooNetwork:
* type: alicloud:vpc:Network
* name: foo
* properties:
* name: ${name}
* cidrBlock: 172.16.0.0/12
* fooSwitch:
* type: alicloud:vpc:Switch
* name: foo
* properties:
* vpcId: ${fooNetwork.id}
* cidrBlock: 172.16.0.0/21
* availabilityZone: ${default.zones[0].id}
* vswitchName: ${name}
* fooNatGateway:
* type: alicloud:vpc:NatGateway
* name: foo
* properties:
* vpcId: ${fooNetwork.id}
* specification: Small
* name: ${name}
* fooEipAddress:
* type: alicloud:ecs:EipAddress
* name: foo
* properties:
* addressName: ${name}
* fooEipAssociation:
* type: alicloud:ecs:EipAssociation
* name: foo
* properties:
* allocationId: ${fooEipAddress.id}
* instanceId: ${fooNatGateway.id}
* fooSnatEntry:
* type: alicloud:vpc:SnatEntry
* name: foo
* properties:
* snatTableId: ${fooNatGateway.snatTableIds}
* sourceVswitchId: ${fooSwitch.id}
* snatIp: ${fooEipAddress.ipAddress}
* variables:
* default:
* fn::invoke:
* Function: alicloud:getZones
* Arguments:
* availableResourceCreation: VSwitch
* foo:
* fn::invoke:
* Function: alicloud:vpc:getSnatEntries
* Arguments:
* snatTableId: ${fooSnatEntry.snatTableId}
* ```
*
* @param argument A collection of arguments for invoking getSnatEntries.
* @return A collection of values returned by getSnatEntries.
*/
public suspend fun getSnatEntries(argument: GetSnatEntriesPlainArgs): GetSnatEntriesResult =
getSnatEntriesResultToKotlin(getSnatEntriesPlain(argument.toJava()).await())
/**
* @see [getSnatEntries].
* @param ids A list of Snat Entries IDs.
* @param nameRegex A regex string to filter results by the resource name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param snatEntryName The name of snat entry.
* @param snatIp The public IP of the Snat Entry.
* @param snatTableId The ID of the Snat table.
* @param sourceCidr The source CIDR block of the Snat Entry.
* @param sourceVswitchId The source vswitch ID.
* @param status The status of the Snat Entry. Valid values: `Available`, `Deleting` and `Pending`.
* @return A collection of values returned by getSnatEntries.
*/
public suspend fun getSnatEntries(
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
snatEntryName: String? = null,
snatIp: String? = null,
snatTableId: String,
sourceCidr: String? = null,
sourceVswitchId: String? = null,
status: String? = null,
): GetSnatEntriesResult {
val argument = GetSnatEntriesPlainArgs(
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
snatEntryName = snatEntryName,
snatIp = snatIp,
snatTableId = snatTableId,
sourceCidr = sourceCidr,
sourceVswitchId = sourceVswitchId,
status = status,
)
return getSnatEntriesResultToKotlin(getSnatEntriesPlain(argument.toJava()).await())
}
/**
* @see [getSnatEntries].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetSnatEntriesPlainArgs].
* @return A collection of values returned by getSnatEntries.
*/
public suspend fun getSnatEntries(argument: suspend GetSnatEntriesPlainArgsBuilder.() -> Unit): GetSnatEntriesResult {
val builder = GetSnatEntriesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getSnatEntriesResultToKotlin(getSnatEntriesPlain(builtArgument.toJava()).await())
}
/**
* The SSL-VPN client certificates data source lists lots of SSL-VPN client certificates resource information owned by an Alicloud account.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const foo = alicloud.vpc.getSslVpnClientCerts({
* ids: ["fake-cert-id"],
* sslVpnServerId: "fake-server-id",
* outputFile: "/tmp/clientcert",
* nameRegex: "^foo",
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* foo = alicloud.vpc.get_ssl_vpn_client_certs(ids=["fake-cert-id"],
* ssl_vpn_server_id="fake-server-id",
* output_file="/tmp/clientcert",
* name_regex="^foo")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var foo = AliCloud.Vpc.GetSslVpnClientCerts.Invoke(new()
* {
* Ids = new[]
* {
* "fake-cert-id",
* },
* SslVpnServerId = "fake-server-id",
* OutputFile = "/tmp/clientcert",
* NameRegex = "^foo",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := vpc.GetSslVpnClientCerts(ctx, &vpc.GetSslVpnClientCertsArgs{
* Ids: []string{
* "fake-cert-id",
* },
* SslVpnServerId: pulumi.StringRef("fake-server-id"),
* OutputFile: pulumi.StringRef("/tmp/clientcert"),
* NameRegex: pulumi.StringRef("^foo"),
* }, nil)
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetSslVpnClientCertsArgs;
* 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 foo = VpcFunctions.getSslVpnClientCerts(GetSslVpnClientCertsArgs.builder()
* .ids("fake-cert-id")
* .sslVpnServerId("fake-server-id")
* .outputFile("/tmp/clientcert")
* .nameRegex("^foo")
* .build());
* }
* }
* ```
* ```yaml
* variables:
* foo:
* fn::invoke:
* Function: alicloud:vpc:getSslVpnClientCerts
* Arguments:
* ids:
* - fake-cert-id
* sslVpnServerId: fake-server-id
* outputFile: /tmp/clientcert
* nameRegex: ^foo
* ```
*
* @param argument A collection of arguments for invoking getSslVpnClientCerts.
* @return A collection of values returned by getSslVpnClientCerts.
*/
public suspend fun getSslVpnClientCerts(argument: GetSslVpnClientCertsPlainArgs): GetSslVpnClientCertsResult =
getSslVpnClientCertsResultToKotlin(getSslVpnClientCertsPlain(argument.toJava()).await())
/**
* @see [getSslVpnClientCerts].
* @param ids IDs of the SSL-VPN client certificates.
* @param nameRegex A regex string of SSL-VPN client certificate name.
* @param outputFile Save the result to the file.
* @param sslVpnServerId Use the SSL-VPN server ID as the search key.
* @return A collection of values returned by getSslVpnClientCerts.
*/
public suspend fun getSslVpnClientCerts(
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
sslVpnServerId: String? = null,
): GetSslVpnClientCertsResult {
val argument = GetSslVpnClientCertsPlainArgs(
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
sslVpnServerId = sslVpnServerId,
)
return getSslVpnClientCertsResultToKotlin(getSslVpnClientCertsPlain(argument.toJava()).await())
}
/**
* @see [getSslVpnClientCerts].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetSslVpnClientCertsPlainArgs].
* @return A collection of values returned by getSslVpnClientCerts.
*/
public suspend fun getSslVpnClientCerts(argument: suspend GetSslVpnClientCertsPlainArgsBuilder.() -> Unit): GetSslVpnClientCertsResult {
val builder = GetSslVpnClientCertsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getSslVpnClientCertsResultToKotlin(getSslVpnClientCertsPlain(builtArgument.toJava()).await())
}
/**
* The SSL-VPN servers data source lists lots of SSL-VPN servers resource information owned by an Alicloud account.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const foo = alicloud.vpc.getSslVpnServers({
* ids: ["fake-server-id"],
* vpnGatewayId: "fake-vpn-id",
* outputFile: "/tmp/sslserver",
* nameRegex: "^foo",
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* foo = alicloud.vpc.get_ssl_vpn_servers(ids=["fake-server-id"],
* vpn_gateway_id="fake-vpn-id",
* output_file="/tmp/sslserver",
* name_regex="^foo")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var foo = AliCloud.Vpc.GetSslVpnServers.Invoke(new()
* {
* Ids = new[]
* {
* "fake-server-id",
* },
* VpnGatewayId = "fake-vpn-id",
* OutputFile = "/tmp/sslserver",
* NameRegex = "^foo",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := vpc.GetSslVpnServers(ctx, &vpc.GetSslVpnServersArgs{
* Ids: []string{
* "fake-server-id",
* },
* VpnGatewayId: pulumi.StringRef("fake-vpn-id"),
* OutputFile: pulumi.StringRef("/tmp/sslserver"),
* NameRegex: pulumi.StringRef("^foo"),
* }, nil)
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetSslVpnServersArgs;
* 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 foo = VpcFunctions.getSslVpnServers(GetSslVpnServersArgs.builder()
* .ids("fake-server-id")
* .vpnGatewayId("fake-vpn-id")
* .outputFile("/tmp/sslserver")
* .nameRegex("^foo")
* .build());
* }
* }
* ```
* ```yaml
* variables:
* foo:
* fn::invoke:
* Function: alicloud:vpc:getSslVpnServers
* Arguments:
* ids:
* - fake-server-id
* vpnGatewayId: fake-vpn-id
* outputFile: /tmp/sslserver
* nameRegex: ^foo
* ```
*
* @param argument A collection of arguments for invoking getSslVpnServers.
* @return A collection of values returned by getSslVpnServers.
*/
public suspend fun getSslVpnServers(argument: GetSslVpnServersPlainArgs): GetSslVpnServersResult =
getSslVpnServersResultToKotlin(getSslVpnServersPlain(argument.toJava()).await())
/**
* @see [getSslVpnServers].
* @param ids IDs of the SSL-VPN servers.
* @param nameRegex A regex string of SSL-VPN server name.
* @param outputFile Save the result to the file.
* @param vpnGatewayId Use the VPN gateway ID as the search key.
* @return A collection of values returned by getSslVpnServers.
*/
public suspend fun getSslVpnServers(
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
vpnGatewayId: String? = null,
): GetSslVpnServersResult {
val argument = GetSslVpnServersPlainArgs(
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
vpnGatewayId = vpnGatewayId,
)
return getSslVpnServersResultToKotlin(getSslVpnServersPlain(argument.toJava()).await())
}
/**
* @see [getSslVpnServers].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetSslVpnServersPlainArgs].
* @return A collection of values returned by getSslVpnServers.
*/
public suspend fun getSslVpnServers(argument: suspend GetSslVpnServersPlainArgsBuilder.() -> Unit): GetSslVpnServersResult {
val builder = GetSslVpnServersPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getSslVpnServersResultToKotlin(getSslVpnServersPlain(builtArgument.toJava()).await())
}
/**
* This data source provides a list of VSwitches owned by an Alibaba Cloud account.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const config = new pulumi.Config();
* const name = config.get("name") || "vswitchDatasourceName";
* const default = alicloud.getZones({});
* const vpc = new alicloud.vpc.Network("vpc", {
* cidrBlock: "172.16.0.0/16",
* vpcName: name,
* });
* const vswitch = new alicloud.vpc.Switch("vswitch", {
* vswitchName: name,
* cidrBlock: "172.16.0.0/24",
* vpcId: vpc.id,
* availabilityZone: _default.then(_default => _default.zones?.[0]?.id),
* });
* const defaultGetSwitches = alicloud.vpc.getSwitchesOutput({
* nameRegex: vswitch.vswitchName,
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* config = pulumi.Config()
* name = config.get("name")
* if name is None:
* name = "vswitchDatasourceName"
* default = alicloud.get_zones()
* vpc = alicloud.vpc.Network("vpc",
* cidr_block="172.16.0.0/16",
* vpc_name=name)
* vswitch = alicloud.vpc.Switch("vswitch",
* vswitch_name=name,
* cidr_block="172.16.0.0/24",
* vpc_id=vpc.id,
* availability_zone=default.zones[0].id)
* default_get_switches = alicloud.vpc.get_switches_output(name_regex=vswitch.vswitch_name)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var config = new Config();
* var name = config.Get("name") ?? "vswitchDatasourceName";
* var @default = AliCloud.GetZones.Invoke();
* var vpc = new AliCloud.Vpc.Network("vpc", new()
* {
* CidrBlock = "172.16.0.0/16",
* VpcName = name,
* });
* var vswitch = new AliCloud.Vpc.Switch("vswitch", new()
* {
* VswitchName = name,
* CidrBlock = "172.16.0.0/24",
* VpcId = vpc.Id,
* AvailabilityZone = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
* });
* var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()
* {
* NameRegex = vswitch.VswitchName,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "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, "")
* name := "vswitchDatasourceName"
* if param := cfg.Get("name"); param != "" {
* name = param
* }
* _default, err := alicloud.GetZones(ctx, nil, nil)
* if err != nil {
* return err
* }
* vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
* CidrBlock: pulumi.String("172.16.0.0/16"),
* VpcName: pulumi.String(name),
* })
* if err != nil {
* return err
* }
* vswitch, err := vpc.NewSwitch(ctx, "vswitch", &vpc.SwitchArgs{
* VswitchName: pulumi.String(name),
* CidrBlock: pulumi.String("172.16.0.0/24"),
* VpcId: vpc.ID(),
* AvailabilityZone: pulumi.String(_default.Zones[0].Id),
* })
* if err != nil {
* return err
* }
* _ = vpc.GetSwitchesOutput(ctx, vpc.GetSwitchesOutputArgs{
* NameRegex: vswitch.VswitchName,
* }, nil)
* return nil
* })
* }
* ```
* ```java
* 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.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;
* 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("vswitchDatasourceName");
* final var default = AlicloudFunctions.getZones();
* var vpc = new Network("vpc", NetworkArgs.builder()
* .cidrBlock("172.16.0.0/16")
* .vpcName(name)
* .build());
* var vswitch = new Switch("vswitch", SwitchArgs.builder()
* .vswitchName(name)
* .cidrBlock("172.16.0.0/24")
* .vpcId(vpc.id())
* .availabilityZone(default_.zones()[0].id())
* .build());
* final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()
* .nameRegex(vswitch.vswitchName())
* .build());
* }
* }
* ```
* ```yaml
* configuration:
* name:
* type: string
* default: vswitchDatasourceName
* resources:
* vpc:
* type: alicloud:vpc:Network
* properties:
* cidrBlock: 172.16.0.0/16
* vpcName: ${name}
* vswitch:
* type: alicloud:vpc:Switch
* properties:
* vswitchName: ${name}
* cidrBlock: 172.16.0.0/24
* vpcId: ${vpc.id}
* availabilityZone: ${default.zones[0].id}
* variables:
* default:
* fn::invoke:
* Function: alicloud:getZones
* Arguments: {}
* defaultGetSwitches:
* fn::invoke:
* Function: alicloud:vpc:getSwitches
* Arguments:
* nameRegex: ${vswitch.vswitchName}
* ```
*
* @param argument A collection of arguments for invoking getSwitches.
* @return A collection of values returned by getSwitches.
*/
public suspend fun getSwitches(argument: GetSwitchesPlainArgs): GetSwitchesResult =
getSwitchesResultToKotlin(getSwitchesPlain(argument.toJava()).await())
/**
* @see [getSwitches].
* @param cidrBlock Filter results by a specific CIDR block. For example: "172.16.0.0/12".
* @param dryRun Specifies whether to precheck this request only. Valid values: `true` and `false`.
* @param ids A list of vSwitch IDs.
* @param isDefault Indicate whether the vSwitch is created by the system.
* @param nameRegex A regex string to filter results by name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param resourceGroupId The Id of resource group which VSWitch belongs.
* @param routeTableId The route table ID of the vSwitch.
* @param status The status of the vSwitch. Valid values: `Available` and `Pending`.
* @param tags A mapping of tags to assign to the resource.
* @param vpcId ID of the VPC that owns the vSwitch.
* @param vswitchName The name of the vSwitch.
* @param vswitchOwnerId The vSwitch owner id.
* @param zoneId The availability zone of the vSwitch.
* @return A collection of values returned by getSwitches.
*/
public suspend fun getSwitches(
cidrBlock: String? = null,
dryRun: Boolean? = null,
ids: List? = null,
isDefault: Boolean? = null,
nameRegex: String? = null,
outputFile: String? = null,
resourceGroupId: String? = null,
routeTableId: String? = null,
status: String? = null,
tags: Map? = null,
vpcId: String? = null,
vswitchName: String? = null,
vswitchOwnerId: Int? = null,
zoneId: String? = null,
): GetSwitchesResult {
val argument = GetSwitchesPlainArgs(
cidrBlock = cidrBlock,
dryRun = dryRun,
ids = ids,
isDefault = isDefault,
nameRegex = nameRegex,
outputFile = outputFile,
resourceGroupId = resourceGroupId,
routeTableId = routeTableId,
status = status,
tags = tags,
vpcId = vpcId,
vswitchName = vswitchName,
vswitchOwnerId = vswitchOwnerId,
zoneId = zoneId,
)
return getSwitchesResultToKotlin(getSwitchesPlain(argument.toJava()).await())
}
/**
* @see [getSwitches].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetSwitchesPlainArgs].
* @return A collection of values returned by getSwitches.
*/
public suspend fun getSwitches(argument: suspend GetSwitchesPlainArgsBuilder.() -> Unit): GetSwitchesResult {
val builder = GetSwitchesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getSwitchesResultToKotlin(getSwitchesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Traffic Mirror Filter Egress Rules of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.140.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getTrafficMirrorFilterEgressRules({
* trafficMirrorFilterId: "example_traffic_mirror_filter_id",
* ids: ["example_id"],
* });
* export const vpcTrafficMirrorFilterEgressRuleId1 = ids.then(ids => ids.rules?.[0]?.id);
* const status = alicloud.vpc.getTrafficMirrorFilterEgressRules({
* trafficMirrorFilterId: "example_traffic_mirror_filter_id",
* ids: ["example_id"],
* status: "Created",
* });
* export const vpcTrafficMirrorFilterEgressRuleId2 = status.then(status => status.rules?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_traffic_mirror_filter_egress_rules(traffic_mirror_filter_id="example_traffic_mirror_filter_id",
* ids=["example_id"])
* pulumi.export("vpcTrafficMirrorFilterEgressRuleId1", ids.rules[0].id)
* status = alicloud.vpc.get_traffic_mirror_filter_egress_rules(traffic_mirror_filter_id="example_traffic_mirror_filter_id",
* ids=["example_id"],
* status="Created")
* pulumi.export("vpcTrafficMirrorFilterEgressRuleId2", status.rules[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetTrafficMirrorFilterEgressRules.Invoke(new()
* {
* TrafficMirrorFilterId = "example_traffic_mirror_filter_id",
* Ids = new[]
* {
* "example_id",
* },
* });
* var status = AliCloud.Vpc.GetTrafficMirrorFilterEgressRules.Invoke(new()
* {
* TrafficMirrorFilterId = "example_traffic_mirror_filter_id",
* Ids = new[]
* {
* "example_id",
* },
* Status = "Created",
* });
* return new Dictionary
* {
* ["vpcTrafficMirrorFilterEgressRuleId1"] = ids.Apply(getTrafficMirrorFilterEgressRulesResult => getTrafficMirrorFilterEgressRulesResult.Rules[0]?.Id),
* ["vpcTrafficMirrorFilterEgressRuleId2"] = status.Apply(getTrafficMirrorFilterEgressRulesResult => getTrafficMirrorFilterEgressRulesResult.Rules[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetTrafficMirrorFilterEgressRules(ctx, &vpc.GetTrafficMirrorFilterEgressRulesArgs{
* TrafficMirrorFilterId: "example_traffic_mirror_filter_id",
* Ids: []string{
* "example_id",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorFilterEgressRuleId1", ids.Rules[0].Id)
* status, err := vpc.GetTrafficMirrorFilterEgressRules(ctx, &vpc.GetTrafficMirrorFilterEgressRulesArgs{
* TrafficMirrorFilterId: "example_traffic_mirror_filter_id",
* Ids: []string{
* "example_id",
* },
* Status: pulumi.StringRef("Created"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorFilterEgressRuleId2", status.Rules[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetTrafficMirrorFilterEgressRulesArgs;
* 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 ids = VpcFunctions.getTrafficMirrorFilterEgressRules(GetTrafficMirrorFilterEgressRulesArgs.builder()
* .trafficMirrorFilterId("example_traffic_mirror_filter_id")
* .ids("example_id")
* .build());
* ctx.export("vpcTrafficMirrorFilterEgressRuleId1", ids.applyValue(getTrafficMirrorFilterEgressRulesResult -> getTrafficMirrorFilterEgressRulesResult.rules()[0].id()));
* final var status = VpcFunctions.getTrafficMirrorFilterEgressRules(GetTrafficMirrorFilterEgressRulesArgs.builder()
* .trafficMirrorFilterId("example_traffic_mirror_filter_id")
* .ids("example_id")
* .status("Created")
* .build());
* ctx.export("vpcTrafficMirrorFilterEgressRuleId2", status.applyValue(getTrafficMirrorFilterEgressRulesResult -> getTrafficMirrorFilterEgressRulesResult.rules()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorFilterEgressRules
* Arguments:
* trafficMirrorFilterId: example_traffic_mirror_filter_id
* ids:
* - example_id
* status:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorFilterEgressRules
* Arguments:
* trafficMirrorFilterId: example_traffic_mirror_filter_id
* ids:
* - example_id
* status: Created
* outputs:
* vpcTrafficMirrorFilterEgressRuleId1: ${ids.rules[0].id}
* vpcTrafficMirrorFilterEgressRuleId2: ${status.rules[0].id}
* ```
*
* @param argument A collection of arguments for invoking getTrafficMirrorFilterEgressRules.
* @return A collection of values returned by getTrafficMirrorFilterEgressRules.
*/
public suspend fun getTrafficMirrorFilterEgressRules(argument: GetTrafficMirrorFilterEgressRulesPlainArgs): GetTrafficMirrorFilterEgressRulesResult =
getTrafficMirrorFilterEgressRulesResultToKotlin(getTrafficMirrorFilterEgressRulesPlain(argument.toJava()).await())
/**
* @see [getTrafficMirrorFilterEgressRules].
* @param ids A list of Traffic Mirror Filter Egress Rule IDs.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
* @param trafficMirrorFilterId The ID of the Traffic Mirror Filter.
* @return A collection of values returned by getTrafficMirrorFilterEgressRules.
*/
public suspend fun getTrafficMirrorFilterEgressRules(
ids: List? = null,
outputFile: String? = null,
status: String? = null,
trafficMirrorFilterId: String,
): GetTrafficMirrorFilterEgressRulesResult {
val argument = GetTrafficMirrorFilterEgressRulesPlainArgs(
ids = ids,
outputFile = outputFile,
status = status,
trafficMirrorFilterId = trafficMirrorFilterId,
)
return getTrafficMirrorFilterEgressRulesResultToKotlin(getTrafficMirrorFilterEgressRulesPlain(argument.toJava()).await())
}
/**
* @see [getTrafficMirrorFilterEgressRules].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorFilterEgressRulesPlainArgs].
* @return A collection of values returned by getTrafficMirrorFilterEgressRules.
*/
public suspend fun getTrafficMirrorFilterEgressRules(argument: suspend GetTrafficMirrorFilterEgressRulesPlainArgsBuilder.() -> Unit): GetTrafficMirrorFilterEgressRulesResult {
val builder = GetTrafficMirrorFilterEgressRulesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getTrafficMirrorFilterEgressRulesResultToKotlin(getTrafficMirrorFilterEgressRulesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Traffic Mirror Filter Ingress Rules of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.141.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getTrafficMirrorFilterIngressRules({
* trafficMirrorFilterId: "example_traffic_mirror_filter_id",
* ids: ["example_id"],
* });
* export const vpcTrafficMirrorFilterIngressRuleId1 = ids.then(ids => ids.rules?.[0]?.id);
* const status = alicloud.vpc.getTrafficMirrorFilterIngressRules({
* trafficMirrorFilterId: "example_traffic_mirror_filter_id",
* ids: ["example_id"],
* status: "Created",
* });
* export const vpcTrafficMirrorFilterIngressRuleId2 = status.then(status => status.rules?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_traffic_mirror_filter_ingress_rules(traffic_mirror_filter_id="example_traffic_mirror_filter_id",
* ids=["example_id"])
* pulumi.export("vpcTrafficMirrorFilterIngressRuleId1", ids.rules[0].id)
* status = alicloud.vpc.get_traffic_mirror_filter_ingress_rules(traffic_mirror_filter_id="example_traffic_mirror_filter_id",
* ids=["example_id"],
* status="Created")
* pulumi.export("vpcTrafficMirrorFilterIngressRuleId2", status.rules[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetTrafficMirrorFilterIngressRules.Invoke(new()
* {
* TrafficMirrorFilterId = "example_traffic_mirror_filter_id",
* Ids = new[]
* {
* "example_id",
* },
* });
* var status = AliCloud.Vpc.GetTrafficMirrorFilterIngressRules.Invoke(new()
* {
* TrafficMirrorFilterId = "example_traffic_mirror_filter_id",
* Ids = new[]
* {
* "example_id",
* },
* Status = "Created",
* });
* return new Dictionary
* {
* ["vpcTrafficMirrorFilterIngressRuleId1"] = ids.Apply(getTrafficMirrorFilterIngressRulesResult => getTrafficMirrorFilterIngressRulesResult.Rules[0]?.Id),
* ["vpcTrafficMirrorFilterIngressRuleId2"] = status.Apply(getTrafficMirrorFilterIngressRulesResult => getTrafficMirrorFilterIngressRulesResult.Rules[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetTrafficMirrorFilterIngressRules(ctx, &vpc.GetTrafficMirrorFilterIngressRulesArgs{
* TrafficMirrorFilterId: "example_traffic_mirror_filter_id",
* Ids: []string{
* "example_id",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorFilterIngressRuleId1", ids.Rules[0].Id)
* status, err := vpc.GetTrafficMirrorFilterIngressRules(ctx, &vpc.GetTrafficMirrorFilterIngressRulesArgs{
* TrafficMirrorFilterId: "example_traffic_mirror_filter_id",
* Ids: []string{
* "example_id",
* },
* Status: pulumi.StringRef("Created"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorFilterIngressRuleId2", status.Rules[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetTrafficMirrorFilterIngressRulesArgs;
* 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 ids = VpcFunctions.getTrafficMirrorFilterIngressRules(GetTrafficMirrorFilterIngressRulesArgs.builder()
* .trafficMirrorFilterId("example_traffic_mirror_filter_id")
* .ids("example_id")
* .build());
* ctx.export("vpcTrafficMirrorFilterIngressRuleId1", ids.applyValue(getTrafficMirrorFilterIngressRulesResult -> getTrafficMirrorFilterIngressRulesResult.rules()[0].id()));
* final var status = VpcFunctions.getTrafficMirrorFilterIngressRules(GetTrafficMirrorFilterIngressRulesArgs.builder()
* .trafficMirrorFilterId("example_traffic_mirror_filter_id")
* .ids("example_id")
* .status("Created")
* .build());
* ctx.export("vpcTrafficMirrorFilterIngressRuleId2", status.applyValue(getTrafficMirrorFilterIngressRulesResult -> getTrafficMirrorFilterIngressRulesResult.rules()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorFilterIngressRules
* Arguments:
* trafficMirrorFilterId: example_traffic_mirror_filter_id
* ids:
* - example_id
* status:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorFilterIngressRules
* Arguments:
* trafficMirrorFilterId: example_traffic_mirror_filter_id
* ids:
* - example_id
* status: Created
* outputs:
* vpcTrafficMirrorFilterIngressRuleId1: ${ids.rules[0].id}
* vpcTrafficMirrorFilterIngressRuleId2: ${status.rules[0].id}
* ```
*
* @param argument A collection of arguments for invoking getTrafficMirrorFilterIngressRules.
* @return A collection of values returned by getTrafficMirrorFilterIngressRules.
*/
public suspend fun getTrafficMirrorFilterIngressRules(argument: GetTrafficMirrorFilterIngressRulesPlainArgs): GetTrafficMirrorFilterIngressRulesResult =
getTrafficMirrorFilterIngressRulesResultToKotlin(getTrafficMirrorFilterIngressRulesPlain(argument.toJava()).await())
/**
* @see [getTrafficMirrorFilterIngressRules].
* @param ids A list of Traffic Mirror Filter Ingress Rule IDs.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
* @param trafficMirrorFilterId The ID of the Traffic Mirror Filter.
* @return A collection of values returned by getTrafficMirrorFilterIngressRules.
*/
public suspend fun getTrafficMirrorFilterIngressRules(
ids: List? = null,
outputFile: String? = null,
status: String? = null,
trafficMirrorFilterId: String,
): GetTrafficMirrorFilterIngressRulesResult {
val argument = GetTrafficMirrorFilterIngressRulesPlainArgs(
ids = ids,
outputFile = outputFile,
status = status,
trafficMirrorFilterId = trafficMirrorFilterId,
)
return getTrafficMirrorFilterIngressRulesResultToKotlin(getTrafficMirrorFilterIngressRulesPlain(argument.toJava()).await())
}
/**
* @see [getTrafficMirrorFilterIngressRules].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorFilterIngressRulesPlainArgs].
* @return A collection of values returned by getTrafficMirrorFilterIngressRules.
*/
public suspend fun getTrafficMirrorFilterIngressRules(argument: suspend GetTrafficMirrorFilterIngressRulesPlainArgsBuilder.() -> Unit): GetTrafficMirrorFilterIngressRulesResult {
val builder = GetTrafficMirrorFilterIngressRulesPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getTrafficMirrorFilterIngressRulesResultToKotlin(getTrafficMirrorFilterIngressRulesPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Traffic Mirror Filters of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.140.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getTrafficMirrorFilters({
* ids: ["example_id"],
* });
* export const vpcTrafficMirrorFilterId1 = ids.then(ids => ids.filters?.[0]?.id);
* const nameRegex = alicloud.vpc.getTrafficMirrorFilters({
* nameRegex: "^my-TrafficMirrorFilter",
* });
* export const vpcTrafficMirrorFilterId2 = nameRegex.then(nameRegex => nameRegex.filters?.[0]?.id);
* const filterName = alicloud.vpc.getTrafficMirrorFilters({
* trafficMirrorFilterName: "example_traffic_mirror_filter_name",
* });
* export const vpcTrafficMirrorFilterId3 = filterName.then(filterName => filterName.filters?.[0]?.id);
* const status = alicloud.vpc.getTrafficMirrorFilters({
* status: "^my-TrafficMirrorFilter",
* });
* export const vpcTrafficMirrorFilterId4 = status.then(status => status.filters?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_traffic_mirror_filters(ids=["example_id"])
* pulumi.export("vpcTrafficMirrorFilterId1", ids.filters[0].id)
* name_regex = alicloud.vpc.get_traffic_mirror_filters(name_regex="^my-TrafficMirrorFilter")
* pulumi.export("vpcTrafficMirrorFilterId2", name_regex.filters[0].id)
* filter_name = alicloud.vpc.get_traffic_mirror_filters(traffic_mirror_filter_name="example_traffic_mirror_filter_name")
* pulumi.export("vpcTrafficMirrorFilterId3", filter_name.filters[0].id)
* status = alicloud.vpc.get_traffic_mirror_filters(status="^my-TrafficMirrorFilter")
* pulumi.export("vpcTrafficMirrorFilterId4", status.filters[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetTrafficMirrorFilters.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* });
* var nameRegex = AliCloud.Vpc.GetTrafficMirrorFilters.Invoke(new()
* {
* NameRegex = "^my-TrafficMirrorFilter",
* });
* var filterName = AliCloud.Vpc.GetTrafficMirrorFilters.Invoke(new()
* {
* TrafficMirrorFilterName = "example_traffic_mirror_filter_name",
* });
* var status = AliCloud.Vpc.GetTrafficMirrorFilters.Invoke(new()
* {
* Status = "^my-TrafficMirrorFilter",
* });
* return new Dictionary
* {
* ["vpcTrafficMirrorFilterId1"] = ids.Apply(getTrafficMirrorFiltersResult => getTrafficMirrorFiltersResult.Filters[0]?.Id),
* ["vpcTrafficMirrorFilterId2"] = nameRegex.Apply(getTrafficMirrorFiltersResult => getTrafficMirrorFiltersResult.Filters[0]?.Id),
* ["vpcTrafficMirrorFilterId3"] = filterName.Apply(getTrafficMirrorFiltersResult => getTrafficMirrorFiltersResult.Filters[0]?.Id),
* ["vpcTrafficMirrorFilterId4"] = status.Apply(getTrafficMirrorFiltersResult => getTrafficMirrorFiltersResult.Filters[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetTrafficMirrorFilters(ctx, &vpc.GetTrafficMirrorFiltersArgs{
* Ids: []string{
* "example_id",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorFilterId1", ids.Filters[0].Id)
* nameRegex, err := vpc.GetTrafficMirrorFilters(ctx, &vpc.GetTrafficMirrorFiltersArgs{
* NameRegex: pulumi.StringRef("^my-TrafficMirrorFilter"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorFilterId2", nameRegex.Filters[0].Id)
* filterName, err := vpc.GetTrafficMirrorFilters(ctx, &vpc.GetTrafficMirrorFiltersArgs{
* TrafficMirrorFilterName: pulumi.StringRef("example_traffic_mirror_filter_name"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorFilterId3", filterName.Filters[0].Id)
* status, err := vpc.GetTrafficMirrorFilters(ctx, &vpc.GetTrafficMirrorFiltersArgs{
* Status: pulumi.StringRef("^my-TrafficMirrorFilter"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorFilterId4", status.Filters[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetTrafficMirrorFiltersArgs;
* 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 ids = VpcFunctions.getTrafficMirrorFilters(GetTrafficMirrorFiltersArgs.builder()
* .ids("example_id")
* .build());
* ctx.export("vpcTrafficMirrorFilterId1", ids.applyValue(getTrafficMirrorFiltersResult -> getTrafficMirrorFiltersResult.filters()[0].id()));
* final var nameRegex = VpcFunctions.getTrafficMirrorFilters(GetTrafficMirrorFiltersArgs.builder()
* .nameRegex("^my-TrafficMirrorFilter")
* .build());
* ctx.export("vpcTrafficMirrorFilterId2", nameRegex.applyValue(getTrafficMirrorFiltersResult -> getTrafficMirrorFiltersResult.filters()[0].id()));
* final var filterName = VpcFunctions.getTrafficMirrorFilters(GetTrafficMirrorFiltersArgs.builder()
* .trafficMirrorFilterName("example_traffic_mirror_filter_name")
* .build());
* ctx.export("vpcTrafficMirrorFilterId3", filterName.applyValue(getTrafficMirrorFiltersResult -> getTrafficMirrorFiltersResult.filters()[0].id()));
* final var status = VpcFunctions.getTrafficMirrorFilters(GetTrafficMirrorFiltersArgs.builder()
* .status("^my-TrafficMirrorFilter")
* .build());
* ctx.export("vpcTrafficMirrorFilterId4", status.applyValue(getTrafficMirrorFiltersResult -> getTrafficMirrorFiltersResult.filters()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorFilters
* Arguments:
* ids:
* - example_id
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorFilters
* Arguments:
* nameRegex: ^my-TrafficMirrorFilter
* filterName:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorFilters
* Arguments:
* trafficMirrorFilterName: example_traffic_mirror_filter_name
* status:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorFilters
* Arguments:
* status: ^my-TrafficMirrorFilter
* outputs:
* vpcTrafficMirrorFilterId1: ${ids.filters[0].id}
* vpcTrafficMirrorFilterId2: ${nameRegex.filters[0].id}
* vpcTrafficMirrorFilterId3: ${filterName.filters[0].id}
* vpcTrafficMirrorFilterId4: ${status.filters[0].id}
* ```
*
* @param argument A collection of arguments for invoking getTrafficMirrorFilters.
* @return A collection of values returned by getTrafficMirrorFilters.
*/
public suspend fun getTrafficMirrorFilters(argument: GetTrafficMirrorFiltersPlainArgs): GetTrafficMirrorFiltersResult =
getTrafficMirrorFiltersResultToKotlin(getTrafficMirrorFiltersPlain(argument.toJava()).await())
/**
* @see [getTrafficMirrorFilters].
* @param ids A list of Traffic Mirror Filter IDs.
* @param nameRegex A regex string to filter results by Traffic Mirror Filter name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param status The state of the filter. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`. `Creating`: The filter is being created. `Created`: The filter is created. `Modifying`: The filter is being modified. `Deleting`: The filter is being deleted.
* @param trafficMirrorFilterName The name of the filter. The name must be `2` to `128` characters in length, and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.
* @return A collection of values returned by getTrafficMirrorFilters.
*/
public suspend fun getTrafficMirrorFilters(
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
status: String? = null,
trafficMirrorFilterName: String? = null,
): GetTrafficMirrorFiltersResult {
val argument = GetTrafficMirrorFiltersPlainArgs(
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
status = status,
trafficMirrorFilterName = trafficMirrorFilterName,
)
return getTrafficMirrorFiltersResultToKotlin(getTrafficMirrorFiltersPlain(argument.toJava()).await())
}
/**
* @see [getTrafficMirrorFilters].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorFiltersPlainArgs].
* @return A collection of values returned by getTrafficMirrorFilters.
*/
public suspend fun getTrafficMirrorFilters(argument: suspend GetTrafficMirrorFiltersPlainArgsBuilder.() -> Unit): GetTrafficMirrorFiltersResult {
val builder = GetTrafficMirrorFiltersPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getTrafficMirrorFiltersResultToKotlin(getTrafficMirrorFiltersPlain(builtArgument.toJava()).await())
}
/**
* Using this data source can open VPC Traffic Mirror service automatically. If the service has been opened, it will return opened.
* For information about VPC Traffic Mirror and how to use it, see [What is VPC Traffic Mirror](https://www.alibabacloud.com/help/en/vpc/user-guide/traffic-mirroring-overview).
* > **NOTE:** Available since v1.141.0.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const open = alicloud.vpc.getTrafficMirrorService({
* enable: "On",
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* open = alicloud.vpc.get_traffic_mirror_service(enable="On")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var open = AliCloud.Vpc.GetTrafficMirrorService.Invoke(new()
* {
* Enable = "On",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := vpc.GetTrafficMirrorService(ctx, &vpc.GetTrafficMirrorServiceArgs{
* Enable: pulumi.StringRef("On"),
* }, nil)
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetTrafficMirrorServiceArgs;
* 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 open = VpcFunctions.getTrafficMirrorService(GetTrafficMirrorServiceArgs.builder()
* .enable("On")
* .build());
* }
* }
* ```
* ```yaml
* variables:
* open:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorService
* Arguments:
* enable: On
* ```
*
* @param argument A collection of arguments for invoking getTrafficMirrorService.
* @return A collection of values returned by getTrafficMirrorService.
*/
public suspend fun getTrafficMirrorService(argument: GetTrafficMirrorServicePlainArgs): GetTrafficMirrorServiceResult =
getTrafficMirrorServiceResultToKotlin(getTrafficMirrorServicePlain(argument.toJava()).await())
/**
* @see [getTrafficMirrorService].
* @param enable Setting the value to `On` to enable the service. If has been enabled, return the result. Default value: `Off`. Valid values: `On` and `Off`.
* > **NOTE:** Setting `enable = "On"` to open the VPC Traffic Mirror service that means you have read and agreed the [VPC Traffic Mirror Terms of Service](https://help.aliyun.com/zh/vpc/support/vpc-terms-of-service). The service can not closed once it is opened.
* @return A collection of values returned by getTrafficMirrorService.
*/
public suspend fun getTrafficMirrorService(enable: String? = null): GetTrafficMirrorServiceResult {
val argument = GetTrafficMirrorServicePlainArgs(
enable = enable,
)
return getTrafficMirrorServiceResultToKotlin(getTrafficMirrorServicePlain(argument.toJava()).await())
}
/**
* @see [getTrafficMirrorService].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorServicePlainArgs].
* @return A collection of values returned by getTrafficMirrorService.
*/
public suspend fun getTrafficMirrorService(argument: suspend GetTrafficMirrorServicePlainArgsBuilder.() -> Unit): GetTrafficMirrorServiceResult {
val builder = GetTrafficMirrorServicePlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getTrafficMirrorServiceResultToKotlin(getTrafficMirrorServicePlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Traffic Mirror Sessions of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.142.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const ids = alicloud.vpc.getTrafficMirrorSessions({
* ids: ["example_id"],
* });
* export const vpcTrafficMirrorSessionId1 = ids.then(ids => ids.sessions?.[0]?.id);
* const nameRegex = alicloud.vpc.getTrafficMirrorSessions({
* nameRegex: "^my-TrafficMirrorSession",
* });
* export const vpcTrafficMirrorSessionId2 = nameRegex.then(nameRegex => nameRegex.sessions?.[0]?.id);
* const enabled = alicloud.vpc.getTrafficMirrorSessions({
* ids: ["example_id"],
* enabled: false,
* });
* export const vpcTrafficMirrorSessionId3 = enabled.then(enabled => enabled.sessions?.[0]?.id);
* const priority = alicloud.vpc.getTrafficMirrorSessions({
* ids: ["example_id"],
* priority: 1,
* });
* export const vpcTrafficMirrorSessionId4 = priority.then(priority => priority.sessions?.[0]?.id);
* const filterId = alicloud.vpc.getTrafficMirrorSessions({
* ids: ["example_id"],
* trafficMirrorFilterId: "example_value",
* });
* export const vpcTrafficMirrorSessionId5 = filterId.then(filterId => filterId.sessions?.[0]?.id);
* const sessionName = alicloud.vpc.getTrafficMirrorSessions({
* ids: ["example_id"],
* trafficMirrorSessionName: "example_value",
* });
* export const vpcTrafficMirrorSessionId6 = sessionName.then(sessionName => sessionName.sessions?.[0]?.id);
* const sourceId = alicloud.vpc.getTrafficMirrorSessions({
* ids: ["example_id"],
* trafficMirrorSourceId: "example_value",
* });
* export const vpcTrafficMirrorSessionId7 = sourceId.then(sourceId => sourceId.sessions?.[0]?.id);
* const targetId = alicloud.vpc.getTrafficMirrorSessions({
* ids: ["example_id"],
* trafficMirrorTargetId: "example_value",
* });
* export const vpcTrafficMirrorSessionId8 = targetId.then(targetId => targetId.sessions?.[0]?.id);
* const status = alicloud.vpc.getTrafficMirrorSessions({
* ids: ["example_id"],
* status: "Created",
* });
* export const vpcTrafficMirrorSessionId9 = status.then(status => status.sessions?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* ids = alicloud.vpc.get_traffic_mirror_sessions(ids=["example_id"])
* pulumi.export("vpcTrafficMirrorSessionId1", ids.sessions[0].id)
* name_regex = alicloud.vpc.get_traffic_mirror_sessions(name_regex="^my-TrafficMirrorSession")
* pulumi.export("vpcTrafficMirrorSessionId2", name_regex.sessions[0].id)
* enabled = alicloud.vpc.get_traffic_mirror_sessions(ids=["example_id"],
* enabled=False)
* pulumi.export("vpcTrafficMirrorSessionId3", enabled.sessions[0].id)
* priority = alicloud.vpc.get_traffic_mirror_sessions(ids=["example_id"],
* priority=1)
* pulumi.export("vpcTrafficMirrorSessionId4", priority.sessions[0].id)
* filter_id = alicloud.vpc.get_traffic_mirror_sessions(ids=["example_id"],
* traffic_mirror_filter_id="example_value")
* pulumi.export("vpcTrafficMirrorSessionId5", filter_id.sessions[0].id)
* session_name = alicloud.vpc.get_traffic_mirror_sessions(ids=["example_id"],
* traffic_mirror_session_name="example_value")
* pulumi.export("vpcTrafficMirrorSessionId6", session_name.sessions[0].id)
* source_id = alicloud.vpc.get_traffic_mirror_sessions(ids=["example_id"],
* traffic_mirror_source_id="example_value")
* pulumi.export("vpcTrafficMirrorSessionId7", source_id.sessions[0].id)
* target_id = alicloud.vpc.get_traffic_mirror_sessions(ids=["example_id"],
* traffic_mirror_target_id="example_value")
* pulumi.export("vpcTrafficMirrorSessionId8", target_id.sessions[0].id)
* status = alicloud.vpc.get_traffic_mirror_sessions(ids=["example_id"],
* status="Created")
* pulumi.export("vpcTrafficMirrorSessionId9", status.sessions[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var ids = AliCloud.Vpc.GetTrafficMirrorSessions.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* });
* var nameRegex = AliCloud.Vpc.GetTrafficMirrorSessions.Invoke(new()
* {
* NameRegex = "^my-TrafficMirrorSession",
* });
* var enabled = AliCloud.Vpc.GetTrafficMirrorSessions.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* Enabled = false,
* });
* var priority = AliCloud.Vpc.GetTrafficMirrorSessions.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* Priority = 1,
* });
* var filterId = AliCloud.Vpc.GetTrafficMirrorSessions.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* TrafficMirrorFilterId = "example_value",
* });
* var sessionName = AliCloud.Vpc.GetTrafficMirrorSessions.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* TrafficMirrorSessionName = "example_value",
* });
* var sourceId = AliCloud.Vpc.GetTrafficMirrorSessions.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* TrafficMirrorSourceId = "example_value",
* });
* var targetId = AliCloud.Vpc.GetTrafficMirrorSessions.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* TrafficMirrorTargetId = "example_value",
* });
* var status = AliCloud.Vpc.GetTrafficMirrorSessions.Invoke(new()
* {
* Ids = new[]
* {
* "example_id",
* },
* Status = "Created",
* });
* return new Dictionary
* {
* ["vpcTrafficMirrorSessionId1"] = ids.Apply(getTrafficMirrorSessionsResult => getTrafficMirrorSessionsResult.Sessions[0]?.Id),
* ["vpcTrafficMirrorSessionId2"] = nameRegex.Apply(getTrafficMirrorSessionsResult => getTrafficMirrorSessionsResult.Sessions[0]?.Id),
* ["vpcTrafficMirrorSessionId3"] = enabled.Apply(getTrafficMirrorSessionsResult => getTrafficMirrorSessionsResult.Sessions[0]?.Id),
* ["vpcTrafficMirrorSessionId4"] = priority.Apply(getTrafficMirrorSessionsResult => getTrafficMirrorSessionsResult.Sessions[0]?.Id),
* ["vpcTrafficMirrorSessionId5"] = filterId.Apply(getTrafficMirrorSessionsResult => getTrafficMirrorSessionsResult.Sessions[0]?.Id),
* ["vpcTrafficMirrorSessionId6"] = sessionName.Apply(getTrafficMirrorSessionsResult => getTrafficMirrorSessionsResult.Sessions[0]?.Id),
* ["vpcTrafficMirrorSessionId7"] = sourceId.Apply(getTrafficMirrorSessionsResult => getTrafficMirrorSessionsResult.Sessions[0]?.Id),
* ["vpcTrafficMirrorSessionId8"] = targetId.Apply(getTrafficMirrorSessionsResult => getTrafficMirrorSessionsResult.Sessions[0]?.Id),
* ["vpcTrafficMirrorSessionId9"] = status.Apply(getTrafficMirrorSessionsResult => getTrafficMirrorSessionsResult.Sessions[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* ids, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
* Ids: []string{
* "example_id",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorSessionId1", ids.Sessions[0].Id)
* nameRegex, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
* NameRegex: pulumi.StringRef("^my-TrafficMirrorSession"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorSessionId2", nameRegex.Sessions[0].Id)
* enabled, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
* Ids: []string{
* "example_id",
* },
* Enabled: pulumi.BoolRef(false),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorSessionId3", enabled.Sessions[0].Id)
* priority, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
* Ids: []string{
* "example_id",
* },
* Priority: pulumi.IntRef(1),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorSessionId4", priority.Sessions[0].Id)
* filterId, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
* Ids: []string{
* "example_id",
* },
* TrafficMirrorFilterId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorSessionId5", filterId.Sessions[0].Id)
* sessionName, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
* Ids: []string{
* "example_id",
* },
* TrafficMirrorSessionName: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorSessionId6", sessionName.Sessions[0].Id)
* sourceId, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
* Ids: []string{
* "example_id",
* },
* TrafficMirrorSourceId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorSessionId7", sourceId.Sessions[0].Id)
* targetId, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
* Ids: []string{
* "example_id",
* },
* TrafficMirrorTargetId: pulumi.StringRef("example_value"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorSessionId8", targetId.Sessions[0].Id)
* status, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
* Ids: []string{
* "example_id",
* },
* Status: pulumi.StringRef("Created"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("vpcTrafficMirrorSessionId9", status.Sessions[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetTrafficMirrorSessionsArgs;
* 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 ids = VpcFunctions.getTrafficMirrorSessions(GetTrafficMirrorSessionsArgs.builder()
* .ids("example_id")
* .build());
* ctx.export("vpcTrafficMirrorSessionId1", ids.applyValue(getTrafficMirrorSessionsResult -> getTrafficMirrorSessionsResult.sessions()[0].id()));
* final var nameRegex = VpcFunctions.getTrafficMirrorSessions(GetTrafficMirrorSessionsArgs.builder()
* .nameRegex("^my-TrafficMirrorSession")
* .build());
* ctx.export("vpcTrafficMirrorSessionId2", nameRegex.applyValue(getTrafficMirrorSessionsResult -> getTrafficMirrorSessionsResult.sessions()[0].id()));
* final var enabled = VpcFunctions.getTrafficMirrorSessions(GetTrafficMirrorSessionsArgs.builder()
* .ids("example_id")
* .enabled("false")
* .build());
* ctx.export("vpcTrafficMirrorSessionId3", enabled.applyValue(getTrafficMirrorSessionsResult -> getTrafficMirrorSessionsResult.sessions()[0].id()));
* final var priority = VpcFunctions.getTrafficMirrorSessions(GetTrafficMirrorSessionsArgs.builder()
* .ids("example_id")
* .priority("1")
* .build());
* ctx.export("vpcTrafficMirrorSessionId4", priority.applyValue(getTrafficMirrorSessionsResult -> getTrafficMirrorSessionsResult.sessions()[0].id()));
* final var filterId = VpcFunctions.getTrafficMirrorSessions(GetTrafficMirrorSessionsArgs.builder()
* .ids("example_id")
* .trafficMirrorFilterId("example_value")
* .build());
* ctx.export("vpcTrafficMirrorSessionId5", filterId.applyValue(getTrafficMirrorSessionsResult -> getTrafficMirrorSessionsResult.sessions()[0].id()));
* final var sessionName = VpcFunctions.getTrafficMirrorSessions(GetTrafficMirrorSessionsArgs.builder()
* .ids("example_id")
* .trafficMirrorSessionName("example_value")
* .build());
* ctx.export("vpcTrafficMirrorSessionId6", sessionName.applyValue(getTrafficMirrorSessionsResult -> getTrafficMirrorSessionsResult.sessions()[0].id()));
* final var sourceId = VpcFunctions.getTrafficMirrorSessions(GetTrafficMirrorSessionsArgs.builder()
* .ids("example_id")
* .trafficMirrorSourceId("example_value")
* .build());
* ctx.export("vpcTrafficMirrorSessionId7", sourceId.applyValue(getTrafficMirrorSessionsResult -> getTrafficMirrorSessionsResult.sessions()[0].id()));
* final var targetId = VpcFunctions.getTrafficMirrorSessions(GetTrafficMirrorSessionsArgs.builder()
* .ids("example_id")
* .trafficMirrorTargetId("example_value")
* .build());
* ctx.export("vpcTrafficMirrorSessionId8", targetId.applyValue(getTrafficMirrorSessionsResult -> getTrafficMirrorSessionsResult.sessions()[0].id()));
* final var status = VpcFunctions.getTrafficMirrorSessions(GetTrafficMirrorSessionsArgs.builder()
* .ids("example_id")
* .status("Created")
* .build());
* ctx.export("vpcTrafficMirrorSessionId9", status.applyValue(getTrafficMirrorSessionsResult -> getTrafficMirrorSessionsResult.sessions()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* ids:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorSessions
* Arguments:
* ids:
* - example_id
* nameRegex:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorSessions
* Arguments:
* nameRegex: ^my-TrafficMirrorSession
* enabled:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorSessions
* Arguments:
* ids:
* - example_id
* enabled: 'false'
* priority:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorSessions
* Arguments:
* ids:
* - example_id
* priority: '1'
* filterId:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorSessions
* Arguments:
* ids:
* - example_id
* trafficMirrorFilterId: example_value
* sessionName:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorSessions
* Arguments:
* ids:
* - example_id
* trafficMirrorSessionName: example_value
* sourceId:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorSessions
* Arguments:
* ids:
* - example_id
* trafficMirrorSourceId: example_value
* targetId:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorSessions
* Arguments:
* ids:
* - example_id
* trafficMirrorTargetId: example_value
* status:
* fn::invoke:
* Function: alicloud:vpc:getTrafficMirrorSessions
* Arguments:
* ids:
* - example_id
* status: Created
* outputs:
* vpcTrafficMirrorSessionId1: ${ids.sessions[0].id}
* vpcTrafficMirrorSessionId2: ${nameRegex.sessions[0].id}
* vpcTrafficMirrorSessionId3: ${enabled.sessions[0].id}
* vpcTrafficMirrorSessionId4: ${priority.sessions[0].id}
* vpcTrafficMirrorSessionId5: ${filterId.sessions[0].id}
* vpcTrafficMirrorSessionId6: ${sessionName.sessions[0].id}
* vpcTrafficMirrorSessionId7: ${sourceId.sessions[0].id}
* vpcTrafficMirrorSessionId8: ${targetId.sessions[0].id}
* vpcTrafficMirrorSessionId9: ${status.sessions[0].id}
* ```
*
* @param argument A collection of arguments for invoking getTrafficMirrorSessions.
* @return A collection of values returned by getTrafficMirrorSessions.
*/
public suspend fun getTrafficMirrorSessions(argument: GetTrafficMirrorSessionsPlainArgs): GetTrafficMirrorSessionsResult =
getTrafficMirrorSessionsResultToKotlin(getTrafficMirrorSessionsPlain(argument.toJava()).await())
/**
* @see [getTrafficMirrorSessions].
* @param enabled Specifies whether to enable traffic mirror sessions. default to `false`.
* @param ids A list of Traffic Mirror Session IDs.
* @param nameRegex A regex string to filter results by Traffic Mirror Session name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param priority The priority of the traffic mirror session. Valid values: `1` to `32766`. A smaller value indicates a higher priority. You cannot specify the same priority for traffic mirror sessions that are created in the same region with the same Alibaba Cloud account.
* @param status The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.
* @param trafficMirrorFilterId The ID of the filter.
* @param trafficMirrorSessionName The name of the traffic mirror session. The name must be `2` to `128` characters in length and can contain digits, underscores (_), and hyphens (-). It must start with a letter.
* @param trafficMirrorSourceId The ID of the mirror source. You can specify only an elastic network interface (ENI) as the mirror source.
* @param trafficMirrorTargetId The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.
* @return A collection of values returned by getTrafficMirrorSessions.
*/
public suspend fun getTrafficMirrorSessions(
enabled: Boolean? = null,
ids: List? = null,
nameRegex: String? = null,
outputFile: String? = null,
priority: Int? = null,
status: String? = null,
trafficMirrorFilterId: String? = null,
trafficMirrorSessionName: String? = null,
trafficMirrorSourceId: String? = null,
trafficMirrorTargetId: String? = null,
): GetTrafficMirrorSessionsResult {
val argument = GetTrafficMirrorSessionsPlainArgs(
enabled = enabled,
ids = ids,
nameRegex = nameRegex,
outputFile = outputFile,
priority = priority,
status = status,
trafficMirrorFilterId = trafficMirrorFilterId,
trafficMirrorSessionName = trafficMirrorSessionName,
trafficMirrorSourceId = trafficMirrorSourceId,
trafficMirrorTargetId = trafficMirrorTargetId,
)
return getTrafficMirrorSessionsResultToKotlin(getTrafficMirrorSessionsPlain(argument.toJava()).await())
}
/**
* @see [getTrafficMirrorSessions].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetTrafficMirrorSessionsPlainArgs].
* @return A collection of values returned by getTrafficMirrorSessions.
*/
public suspend fun getTrafficMirrorSessions(argument: suspend GetTrafficMirrorSessionsPlainArgsBuilder.() -> Unit): GetTrafficMirrorSessionsResult {
val builder = GetTrafficMirrorSessionsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getTrafficMirrorSessionsResultToKotlin(getTrafficMirrorSessionsPlain(builtArgument.toJava()).await())
}
/**
* This data source provides the Vpc Flow Logs of the current Alibaba Cloud user.
* > **NOTE:** Available in v1.122.0+.
* ## Example Usage
* Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const example = alicloud.vpc.getVpcFlowLogs({
* ids: ["example_value"],
* nameRegex: "the_resource_name",
* });
* export const firstVpcFlowLogId = example.then(example => example.logs?.[0]?.id);
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* example = alicloud.vpc.get_vpc_flow_logs(ids=["example_value"],
* name_regex="the_resource_name")
* pulumi.export("firstVpcFlowLogId", example.logs[0].id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var example = AliCloud.Vpc.GetVpcFlowLogs.Invoke(new()
* {
* Ids = new[]
* {
* "example_value",
* },
* NameRegex = "the_resource_name",
* });
* return new Dictionary
* {
* ["firstVpcFlowLogId"] = example.Apply(getVpcFlowLogsResult => getVpcFlowLogsResult.Logs[0]?.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := vpc.GetVpcFlowLogs(ctx, &vpc.GetVpcFlowLogsArgs{
* Ids: []string{
* "example_value",
* },
* NameRegex: pulumi.StringRef("the_resource_name"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("firstVpcFlowLogId", example.Logs[0].Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.vpc.VpcFunctions;
* import com.pulumi.alicloud.vpc.inputs.GetVpcFlowLogsArgs;
* 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 example = VpcFunctions.getVpcFlowLogs(GetVpcFlowLogsArgs.builder()
* .ids("example_value")
* .nameRegex("the_resource_name")
* .build());
* ctx.export("firstVpcFlowLogId", example.applyValue(getVpcFlowLogsResult -> getVpcFlowLogsResult.logs()[0].id()));
* }
* }
* ```
* ```yaml
* variables:
* example:
* fn::invoke:
* Function: alicloud:vpc:getVpcFlowLogs
* Arguments:
* ids:
* - example_value
* nameRegex: the_resource_name
* outputs:
* firstVpcFlowLogId: ${example.logs[0].id}
* ```
*
* @param argument A collection of arguments for invoking getVpcFlowLogs.
* @return A collection of values returned by getVpcFlowLogs.
*/
public suspend fun getVpcFlowLogs(argument: GetVpcFlowLogsPlainArgs): GetVpcFlowLogsResult =
getVpcFlowLogsResultToKotlin(getVpcFlowLogsPlain(argument.toJava()).await())
/**
* @see [getVpcFlowLogs].
* @param description The Description of flow log.
* @param flowLogName The flow log name.
* @param ids A list of Flow Log IDs.
* @param logStoreName The log store name.
* @param nameRegex A regex string to filter results by Flow Log name.
* @param outputFile File name where to save data source results (after running `pulumi preview`).
* @param projectName The project name.
* @param resourceId The resource id.
* @param resourceType The resource type. Valid values: `NetworkInterface`, `VPC`, `VSwitch`.
* @param status The status of flow log. Valid values: `Active`, `Inactive`.
* @param trafficType The traffic type. Valid values: `All`, `Allow`, `Drop`.
* @return A collection of values returned by getVpcFlowLogs.
*/
public suspend fun getVpcFlowLogs(
description: String? = null,
flowLogName: String? = null,
ids: List? = null,
logStoreName: String? = null,
nameRegex: String? = null,
outputFile: String? = null,
projectName: String? = null,
resourceId: String? = null,
resourceType: String? = null,
status: String? = null,
trafficType: String? = null,
): GetVpcFlowLogsResult {
val argument = GetVpcFlowLogsPlainArgs(
description = description,
flowLogName = flowLogName,
ids = ids,
logStoreName = logStoreName,
nameRegex = nameRegex,
outputFile = outputFile,
projectName = projectName,
resourceId = resourceId,
resourceType = resourceType,
status = status,
trafficType = trafficType,
)
return getVpcFlowLogsResultToKotlin(getVpcFlowLogsPlain(argument.toJava()).await())
}
/**
* @see [getVpcFlowLogs].
* @param argument Builder for [com.pulumi.alicloud.vpc.kotlin.inputs.GetVpcFlowLogsPlainArgs].
* @return A collection of values returned by getVpcFlowLogs.
*/
public suspend fun getVpcFlowLogs(argument: suspend GetVpcFlowLogsPlainArgsBuilder.() -> Unit): GetVpcFlowLogsResult {
val builder = GetVpcFlowLogsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getVpcFlowLogsResultToKotlin(getVpcFlowLogsPlain(builtArgument.toJava()).await())
}
}