published on Thursday, Jul 16, 2026 by Pulumi
published on Thursday, Jul 16, 2026 by Pulumi
This data source provides Wafv3 Address Book available to the user.What is Address Book
NOTE: Available since v1.283.0.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "terraform-example";
const _default = alicloud.wafv3.getInstances({});
const defaultAddressBook = new alicloud.wafv3.AddressBook("default", {
description: "test",
instanceId: _default.then(_default => _default.ids?.[0]),
addressBookName: name,
addressLists: [
"100.100.100.100/32",
"101.101.101.101/32",
"102.102.102.102/32",
],
addressBookType: "ip",
});
const defaultGetAddressBooks = alicloud.wafv3.getAddressBooksOutput({
ids: [defaultAddressBook.id],
nameRegex: defaultAddressBook.addressBookName,
instanceId: _default.then(_default => _default.ids?.[0]),
});
export const alicloudWafv3AddressBookExampleId = defaultGetAddressBooks.apply(defaultGetAddressBooks => defaultGetAddressBooks.books?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform-example"
default = alicloud.wafv3.get_instances()
default_address_book = alicloud.wafv3.AddressBook("default",
description="test",
instance_id=default.ids[0],
address_book_name=name,
address_lists=[
"100.100.100.100/32",
"101.101.101.101/32",
"102.102.102.102/32",
],
address_book_type="ip")
default_get_address_books = alicloud.wafv3.get_address_books_output(ids=[default_address_book.id],
name_regex=default_address_book.address_book_name,
instance_id=default.ids[0])
pulumi.export("alicloudWafv3AddressBookExampleId", default_get_address_books.books[0].id)
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/wafv3"
"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 := "terraform-example"
if param := cfg.Get("name"); param != "" {
name = param
}
_default, err := wafv3.GetInstances(ctx, &wafv3.GetInstancesArgs{}, nil)
if err != nil {
return err
}
defaultAddressBook, err := wafv3.NewAddressBook(ctx, "default", &wafv3.AddressBookArgs{
Description: pulumi.String("test"),
InstanceId: pulumi.String(_default.Ids[0]),
AddressBookName: pulumi.String(name),
AddressLists: pulumi.StringArray{
pulumi.String("100.100.100.100/32"),
pulumi.String("101.101.101.101/32"),
pulumi.String("102.102.102.102/32"),
},
AddressBookType: pulumi.String("ip"),
})
if err != nil {
return err
}
defaultGetAddressBooks := wafv3.GetAddressBooksOutput(ctx, wafv3.GetAddressBooksOutputArgs{
Ids: pulumi.StringArray{
defaultAddressBook.ID(),
},
NameRegex: defaultAddressBook.AddressBookName,
InstanceId: pulumi.String(_default.Ids[0]),
}, nil)
ctx.Export("alicloudWafv3AddressBookExampleId", defaultGetAddressBooks.ApplyT(func(defaultGetAddressBooks wafv3.GetAddressBooksResult) (*string, error) {
return defaultGetAddressBooks.Books[0].Id, nil
}).(pulumi.StringPtrOutput))
return nil
})
}
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") ?? "terraform-example";
var @default = AliCloud.Wafv3.GetInstances.Invoke();
var defaultAddressBook = new AliCloud.Wafv3.AddressBook("default", new()
{
Description = "test",
InstanceId = @default.Apply(@default => @default.Apply(getInstancesResult => getInstancesResult.Ids[0])),
AddressBookName = name,
AddressLists = new[]
{
"100.100.100.100/32",
"101.101.101.101/32",
"102.102.102.102/32",
},
AddressBookType = "ip",
});
var defaultGetAddressBooks = AliCloud.Wafv3.GetAddressBooks.Invoke(new()
{
Ids = new[]
{
defaultAddressBook.Id,
},
NameRegex = defaultAddressBook.AddressBookName,
InstanceId = @default.Apply(getInstancesResult => getInstancesResult.Ids[0]),
});
return new Dictionary<string, object?>
{
["alicloudWafv3AddressBookExampleId"] = defaultGetAddressBooks.Apply(getAddressBooksResult => getAddressBooksResult.Books[0]?.Id),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.wafv3.Wafv3Functions;
import com.pulumi.alicloud.wafv3.inputs.GetInstancesArgs;
import com.pulumi.alicloud.wafv3.AddressBook;
import com.pulumi.alicloud.wafv3.AddressBookArgs;
import com.pulumi.alicloud.wafv3.inputs.GetAddressBooksArgs;
import java.util.ArrayList;
import java.util.Arrays;
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("terraform-example");
final var default = Wafv3Functions.getInstances(GetInstancesArgs.builder()
.build());
var defaultAddressBook = new AddressBook("defaultAddressBook", AddressBookArgs.builder()
.description("test")
.instanceId(default_.ids()[0])
.addressBookName(name)
.addressLists(
"100.100.100.100/32",
"101.101.101.101/32",
"102.102.102.102/32")
.addressBookType("ip")
.build());
final var defaultGetAddressBooks = Wafv3Functions.getAddressBooks(GetAddressBooksArgs.builder()
.ids(defaultAddressBook.id())
.nameRegex(defaultAddressBook.addressBookName())
.instanceId(default_.ids()[0])
.build());
ctx.export("alicloudWafv3AddressBookExampleId", defaultGetAddressBooks.applyValue(_defaultGetAddressBooks -> _defaultGetAddressBooks.books()[0].id()));
}
}
configuration:
name:
type: string
default: terraform-example
resources:
defaultAddressBook:
type: alicloud:wafv3:AddressBook
name: default
properties:
description: test
instanceId: ${default.ids[0]}
addressBookName: ${name}
addressLists:
- 100.100.100.100/32
- 101.101.101.101/32
- 102.102.102.102/32
addressBookType: ip
variables:
default:
fn::invoke:
function: alicloud:wafv3:getInstances
arguments: {}
defaultGetAddressBooks:
fn::invoke:
function: alicloud:wafv3:getAddressBooks
arguments:
ids:
- ${defaultAddressBook.id}
nameRegex: ${defaultAddressBook.addressBookName}
instanceId: ${default.ids[0]}
outputs:
alicloudWafv3AddressBookExampleId: ${defaultGetAddressBooks.books[0].id}
pulumi {
required_providers {
alicloud = {
source = "pulumi/alicloud"
}
}
}
data "alicloud_wafv3_getinstances" "default" {
}
data "alicloud_wafv3_getaddressbooks" "defaultGetAddressBooks" {
ids = [alicloud_wafv3_addressbook.default.id]
name_regex = alicloud_wafv3_addressbook.default.address_book_name
instance_id = data.alicloud_wafv3_getinstances.default.ids[0]
}
resource "alicloud_wafv3_addressbook" "default" {
description = "test"
instance_id = data.alicloud_wafv3_getinstances.default.ids[0]
address_book_name = var.name
address_lists = ["100.100.100.100/32", "101.101.101.101/32", "102.102.102.102/32"]
address_book_type = "ip"
}
variable "name" {
type = string
default = "terraform-example"
}
output "alicloudWafv3AddressBookExampleId" {
value = data.alicloud_wafv3_getaddressbooks.defaultGetAddressBooks.books[0].id
}
Using getAddressBooks
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 getAddressBooks(args: GetAddressBooksArgs, opts?: InvokeOptions): Promise<GetAddressBooksResult>
function getAddressBooksOutput(args: GetAddressBooksOutputArgs, opts?: InvokeOptions): Output<GetAddressBooksResult>def get_address_books(enable_details: Optional[bool] = None,
ids: Optional[Sequence[str]] = None,
instance_id: Optional[str] = None,
name_regex: Optional[str] = None,
output_file: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetAddressBooksResult
def get_address_books_output(enable_details: pulumi.Input[Optional[bool]] = None,
ids: pulumi.Input[Optional[Sequence[pulumi.Input[str]]]] = None,
instance_id: pulumi.Input[Optional[str]] = None,
name_regex: pulumi.Input[Optional[str]] = None,
output_file: pulumi.Input[Optional[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetAddressBooksResult]func GetAddressBooks(ctx *Context, args *GetAddressBooksArgs, opts ...InvokeOption) (*GetAddressBooksResult, error)
func GetAddressBooksOutput(ctx *Context, args *GetAddressBooksOutputArgs, opts ...InvokeOption) GetAddressBooksResultOutput> Note: This function is named GetAddressBooks in the Go SDK.
public static class GetAddressBooks
{
public static Task<GetAddressBooksResult> InvokeAsync(GetAddressBooksArgs args, InvokeOptions? opts = null)
public static Output<GetAddressBooksResult> Invoke(GetAddressBooksInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetAddressBooksResult> getAddressBooks(GetAddressBooksArgs args, InvokeOptions options)
public static Output<GetAddressBooksResult> getAddressBooks(GetAddressBooksArgs args, InvokeOptions options)
fn::invoke:
function: alicloud:wafv3/getAddressBooks:getAddressBooks
arguments:
# arguments dictionarydata "alicloud_wafv3_get_address_books" "name" {
# arguments
}The following arguments are supported:
- Instance
Id string The ID of the WAF instance.
NOTE: You can call DescribeInstance to view the ID of the current WAF instance.
- Enable
Details bool - Default to
false. Set it totrueto fetch theaddressListof each Address Book. - Ids List<string>
- A list of Address Book IDs. The value is formulated as
<instance_id>:<address_book_id>. - Name
Regex string - A regex string to filter results by Address Book name.
- Output
File string - File name where to save data source results (after running
pulumi preview).
- Instance
Id string The ID of the WAF instance.
NOTE: You can call DescribeInstance to view the ID of the current WAF instance.
- Enable
Details bool - Default to
false. Set it totrueto fetch theaddressListof each Address Book. - Ids []string
- A list of Address Book IDs. The value is formulated as
<instance_id>:<address_book_id>. - Name
Regex string - A regex string to filter results by Address Book name.
- Output
File string - File name where to save data source results (after running
pulumi preview).
- instance_
id string The ID of the WAF instance.
NOTE: You can call DescribeInstance to view the ID of the current WAF instance.
- enable_
details bool - Default to
false. Set it totrueto fetch theaddressListof each Address Book. - ids list(string)
- A list of Address Book IDs. The value is formulated as
<instance_id>:<address_book_id>. - name_
regex string - A regex string to filter results by Address Book name.
- output_
file string - File name where to save data source results (after running
pulumi preview).
- instance
Id String The ID of the WAF instance.
NOTE: You can call DescribeInstance to view the ID of the current WAF instance.
- enable
Details Boolean - Default to
false. Set it totrueto fetch theaddressListof each Address Book. - ids List<String>
- A list of Address Book IDs. The value is formulated as
<instance_id>:<address_book_id>. - name
Regex String - A regex string to filter results by Address Book name.
- output
File String - File name where to save data source results (after running
pulumi preview).
- instance
Id string The ID of the WAF instance.
NOTE: You can call DescribeInstance to view the ID of the current WAF instance.
- enable
Details boolean - Default to
false. Set it totrueto fetch theaddressListof each Address Book. - ids string[]
- A list of Address Book IDs. The value is formulated as
<instance_id>:<address_book_id>. - name
Regex string - A regex string to filter results by Address Book name.
- output
File string - File name where to save data source results (after running
pulumi preview).
- instance_
id str The ID of the WAF instance.
NOTE: You can call DescribeInstance to view the ID of the current WAF instance.
- enable_
details bool - Default to
false. Set it totrueto fetch theaddressListof each Address Book. - ids Sequence[str]
- A list of Address Book IDs. The value is formulated as
<instance_id>:<address_book_id>. - name_
regex str - A regex string to filter results by Address Book name.
- output_
file str - File name where to save data source results (after running
pulumi preview).
- instance
Id String The ID of the WAF instance.
NOTE: You can call DescribeInstance to view the ID of the current WAF instance.
- enable
Details Boolean - Default to
false. Set it totrueto fetch theaddressListof each Address Book. - ids List<String>
- A list of Address Book IDs. The value is formulated as
<instance_id>:<address_book_id>. - name
Regex String - A regex string to filter results by Address Book name.
- output
File String - File name where to save data source results (after running
pulumi preview).
getAddressBooks Result
The following output properties are available:
- Books
List<Pulumi.
Ali Cloud. Wafv3. Outputs. Get Address Books Book> - A list of Address Book Entries. Each element contains the following attributes:
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids List<string>
- A list of Address Book IDs.
- Instance
Id string - Names List<string>
- A list of name of Address Books.
- Enable
Details bool - Name
Regex string - Output
File string
- Books
[]Get
Address Books Book - A list of Address Book Entries. Each element contains the following attributes:
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids []string
- A list of Address Book IDs.
- Instance
Id string - Names []string
- A list of name of Address Books.
- Enable
Details bool - Name
Regex string - Output
File string
- books list(object)
- A list of Address Book Entries. Each element contains the following attributes:
- id string
- The provider-assigned unique ID for this managed resource.
- ids list(string)
- A list of Address Book IDs.
- instance_
id string - names list(string)
- A list of name of Address Books.
- enable_
details bool - name_
regex string - output_
file string
- books
List<Get
Address Books Book> - A list of Address Book Entries. Each element contains the following attributes:
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- A list of Address Book IDs.
- instance
Id String - names List<String>
- A list of name of Address Books.
- enable
Details Boolean - name
Regex String - output
File String
- books
Get
Address Books Book[] - A list of Address Book Entries. Each element contains the following attributes:
- id string
- The provider-assigned unique ID for this managed resource.
- ids string[]
- A list of Address Book IDs.
- instance
Id string - names string[]
- A list of name of Address Books.
- enable
Details boolean - name
Regex string - output
File string
- books
Sequence[Get
Address Books Book] - A list of Address Book Entries. Each element contains the following attributes:
- id str
- The provider-assigned unique ID for this managed resource.
- ids Sequence[str]
- A list of Address Book IDs.
- instance_
id str - names Sequence[str]
- A list of name of Address Books.
- enable_
details bool - name_
regex str - output_
file str
- books List<Property Map>
- A list of Address Book Entries. Each element contains the following attributes:
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- A list of Address Book IDs.
- instance
Id String - names List<String>
- A list of name of Address Books.
- enable
Details Boolean - name
Regex String - output
File String
Supporting Types
GetAddressBooksBook
- Address
Book stringId - The ID of the Address Book.
- Address
Book stringName - The name of the Address Book.
- Address
Book stringType - The type of the Address Book. Valid values:
ip. - Address
Lists List<string> - The address list of the Address Book. NOTE: This field is only available when
enableDetailsistrue. - Description string
- The description of the Address Book.
- Id string
- The resource ID. It is formatted as
<instance_id>:<address_book_id>.
- Address
Book stringId - The ID of the Address Book.
- Address
Book stringName - The name of the Address Book.
- Address
Book stringType - The type of the Address Book. Valid values:
ip. - Address
Lists []string - The address list of the Address Book. NOTE: This field is only available when
enableDetailsistrue. - Description string
- The description of the Address Book.
- Id string
- The resource ID. It is formatted as
<instance_id>:<address_book_id>.
- address_
book_ stringid - The ID of the Address Book.
- address_
book_ stringname - The name of the Address Book.
- address_
book_ stringtype - The type of the Address Book. Valid values:
ip. - address_
lists list(string) - The address list of the Address Book. NOTE: This field is only available when
enableDetailsistrue. - description string
- The description of the Address Book.
- id string
- The resource ID. It is formatted as
<instance_id>:<address_book_id>.
- address
Book StringId - The ID of the Address Book.
- address
Book StringName - The name of the Address Book.
- address
Book StringType - The type of the Address Book. Valid values:
ip. - address
Lists List<String> - The address list of the Address Book. NOTE: This field is only available when
enableDetailsistrue. - description String
- The description of the Address Book.
- id String
- The resource ID. It is formatted as
<instance_id>:<address_book_id>.
- address
Book stringId - The ID of the Address Book.
- address
Book stringName - The name of the Address Book.
- address
Book stringType - The type of the Address Book. Valid values:
ip. - address
Lists string[] - The address list of the Address Book. NOTE: This field is only available when
enableDetailsistrue. - description string
- The description of the Address Book.
- id string
- The resource ID. It is formatted as
<instance_id>:<address_book_id>.
- address_
book_ strid - The ID of the Address Book.
- address_
book_ strname - The name of the Address Book.
- address_
book_ strtype - The type of the Address Book. Valid values:
ip. - address_
lists Sequence[str] - The address list of the Address Book. NOTE: This field is only available when
enableDetailsistrue. - description str
- The description of the Address Book.
- id str
- The resource ID. It is formatted as
<instance_id>:<address_book_id>.
- address
Book StringId - The ID of the Address Book.
- address
Book StringName - The name of the Address Book.
- address
Book StringType - The type of the Address Book. Valid values:
ip. - address
Lists List<String> - The address list of the Address Book. NOTE: This field is only available when
enableDetailsistrue. - description String
- The description of the Address Book.
- id String
- The resource ID. It is formatted as
<instance_id>:<address_book_id>.
Package Details
- Repository
- Alibaba Cloud pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
alicloudTerraform Provider.
published on Thursday, Jul 16, 2026 by Pulumi