1. Packages
  2. Packages
  3. Alibaba Cloud Provider
  4. API Docs
  5. wafv3
  6. getAddressBooks
Viewing docs for Alibaba Cloud v3.105.0
published on Thursday, Jul 16, 2026 by Pulumi
alicloud logo
Viewing docs for Alibaba Cloud v3.105.0
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 dictionary
    data "alicloud_wafv3_get_address_books" "name" {
        # arguments
    }

    The following arguments are supported:

    InstanceId string

    The ID of the WAF instance.

    NOTE: You can call DescribeInstance to view the ID of the current WAF instance.

    EnableDetails bool
    Default to false. Set it to true to fetch the addressList of each Address Book.
    Ids List<string>
    A list of Address Book IDs. The value is formulated as <instance_id>:<address_book_id>.
    NameRegex string
    A regex string to filter results by Address Book name.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    InstanceId string

    The ID of the WAF instance.

    NOTE: You can call DescribeInstance to view the ID of the current WAF instance.

    EnableDetails bool
    Default to false. Set it to true to fetch the addressList of each Address Book.
    Ids []string
    A list of Address Book IDs. The value is formulated as <instance_id>:<address_book_id>.
    NameRegex string
    A regex string to filter results by Address Book name.
    OutputFile 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 to true to fetch the addressList of 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).
    instanceId String

    The ID of the WAF instance.

    NOTE: You can call DescribeInstance to view the ID of the current WAF instance.

    enableDetails Boolean
    Default to false. Set it to true to fetch the addressList of each Address Book.
    ids List<String>
    A list of Address Book IDs. The value is formulated as <instance_id>:<address_book_id>.
    nameRegex String
    A regex string to filter results by Address Book name.
    outputFile String
    File name where to save data source results (after running pulumi preview).
    instanceId string

    The ID of the WAF instance.

    NOTE: You can call DescribeInstance to view the ID of the current WAF instance.

    enableDetails boolean
    Default to false. Set it to true to fetch the addressList of each Address Book.
    ids string[]
    A list of Address Book IDs. The value is formulated as <instance_id>:<address_book_id>.
    nameRegex string
    A regex string to filter results by Address Book name.
    outputFile 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 to true to fetch the addressList of 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).
    instanceId String

    The ID of the WAF instance.

    NOTE: You can call DescribeInstance to view the ID of the current WAF instance.

    enableDetails Boolean
    Default to false. Set it to true to fetch the addressList of each Address Book.
    ids List<String>
    A list of Address Book IDs. The value is formulated as <instance_id>:<address_book_id>.
    nameRegex String
    A regex string to filter results by Address Book name.
    outputFile String
    File name where to save data source results (after running pulumi preview).

    getAddressBooks Result

    The following output properties are available:

    Books List<Pulumi.AliCloud.Wafv3.Outputs.GetAddressBooksBook>
    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.
    InstanceId string
    Names List<string>
    A list of name of Address Books.
    EnableDetails bool
    NameRegex string
    OutputFile string
    Books []GetAddressBooksBook
    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.
    InstanceId string
    Names []string
    A list of name of Address Books.
    EnableDetails bool
    NameRegex string
    OutputFile 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<GetAddressBooksBook>
    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.
    instanceId String
    names List<String>
    A list of name of Address Books.
    enableDetails Boolean
    nameRegex String
    outputFile String
    books GetAddressBooksBook[]
    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.
    instanceId string
    names string[]
    A list of name of Address Books.
    enableDetails boolean
    nameRegex string
    outputFile string
    books Sequence[GetAddressBooksBook]
    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.
    instanceId String
    names List<String>
    A list of name of Address Books.
    enableDetails Boolean
    nameRegex String
    outputFile String

    Supporting Types

    GetAddressBooksBook

    AddressBookId string
    The ID of the Address Book.
    AddressBookName string
    The name of the Address Book.
    AddressBookType string
    The type of the Address Book. Valid values: ip.
    AddressLists List<string>
    The address list of the Address Book. NOTE: This field is only available when enableDetails is true.
    Description string
    The description of the Address Book.
    Id string
    The resource ID. It is formatted as <instance_id>:<address_book_id>.
    AddressBookId string
    The ID of the Address Book.
    AddressBookName string
    The name of the Address Book.
    AddressBookType string
    The type of the Address Book. Valid values: ip.
    AddressLists []string
    The address list of the Address Book. NOTE: This field is only available when enableDetails is true.
    Description string
    The description of the Address Book.
    Id string
    The resource ID. It is formatted as <instance_id>:<address_book_id>.
    address_book_id string
    The ID of the Address Book.
    address_book_name string
    The name of the Address Book.
    address_book_type string
    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 enableDetails is true.
    description string
    The description of the Address Book.
    id string
    The resource ID. It is formatted as <instance_id>:<address_book_id>.
    addressBookId String
    The ID of the Address Book.
    addressBookName String
    The name of the Address Book.
    addressBookType String
    The type of the Address Book. Valid values: ip.
    addressLists List<String>
    The address list of the Address Book. NOTE: This field is only available when enableDetails is true.
    description String
    The description of the Address Book.
    id String
    The resource ID. It is formatted as <instance_id>:<address_book_id>.
    addressBookId string
    The ID of the Address Book.
    addressBookName string
    The name of the Address Book.
    addressBookType string
    The type of the Address Book. Valid values: ip.
    addressLists string[]
    The address list of the Address Book. NOTE: This field is only available when enableDetails is true.
    description string
    The description of the Address Book.
    id string
    The resource ID. It is formatted as <instance_id>:<address_book_id>.
    address_book_id str
    The ID of the Address Book.
    address_book_name str
    The name of the Address Book.
    address_book_type str
    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 enableDetails is true.
    description str
    The description of the Address Book.
    id str
    The resource ID. It is formatted as <instance_id>:<address_book_id>.
    addressBookId String
    The ID of the Address Book.
    addressBookName String
    The name of the Address Book.
    addressBookType String
    The type of the Address Book. Valid values: ip.
    addressLists List<String>
    The address list of the Address Book. NOTE: This field is only available when enableDetails is true.
    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 alicloud Terraform Provider.
    alicloud logo
    Viewing docs for Alibaba Cloud v3.105.0
    published on Thursday, Jul 16, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial