alicloud logo
Alibaba Cloud v3.30.0, Feb 1 23

alicloud.ga.getBasicAccelerators

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

NOTE: Available in v1.194.0+.

Example Usage

Basic Usage

using System.Collections.Generic;
using Pulumi;
using AliCloud = Pulumi.AliCloud;

return await Deployment.RunAsync(() => 
{
    var ids = AliCloud.Ga.GetBasicAccelerators.Invoke(new()
    {
        Ids = new[]
        {
            "example_id",
        },
    });

    var nameRegex = AliCloud.Ga.GetBasicAccelerators.Invoke(new()
    {
        NameRegex = "tf-example",
    });

    return new Dictionary<string, object?>
    {
        ["gaBasicAcceleratorId1"] = ids.Apply(getBasicAcceleratorsResult => getBasicAcceleratorsResult.Accelerators[0]?.Id),
        ["gaBasicAcceleratorId2"] = nameRegex.Apply(getBasicAcceleratorsResult => getBasicAcceleratorsResult.Accelerators[0]?.Id),
    };
});
package main

import (
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := ga.GetBasicAccelerators(ctx, &ga.GetBasicAcceleratorsArgs{
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("gaBasicAcceleratorId1", ids.Accelerators[0].Id)
		nameRegex, err := ga.GetBasicAccelerators(ctx, &ga.GetBasicAcceleratorsArgs{
			NameRegex: pulumi.StringRef("tf-example"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("gaBasicAcceleratorId2", nameRegex.Accelerators[0].Id)
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.ga.GaFunctions;
import com.pulumi.alicloud.ga.inputs.GetBasicAcceleratorsArgs;
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 = GaFunctions.getBasicAccelerators(GetBasicAcceleratorsArgs.builder()
            .ids("example_id")
            .build());

        ctx.export("gaBasicAcceleratorId1", ids.applyValue(getBasicAcceleratorsResult -> getBasicAcceleratorsResult.accelerators()[0].id()));
        final var nameRegex = GaFunctions.getBasicAccelerators(GetBasicAcceleratorsArgs.builder()
            .nameRegex("tf-example")
            .build());

        ctx.export("gaBasicAcceleratorId2", nameRegex.applyValue(getBasicAcceleratorsResult -> getBasicAcceleratorsResult.accelerators()[0].id()));
    }
}
import pulumi
import pulumi_alicloud as alicloud

ids = alicloud.ga.get_basic_accelerators(ids=["example_id"])
pulumi.export("gaBasicAcceleratorId1", ids.accelerators[0].id)
name_regex = alicloud.ga.get_basic_accelerators(name_regex="tf-example")
pulumi.export("gaBasicAcceleratorId2", name_regex.accelerators[0].id)
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const ids = alicloud.ga.getBasicAccelerators({
    ids: ["example_id"],
});
export const gaBasicAcceleratorId1 = ids.then(ids => ids.accelerators?.[0]?.id);
const nameRegex = alicloud.ga.getBasicAccelerators({
    nameRegex: "tf-example",
});
export const gaBasicAcceleratorId2 = nameRegex.then(nameRegex => nameRegex.accelerators?.[0]?.id);
variables:
  ids:
    fn::invoke:
      Function: alicloud:ga:getBasicAccelerators
      Arguments:
        ids:
          - example_id
  nameRegex:
    fn::invoke:
      Function: alicloud:ga:getBasicAccelerators
      Arguments:
        nameRegex: tf-example
outputs:
  gaBasicAcceleratorId1: ${ids.accelerators[0].id}
  gaBasicAcceleratorId2: ${nameRegex.accelerators[0].id}

Using getBasicAccelerators

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 getBasicAccelerators(args: GetBasicAcceleratorsArgs, opts?: InvokeOptions): Promise<GetBasicAcceleratorsResult>
function getBasicAcceleratorsOutput(args: GetBasicAcceleratorsOutputArgs, opts?: InvokeOptions): Output<GetBasicAcceleratorsResult>
def get_basic_accelerators(accelerator_id: Optional[str] = None,
                           ids: Optional[Sequence[str]] = None,
                           name_regex: Optional[str] = None,
                           output_file: Optional[str] = None,
                           page_number: Optional[int] = None,
                           page_size: Optional[int] = None,
                           status: Optional[str] = None,
                           opts: Optional[InvokeOptions] = None) -> GetBasicAcceleratorsResult
def get_basic_accelerators_output(accelerator_id: Optional[pulumi.Input[str]] = None,
                           ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                           name_regex: Optional[pulumi.Input[str]] = None,
                           output_file: Optional[pulumi.Input[str]] = None,
                           page_number: Optional[pulumi.Input[int]] = None,
                           page_size: Optional[pulumi.Input[int]] = None,
                           status: Optional[pulumi.Input[str]] = None,
                           opts: Optional[InvokeOptions] = None) -> Output[GetBasicAcceleratorsResult]
func GetBasicAccelerators(ctx *Context, args *GetBasicAcceleratorsArgs, opts ...InvokeOption) (*GetBasicAcceleratorsResult, error)
func GetBasicAcceleratorsOutput(ctx *Context, args *GetBasicAcceleratorsOutputArgs, opts ...InvokeOption) GetBasicAcceleratorsResultOutput

> Note: This function is named GetBasicAccelerators in the Go SDK.

public static class GetBasicAccelerators 
{
    public static Task<GetBasicAcceleratorsResult> InvokeAsync(GetBasicAcceleratorsArgs args, InvokeOptions? opts = null)
    public static Output<GetBasicAcceleratorsResult> Invoke(GetBasicAcceleratorsInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetBasicAcceleratorsResult> getBasicAccelerators(GetBasicAcceleratorsArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: alicloud:ga/getBasicAccelerators:getBasicAccelerators
  arguments:
    # arguments dictionary

The following arguments are supported:

AcceleratorId string

The ID of the Global Accelerator Basic Accelerator instance.

Ids List<string>

A list of Global Accelerator Basic Accelerator IDs.

NameRegex string

A regex string to filter results by Global Accelerator Basic Accelerator name.

OutputFile string
PageNumber int
PageSize int
Status string

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

AcceleratorId string

The ID of the Global Accelerator Basic Accelerator instance.

Ids []string

A list of Global Accelerator Basic Accelerator IDs.

NameRegex string

A regex string to filter results by Global Accelerator Basic Accelerator name.

OutputFile string
PageNumber int
PageSize int
Status string

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

acceleratorId String

The ID of the Global Accelerator Basic Accelerator instance.

ids List<String>

A list of Global Accelerator Basic Accelerator IDs.

nameRegex String

A regex string to filter results by Global Accelerator Basic Accelerator name.

outputFile String
pageNumber Integer
pageSize Integer
status String

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

acceleratorId string

The ID of the Global Accelerator Basic Accelerator instance.

ids string[]

A list of Global Accelerator Basic Accelerator IDs.

nameRegex string

A regex string to filter results by Global Accelerator Basic Accelerator name.

outputFile string
pageNumber number
pageSize number
status string

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

accelerator_id str

The ID of the Global Accelerator Basic Accelerator instance.

ids Sequence[str]

A list of Global Accelerator Basic Accelerator IDs.

name_regex str

A regex string to filter results by Global Accelerator Basic Accelerator name.

output_file str
page_number int
page_size int
status str

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

acceleratorId String

The ID of the Global Accelerator Basic Accelerator instance.

ids List<String>

A list of Global Accelerator Basic Accelerator IDs.

nameRegex String

A regex string to filter results by Global Accelerator Basic Accelerator name.

outputFile String
pageNumber Number
pageSize Number
status String

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

getBasicAccelerators Result

The following output properties are available:

Accelerators List<Pulumi.AliCloud.Ga.Outputs.GetBasicAcceleratorsAccelerator>

A list of Global Accelerator Basic Accelerators. Each element contains the following attributes:

Id string

The provider-assigned unique ID for this managed resource.

Ids List<string>
Names List<string>

A list of Global Accelerator Basic Accelerator names.

AcceleratorId string
NameRegex string
OutputFile string
PageNumber int
PageSize int
Status string

The status of the Global Accelerator Basic Accelerator instance.

Accelerators []GetBasicAcceleratorsAccelerator

A list of Global Accelerator Basic Accelerators. Each element contains the following attributes:

Id string

The provider-assigned unique ID for this managed resource.

Ids []string
Names []string

A list of Global Accelerator Basic Accelerator names.

AcceleratorId string
NameRegex string
OutputFile string
PageNumber int
PageSize int
Status string

The status of the Global Accelerator Basic Accelerator instance.

accelerators List<GetBasicAcceleratorsAccelerator>

A list of Global Accelerator Basic Accelerators. Each element contains the following attributes:

id String

The provider-assigned unique ID for this managed resource.

ids List<String>
names List<String>

A list of Global Accelerator Basic Accelerator names.

acceleratorId String
nameRegex String
outputFile String
pageNumber Integer
pageSize Integer
status String

The status of the Global Accelerator Basic Accelerator instance.

accelerators GetBasicAcceleratorsAccelerator[]

A list of Global Accelerator Basic Accelerators. Each element contains the following attributes:

id string

The provider-assigned unique ID for this managed resource.

ids string[]
names string[]

A list of Global Accelerator Basic Accelerator names.

acceleratorId string
nameRegex string
outputFile string
pageNumber number
pageSize number
status string

The status of the Global Accelerator Basic Accelerator instance.

accelerators Sequence[GetBasicAcceleratorsAccelerator]

A list of Global Accelerator Basic Accelerators. Each element contains the following attributes:

id str

The provider-assigned unique ID for this managed resource.

ids Sequence[str]
names Sequence[str]

A list of Global Accelerator Basic Accelerator names.

accelerator_id str
name_regex str
output_file str
page_number int
page_size int
status str

The status of the Global Accelerator Basic Accelerator instance.

accelerators List<Property Map>

A list of Global Accelerator Basic Accelerators. Each element contains the following attributes:

id String

The provider-assigned unique ID for this managed resource.

ids List<String>
names List<String>

A list of Global Accelerator Basic Accelerator names.

acceleratorId String
nameRegex String
outputFile String
pageNumber Number
pageSize Number
status String

The status of the Global Accelerator Basic Accelerator instance.

Supporting Types

GetBasicAcceleratorsAccelerator

BandwidthBillingType string

The bandwidth billing method.

BasicAcceleratorId string

The id of the Global Accelerator Basic Accelerator instance.

BasicAcceleratorName string

The name of the Global Accelerator Basic Accelerator instance.

BasicBandwidthPackages List<Pulumi.AliCloud.Ga.Inputs.GetBasicAcceleratorsAcceleratorBasicBandwidthPackage>

The details about the basic bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance.

BasicEndpointGroupId string

The ID of the endpoint group that is associated with the Global Accelerator Basic Accelerator instance.

BasicIpSetId string

The ID of the acceleration region.

CreateTime int

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was created.

CrossDomainBandwidthPackages List<Pulumi.AliCloud.Ga.Inputs.GetBasicAcceleratorsAcceleratorCrossDomainBandwidthPackage>

The details about the cross-region acceleration bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance. NOTE: This array is returned only for Global Accelerator Basic Accelerator instances that are created on the International site.

Description string

The description of the Global Accelerator Basic Accelerator instance.

ExpiredTime int

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was expired.

Id string

The id of the Global Accelerator Basic Accelerator.

InstanceChargeType string

The billing method of the Global Accelerator Basic Accelerator instance. Only PREPAY is returned, which indicates the subscription billing method.

RegionId string

The ID of the region where the Global Accelerator Basic Accelerator instance is deployed.

Status string

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

BandwidthBillingType string

The bandwidth billing method.

BasicAcceleratorId string

The id of the Global Accelerator Basic Accelerator instance.

BasicAcceleratorName string

The name of the Global Accelerator Basic Accelerator instance.

BasicBandwidthPackages []GetBasicAcceleratorsAcceleratorBasicBandwidthPackage

The details about the basic bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance.

BasicEndpointGroupId string

The ID of the endpoint group that is associated with the Global Accelerator Basic Accelerator instance.

BasicIpSetId string

The ID of the acceleration region.

CreateTime int

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was created.

CrossDomainBandwidthPackages []GetBasicAcceleratorsAcceleratorCrossDomainBandwidthPackage

The details about the cross-region acceleration bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance. NOTE: This array is returned only for Global Accelerator Basic Accelerator instances that are created on the International site.

Description string

The description of the Global Accelerator Basic Accelerator instance.

ExpiredTime int

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was expired.

Id string

The id of the Global Accelerator Basic Accelerator.

InstanceChargeType string

The billing method of the Global Accelerator Basic Accelerator instance. Only PREPAY is returned, which indicates the subscription billing method.

RegionId string

The ID of the region where the Global Accelerator Basic Accelerator instance is deployed.

Status string

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

bandwidthBillingType String

The bandwidth billing method.

basicAcceleratorId String

The id of the Global Accelerator Basic Accelerator instance.

basicAcceleratorName String

The name of the Global Accelerator Basic Accelerator instance.

basicBandwidthPackages List<GetBasicAcceleratorsAcceleratorBasicBandwidthPackage>

The details about the basic bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance.

basicEndpointGroupId String

The ID of the endpoint group that is associated with the Global Accelerator Basic Accelerator instance.

basicIpSetId String

The ID of the acceleration region.

createTime Integer

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was created.

crossDomainBandwidthPackages List<GetBasicAcceleratorsAcceleratorCrossDomainBandwidthPackage>

The details about the cross-region acceleration bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance. NOTE: This array is returned only for Global Accelerator Basic Accelerator instances that are created on the International site.

description String

The description of the Global Accelerator Basic Accelerator instance.

expiredTime Integer

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was expired.

id String

The id of the Global Accelerator Basic Accelerator.

instanceChargeType String

The billing method of the Global Accelerator Basic Accelerator instance. Only PREPAY is returned, which indicates the subscription billing method.

regionId String

The ID of the region where the Global Accelerator Basic Accelerator instance is deployed.

status String

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

bandwidthBillingType string

The bandwidth billing method.

basicAcceleratorId string

The id of the Global Accelerator Basic Accelerator instance.

basicAcceleratorName string

The name of the Global Accelerator Basic Accelerator instance.

basicBandwidthPackages GetBasicAcceleratorsAcceleratorBasicBandwidthPackage[]

The details about the basic bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance.

basicEndpointGroupId string

The ID of the endpoint group that is associated with the Global Accelerator Basic Accelerator instance.

basicIpSetId string

The ID of the acceleration region.

createTime number

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was created.

crossDomainBandwidthPackages GetBasicAcceleratorsAcceleratorCrossDomainBandwidthPackage[]

The details about the cross-region acceleration bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance. NOTE: This array is returned only for Global Accelerator Basic Accelerator instances that are created on the International site.

description string

The description of the Global Accelerator Basic Accelerator instance.

expiredTime number

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was expired.

id string

The id of the Global Accelerator Basic Accelerator.

instanceChargeType string

The billing method of the Global Accelerator Basic Accelerator instance. Only PREPAY is returned, which indicates the subscription billing method.

regionId string

The ID of the region where the Global Accelerator Basic Accelerator instance is deployed.

status string

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

bandwidth_billing_type str

The bandwidth billing method.

basic_accelerator_id str

The id of the Global Accelerator Basic Accelerator instance.

basic_accelerator_name str

The name of the Global Accelerator Basic Accelerator instance.

basic_bandwidth_packages Sequence[GetBasicAcceleratorsAcceleratorBasicBandwidthPackage]

The details about the basic bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance.

basic_endpoint_group_id str

The ID of the endpoint group that is associated with the Global Accelerator Basic Accelerator instance.

basic_ip_set_id str

The ID of the acceleration region.

create_time int

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was created.

cross_domain_bandwidth_packages Sequence[GetBasicAcceleratorsAcceleratorCrossDomainBandwidthPackage]

The details about the cross-region acceleration bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance. NOTE: This array is returned only for Global Accelerator Basic Accelerator instances that are created on the International site.

description str

The description of the Global Accelerator Basic Accelerator instance.

expired_time int

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was expired.

id str

The id of the Global Accelerator Basic Accelerator.

instance_charge_type str

The billing method of the Global Accelerator Basic Accelerator instance. Only PREPAY is returned, which indicates the subscription billing method.

region_id str

The ID of the region where the Global Accelerator Basic Accelerator instance is deployed.

status str

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

bandwidthBillingType String

The bandwidth billing method.

basicAcceleratorId String

The id of the Global Accelerator Basic Accelerator instance.

basicAcceleratorName String

The name of the Global Accelerator Basic Accelerator instance.

basicBandwidthPackages List<Property Map>

The details about the basic bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance.

basicEndpointGroupId String

The ID of the endpoint group that is associated with the Global Accelerator Basic Accelerator instance.

basicIpSetId String

The ID of the acceleration region.

createTime Number

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was created.

crossDomainBandwidthPackages List<Property Map>

The details about the cross-region acceleration bandwidth plan that is associated with the Global Accelerator Basic Accelerator instance. NOTE: This array is returned only for Global Accelerator Basic Accelerator instances that are created on the International site.

description String

The description of the Global Accelerator Basic Accelerator instance.

expiredTime Number

The timestamp that indicates when the Global Accelerator Basic Accelerator instance was expired.

id String

The id of the Global Accelerator Basic Accelerator.

instanceChargeType String

The billing method of the Global Accelerator Basic Accelerator instance. Only PREPAY is returned, which indicates the subscription billing method.

regionId String

The ID of the region where the Global Accelerator Basic Accelerator instance is deployed.

status String

The status of the Global Accelerator Basic Accelerator instance. Valid Value: init, active, configuring, binding, unbinding, deleting, finacialLocked.

GetBasicAcceleratorsAcceleratorBasicBandwidthPackage

Bandwidth int

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

BandwidthType string

The type of the bandwidth that is provided by the basic bandwidth plan.

InstanceId string

The ID of the cross-region acceleration bandwidth plan.

Bandwidth int

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

BandwidthType string

The type of the bandwidth that is provided by the basic bandwidth plan.

InstanceId string

The ID of the cross-region acceleration bandwidth plan.

bandwidth Integer

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

bandwidthType String

The type of the bandwidth that is provided by the basic bandwidth plan.

instanceId String

The ID of the cross-region acceleration bandwidth plan.

bandwidth number

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

bandwidthType string

The type of the bandwidth that is provided by the basic bandwidth plan.

instanceId string

The ID of the cross-region acceleration bandwidth plan.

bandwidth int

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

bandwidth_type str

The type of the bandwidth that is provided by the basic bandwidth plan.

instance_id str

The ID of the cross-region acceleration bandwidth plan.

bandwidth Number

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

bandwidthType String

The type of the bandwidth that is provided by the basic bandwidth plan.

instanceId String

The ID of the cross-region acceleration bandwidth plan.

GetBasicAcceleratorsAcceleratorCrossDomainBandwidthPackage

Bandwidth int

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

InstanceId string

The ID of the cross-region acceleration bandwidth plan.

Bandwidth int

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

InstanceId string

The ID of the cross-region acceleration bandwidth plan.

bandwidth Integer

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

instanceId String

The ID of the cross-region acceleration bandwidth plan.

bandwidth number

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

instanceId string

The ID of the cross-region acceleration bandwidth plan.

bandwidth int

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

instance_id str

The ID of the cross-region acceleration bandwidth plan.

bandwidth Number

The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.

instanceId String

The ID of the cross-region acceleration bandwidth plan.

Package Details

Repository
Alibaba Cloud pulumi/pulumi-alicloud
License
Apache-2.0
Notes

This Pulumi package is based on the alicloud Terraform Provider.