Skip to content

Commit 57ff44a

Browse files
committed
feat(datasource): add support for filtering by field in datasource
> > - Exclude MN nodes datasource from the filtering feature
1 parent 61de130 commit 57ff44a

27 files changed

+469
-19
lines changed

examples/data-sources/backupstorages/data-source.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
data "zstack_backupstorages" "example" {
44
# name = "backupstorage name"
55
# name_pattern = "image%" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
6+
filter = { # option
7+
Status = "Connected"
8+
State = "Enabled"
9+
}
610
}
711

812
output "zstack_imagestorages" {

examples/data-sources/clusters/data-source.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
data "zstack_clusters" "example" {
44
#name = "cluster1"
55
#name_pattern = "clu%" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
6+
filter = { # option
7+
State = "Enabled"
8+
HypervisorType = "KVM"
9+
Architecture = "x86_64"
10+
}
611
}
712

813
output "zstack_clusters" {

examples/data-sources/disk_offers/data-source.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
data "zstack_disk_offers" "example" {
44
name = "smallDiskOffering"
55
# name_pattern = "sm%" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
6+
filter = { # option
7+
State = "Enabled"
8+
}
69
}
710

811
output "zstack_disk_offers" {

examples/data-sources/hosts/data-source.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33
data "zstack_hosts" "example" {
44
# name = "hostname"
55
# name_pattern = "hostname%" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
6+
filter = { # option
7+
State = "Enabled"
8+
Status = "Connected"
9+
HypervisorType = "KVM"
10+
Architecture = "x86_64"
11+
TotalCpuCapacity = "480"
12+
ManagementIp = "172.30.3.4"
13+
}
614
}
715

816
output "zstack_hosts" {

examples/data-sources/images/data-source.tf

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@
33
data "zstack_images" "example" {
44
# name = "imageName"
55
# name_pattern = "hostname%" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
6+
filter = {
7+
Status = "Ready"
8+
State = "Enabled"
9+
Platform = "Linux"
10+
Architecture = "x86_64"
11+
}
612
}
713

8-
9-
1014
output "zstack_images" {
1115
value = data.zstack_images.example
1216
}

examples/data-sources/instance_offers/data-source.tf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
# Copyright (c) ZStack.io, Inc.
22

33
data "zstack_instance_offers" "example" {
4-
4+
# name = "InstanceOffering-1"
5+
# name_pattern = "clu%" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
6+
filter = { # option
7+
State = "Enabled"
8+
}
59
}
610

711
output "zstack_instance_offers" {

examples/data-sources/instances/data-source.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
data "zstack_instances" "vminstances" {
44
# name = "name of vm instance"
55
# name_pattern = "virtual machine instances name% Pattern" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
6+
filter = { # option
7+
State = "Running"
8+
CPUNum = "3"
9+
}
610
}
711

812

examples/data-sources/l2networks/data-source.tf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22

33
data "zstack_l2networks" "networks" {
44
# name = "L2 networks name"
5-
# name_pattern = "L2 networks name% Pattern" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
5+
# name_pattern = "L2 networks name% Pattern" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
6+
filter = {
7+
Vlan = 36
8+
Type= "L2VlanNetwork"
9+
}
610
}
711

812
output "zstack_l2networks" {

examples/data-sources/l3networks/data-source.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
data "zstack_l3networks" "networks" {
44
# name = "L3 networks name"
55
# name_pattern = "L3 networks name% Pattern" # Pattern for fuzzy name search, similar to MySQL LIKE. Use % for multiple characters and _ for exactly one character.
6+
filter = {
7+
Category = "Private"
8+
IpVersion = 6
9+
}
610
}
711

812
output "zstack_networks" {

examples/data-sources/vips/data-source.tf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
# Copyright (c) ZStack.io, Inc.
22

33
data "zstack_vips" "test" {
4-
4+
filter = { # option
5+
State = "Enabled"
6+
Ip = "172.30.9.47"
7+
UseFor = "LoadBalancer"
8+
}
59
}
610

711
output "zstack_vips" {

0 commit comments

Comments
 (0)