alicloud.mongodb.getZones
Explore with Pulumi AI
This data source provides availability zones for mongoDB that can be accessed by an Alibaba Cloud account within the region configured in the provider.
NOTE: Available in v1.73.0+.
Example Usage
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var zonesIds = AliCloud.MongoDB.GetZones.Invoke();
// Create an mongoDB instance with the first matched zone
var mongodb = new AliCloud.MongoDB.Instance("mongodb", new()
{
ZoneId = zonesIds.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
});
// Other properties...
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
zonesIds, err := mongodb.GetZones(ctx, nil, nil)
if err != nil {
return err
}
_, err = mongodb.NewInstance(ctx, "mongodb", &mongodb.InstanceArgs{
ZoneId: *pulumi.String(zonesIds.Zones[0].Id),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.mongodb.MongodbFunctions;
import com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;
import com.pulumi.alicloud.mongodb.Instance;
import com.pulumi.alicloud.mongodb.InstanceArgs;
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 zonesIds = MongodbFunctions.getZones();
var mongodb = new Instance("mongodb", InstanceArgs.builder()
.zoneId(zonesIds.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
}
}
import pulumi
import pulumi_alicloud as alicloud
zones_ids = alicloud.mongodb.get_zones()
# Create an mongoDB instance with the first matched zone
mongodb = alicloud.mongodb.Instance("mongodb", zone_id=zones_ids.zones[0].id)
# Other properties...
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const zonesIds = alicloud.mongodb.getZones({});
// Create an mongoDB instance with the first matched zone
const mongodb = new alicloud.mongodb.Instance("mongodb", {zoneId: zonesIds.then(zonesIds => zonesIds.zones?.[0]?.id)});
// Other properties...
resources:
# Create an mongoDB instance with the first matched zone
mongodb:
type: alicloud:mongodb:Instance
properties:
zoneId: ${zonesIds.zones[0].id}
variables:
zonesIds:
fn::invoke:
Function: alicloud:mongodb:getZones
Arguments: {}
Using getZones
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getZones(args: GetZonesArgs, opts?: InvokeOptions): Promise<GetZonesResult>
function getZonesOutput(args: GetZonesOutputArgs, opts?: InvokeOptions): Output<GetZonesResult>
def get_zones(multi: Optional[bool] = None,
output_file: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetZonesResult
def get_zones_output(multi: Optional[pulumi.Input[bool]] = None,
output_file: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetZonesResult]
func GetZones(ctx *Context, args *GetZonesArgs, opts ...InvokeOption) (*GetZonesResult, error)
func GetZonesOutput(ctx *Context, args *GetZonesOutputArgs, opts ...InvokeOption) GetZonesResultOutput
> Note: This function is named GetZones
in the Go SDK.
public static class GetZones
{
public static Task<GetZonesResult> InvokeAsync(GetZonesArgs args, InvokeOptions? opts = null)
public static Output<GetZonesResult> Invoke(GetZonesInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetZonesResult> getZones(GetZonesArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
function: alicloud:mongodb/getZones:getZones
arguments:
# arguments dictionary
The following arguments are supported:
- Multi bool
Indicate whether the zones can be used in a multi AZ configuration. Default to
false
. Multi AZ is usually used to launch MongoDB instances.- Output
File string File name where to save data source results (after running
pulumi preview
).
- Multi bool
Indicate whether the zones can be used in a multi AZ configuration. Default to
false
. Multi AZ is usually used to launch MongoDB instances.- Output
File string File name where to save data source results (after running
pulumi preview
).
- multi Boolean
Indicate whether the zones can be used in a multi AZ configuration. Default to
false
. Multi AZ is usually used to launch MongoDB instances.- output
File String File name where to save data source results (after running
pulumi preview
).
- multi boolean
Indicate whether the zones can be used in a multi AZ configuration. Default to
false
. Multi AZ is usually used to launch MongoDB instances.- output
File string File name where to save data source results (after running
pulumi preview
).
- multi bool
Indicate whether the zones can be used in a multi AZ configuration. Default to
false
. Multi AZ is usually used to launch MongoDB instances.- output_
file str File name where to save data source results (after running
pulumi preview
).
- multi Boolean
Indicate whether the zones can be used in a multi AZ configuration. Default to
false
. Multi AZ is usually used to launch MongoDB instances.- output
File String File name where to save data source results (after running
pulumi preview
).
getZones Result
The following output properties are available:
- Id string
The provider-assigned unique ID for this managed resource.
- Ids List<string>
A list of zone IDs.
- Zones
List<Pulumi.
Ali Cloud. Mongo DB. Outputs. Get Zones Zone> A list of availability zones. Each element contains the following attributes:
- Multi bool
- Output
File string
- Id string
The provider-assigned unique ID for this managed resource.
- Ids []string
A list of zone IDs.
- Zones
[]Get
Zones Zone A list of availability zones. Each element contains the following attributes:
- Multi bool
- Output
File string
- id String
The provider-assigned unique ID for this managed resource.
- ids List<String>
A list of zone IDs.
- zones
List<Get
Zones Zone> A list of availability zones. Each element contains the following attributes:
- multi Boolean
- output
File String
- id string
The provider-assigned unique ID for this managed resource.
- ids string[]
A list of zone IDs.
- zones
Get
Zones Zone[] A list of availability zones. Each element contains the following attributes:
- multi boolean
- output
File string
- id str
The provider-assigned unique ID for this managed resource.
- ids Sequence[str]
A list of zone IDs.
- zones
Sequence[Get
Zones Zone] A list of availability zones. Each element contains the following attributes:
- multi bool
- output_
file str
- id String
The provider-assigned unique ID for this managed resource.
- ids List<String>
A list of zone IDs.
- zones List<Property Map>
A list of availability zones. Each element contains the following attributes:
- multi Boolean
- output
File String
Supporting Types
GetZonesZone
- Id string
ID of the zone.
- Multi
Zone List<string>Ids A list of zone ids in which the multi zone.
- Id string
ID of the zone.
- Multi
Zone []stringIds A list of zone ids in which the multi zone.
- id String
ID of the zone.
- multi
Zone List<String>Ids A list of zone ids in which the multi zone.
- id string
ID of the zone.
- multi
Zone string[]Ids A list of zone ids in which the multi zone.
- id str
ID of the zone.
- multi_
zone_ Sequence[str]ids A list of zone ids in which the multi zone.
- id String
ID of the zone.
- multi
Zone List<String>Ids A list of zone ids in which the multi zone.
Package Details
- Repository
- Alibaba Cloud pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
alicloud
Terraform Provider.