Skip to content

Commit d614a98

Browse files
modular-magicianAlec Iverson
andauthored
Add description and disabled to logging sinks (#4233) (#2718)
Co-authored-by: Alec Iverson <[email protected]> Signed-off-by: Modular Magician <[email protected]> Co-authored-by: Alec Iverson <[email protected]>
1 parent 37d2ab3 commit d614a98

10 files changed

+412
-21
lines changed

.changelog/4233.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
```release-note:enhancement
2+
logging: added `description` field to `google_logging_folder_sink` resource
3+
logging: added `description` field to `google_logging_project_sink` resource
4+
logging: added `description` field to `google_logging_organization_sink` resource
5+
logging: added `description` field to `google_logging_billing_account_sink` resource
6+
logging: added `disabled` field to `google_logging_folder_sink` resource
7+
logging: added `disabled` field to `google_logging_project_sink` resource
8+
logging: added `disabled` field to `google_logging_organization_sink` resource
9+
logging: added `disabled` field to `google_logging_billing_account_sink` resource
10+
```

google-beta/resource_logging_billing_account_sink_test.go

Lines changed: 79 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,52 @@ func TestAccLoggingBillingAccountSink_update(t *testing.T) {
8383
}
8484
}
8585

86+
func TestAccLoggingBillingAccountSink_described(t *testing.T) {
87+
t.Parallel()
88+
89+
sinkName := "tf-test-sink-" + randString(t, 10)
90+
bucketName := "tf-test-sink-bucket-" + randString(t, 10)
91+
billingAccount := getTestBillingAccountFromEnv(t)
92+
93+
vcrTest(t, resource.TestCase{
94+
PreCheck: func() { testAccPreCheck(t) },
95+
Providers: testAccProviders,
96+
CheckDestroy: testAccCheckLoggingBillingAccountSinkDestroyProducer(t),
97+
Steps: []resource.TestStep{
98+
{
99+
Config: testAccLoggingBillingAccountSink_described(sinkName, bucketName, billingAccount),
100+
}, {
101+
ResourceName: "google_logging_billing_account_sink.described",
102+
ImportState: true,
103+
ImportStateVerify: true,
104+
},
105+
},
106+
})
107+
}
108+
109+
func TestAccLoggingBillingAccountSink_disabled(t *testing.T) {
110+
t.Parallel()
111+
112+
sinkName := "tf-test-sink-" + randString(t, 10)
113+
bucketName := "tf-test-sink-bucket-" + randString(t, 10)
114+
billingAccount := getTestBillingAccountFromEnv(t)
115+
116+
vcrTest(t, resource.TestCase{
117+
PreCheck: func() { testAccPreCheck(t) },
118+
Providers: testAccProviders,
119+
CheckDestroy: testAccCheckLoggingBillingAccountSinkDestroyProducer(t),
120+
Steps: []resource.TestStep{
121+
{
122+
Config: testAccLoggingBillingAccountSink_disabled(sinkName, bucketName, billingAccount),
123+
}, {
124+
ResourceName: "google_logging_billing_account_sink.disabled",
125+
ImportState: true,
126+
ImportStateVerify: true,
127+
},
128+
},
129+
})
130+
}
131+
86132
func TestAccLoggingBillingAccountSink_updateBigquerySink(t *testing.T) {
87133
t.Parallel()
88134

@@ -221,12 +267,44 @@ resource "google_storage_bucket" "log-bucket" {
221267
`, name, billingAccount, getTestProjectFromEnv(), bucketName)
222268
}
223269

270+
func testAccLoggingBillingAccountSink_described(name, bucketName, billingAccount string) string {
271+
return fmt.Sprintf(`
272+
resource "google_logging_billing_account_sink" "described" {
273+
name = "%s"
274+
description = "this is a description"
275+
billing_account = "%s"
276+
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
277+
filter = "logName=\"projects/%s/logs/compute.googleapis.com%%2Factivity_log\" AND severity>=ERROR"
278+
}
279+
280+
resource "google_storage_bucket" "log-bucket" {
281+
name = "%s"
282+
}
283+
`, name, billingAccount, getTestProjectFromEnv(), bucketName)
284+
}
285+
286+
func testAccLoggingBillingAccountSink_disabled(name, bucketName, billingAccount string) string {
287+
return fmt.Sprintf(`
288+
resource "google_logging_billing_account_sink" "disabled" {
289+
name = "%s"
290+
billing_account = "%s"
291+
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
292+
filter = "logName=\"projects/%s/logs/compute.googleapis.com%%2Factivity_log\" AND severity>=ERROR"
293+
}
294+
295+
resource "google_storage_bucket" "log-bucket" {
296+
name = "%s"
297+
}
298+
`, name, billingAccount, getTestProjectFromEnv(), bucketName)
299+
}
300+
224301
func testAccLoggingBillingAccountSink_update(name, bucketName, billingAccount string) string {
225302
return fmt.Sprintf(`
226303
resource "google_logging_billing_account_sink" "update" {
227304
name = "%s"
228305
billing_account = "%s"
229306
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
307+
disabled = true
230308
filter = "logName=\"projects/%s/logs/compute.googleapis.com%%2Factivity_log\" AND severity>=ERROR"
231309
}
232310
@@ -244,7 +322,7 @@ resource "google_logging_billing_account_sink" "heredoc" {
244322
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
245323
filter = <<EOS
246324
247-
logName="projects/%s/logs/compute.googleapis.com%%2Factivity_log"
325+
logName="projects/%s/logs/compute.googleapis.com%%2Factivity_log"
248326
AND severity>=ERROR
249327
250328

google-beta/resource_logging_folder_sink_test.go

Lines changed: 100 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,54 @@ func TestAccLoggingFolderSink_basic(t *testing.T) {
4141
})
4242
}
4343

44+
func TestAccLoggingFolderSink_described(t *testing.T) {
45+
t.Parallel()
46+
47+
org := getTestOrgFromEnv(t)
48+
sinkName := "tf-test-sink-" + randString(t, 10)
49+
bucketName := "tf-test-sink-bucket-" + randString(t, 10)
50+
folderName := "tf-test-folder-" + randString(t, 10)
51+
52+
vcrTest(t, resource.TestCase{
53+
PreCheck: func() { testAccPreCheck(t) },
54+
Providers: testAccProviders,
55+
CheckDestroy: testAccCheckLoggingFolderSinkDestroyProducer(t),
56+
Steps: []resource.TestStep{
57+
{
58+
Config: testAccLoggingFolderSink_described(sinkName, bucketName, folderName, "organizations/"+org),
59+
}, {
60+
ResourceName: "google_logging_folder_sink.described",
61+
ImportState: true,
62+
ImportStateVerify: true,
63+
},
64+
},
65+
})
66+
}
67+
68+
func TestAccLoggingFolderSink_disabled(t *testing.T) {
69+
t.Parallel()
70+
71+
org := getTestOrgFromEnv(t)
72+
sinkName := "tf-test-sink-" + randString(t, 10)
73+
bucketName := "tf-test-sink-bucket-" + randString(t, 10)
74+
folderName := "tf-test-folder-" + randString(t, 10)
75+
76+
vcrTest(t, resource.TestCase{
77+
PreCheck: func() { testAccPreCheck(t) },
78+
Providers: testAccProviders,
79+
CheckDestroy: testAccCheckLoggingFolderSinkDestroyProducer(t),
80+
Steps: []resource.TestStep{
81+
{
82+
Config: testAccLoggingFolderSink_disabled(sinkName, bucketName, folderName, "organizations/"+org),
83+
}, {
84+
ResourceName: "google_logging_folder_sink.disabled",
85+
ImportState: true,
86+
ImportStateVerify: true,
87+
},
88+
},
89+
})
90+
}
91+
4492
func TestAccLoggingFolderSink_removeOptionals(t *testing.T) {
4593
t.Parallel()
4694

@@ -308,22 +356,66 @@ resource "google_folder" "my-folder" {
308356
`, sinkName, getTestProjectFromEnv(), bucketName, folderName, folderParent)
309357
}
310358

359+
func testAccLoggingFolderSink_described(sinkName, bucketName, folderName, folderParent string) string {
360+
return fmt.Sprintf(`
361+
resource "google_logging_folder_sink" "described" {
362+
name = "%s"
363+
folder = element(split("/", google_folder.my-folder.name), 1)
364+
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
365+
description = "this is a description for a folder level logging sink"
366+
filter = "logName=\"projects/%s/logs/compute.googleapis.com%%2Factivity_log\" AND severity>=ERROR"
367+
include_children = true
368+
}
369+
370+
resource "google_storage_bucket" "log-bucket" {
371+
name = "%s"
372+
}
373+
374+
resource "google_folder" "my-folder" {
375+
display_name = "%s"
376+
parent = "%s"
377+
}
378+
`, sinkName, getTestProjectFromEnv(), bucketName, folderName, folderParent)
379+
}
380+
381+
func testAccLoggingFolderSink_disabled(sinkName, bucketName, folderName, folderParent string) string {
382+
return fmt.Sprintf(`
383+
resource "google_logging_folder_sink" "disabled" {
384+
name = "%s"
385+
folder = element(split("/", google_folder.my-folder.name), 1)
386+
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
387+
disabled = true
388+
filter = "logName=\"projects/%s/logs/compute.googleapis.com%%2Factivity_log\" AND severity>=ERROR"
389+
include_children = true
390+
}
391+
392+
resource "google_storage_bucket" "log-bucket" {
393+
name = "%s"
394+
}
395+
396+
resource "google_folder" "my-folder" {
397+
display_name = "%s"
398+
parent = "%s"
399+
}
400+
`, sinkName, getTestProjectFromEnv(), bucketName, folderName, folderParent)
401+
}
402+
311403
func testAccLoggingFolderSink_removeOptionals(sinkName, bucketName, folderName, folderParent string) string {
312404
return fmt.Sprintf(`
313405
resource "google_logging_folder_sink" "basic" {
314-
name = "%s"
315-
folder = "${element(split("/", google_folder.my-folder.name), 1)}"
316-
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
317-
filter = ""
318-
include_children = true
406+
name = "%s"
407+
folder = "${element(split("/", google_folder.my-folder.name), 1)}"
408+
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
409+
filter = ""
410+
include_children = true
319411
}
320412
321413
resource "google_storage_bucket" "log-bucket" {
322-
name = "%s"
414+
name = "%s"
323415
}
324416
325417
resource "google_folder" "my-folder" {
326-
display_name = "%s"
418+
display_name = "%s"
327419
parent = "%s"
328420
}`, sinkName, bucketName, folderName, folderParent)
329421
}
@@ -357,7 +449,7 @@ resource "google_logging_folder_sink" "heredoc" {
357449
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
358450
filter = <<EOS
359451
360-
logName="projects/%s/logs/compute.googleapis.com%%2Factivity_log"
452+
logName="projects/%s/logs/compute.googleapis.com%%2Factivity_log"
361453
AND severity>=ERROR
362454
363455

google-beta/resource_logging_organization_sink_test.go

Lines changed: 85 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ import (
44
"fmt"
55
"testing"
66

7+
"strconv"
8+
79
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
810
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
911
"google.golang.org/api/logging/v2"
10-
"strconv"
1112
)
1213

1314
func TestAccLoggingOrganizationSink_basic(t *testing.T) {
@@ -84,6 +85,52 @@ func TestAccLoggingOrganizationSink_update(t *testing.T) {
8485
}
8586
}
8687

88+
func TestAccLoggingOrganizationSink_described(t *testing.T) {
89+
t.Parallel()
90+
91+
org := getTestOrgFromEnv(t)
92+
sinkName := "tf-test-sink-" + randString(t, 10)
93+
bucketName := "tf-test-sink-bucket-" + randString(t, 10)
94+
95+
vcrTest(t, resource.TestCase{
96+
PreCheck: func() { testAccPreCheck(t) },
97+
Providers: testAccProviders,
98+
CheckDestroy: testAccCheckLoggingOrganizationSinkDestroyProducer(t),
99+
Steps: []resource.TestStep{
100+
{
101+
Config: testAccLoggingOrganizationSink_described(sinkName, bucketName, org),
102+
}, {
103+
ResourceName: "google_logging_organization_sink.described",
104+
ImportState: true,
105+
ImportStateVerify: true,
106+
},
107+
},
108+
})
109+
}
110+
111+
func TestAccLoggingOrganizationSink_disabled(t *testing.T) {
112+
t.Parallel()
113+
114+
org := getTestOrgFromEnv(t)
115+
sinkName := "tf-test-sink-" + randString(t, 10)
116+
bucketName := "tf-test-sink-bucket-" + randString(t, 10)
117+
118+
vcrTest(t, resource.TestCase{
119+
PreCheck: func() { testAccPreCheck(t) },
120+
Providers: testAccProviders,
121+
CheckDestroy: testAccCheckLoggingOrganizationSinkDestroyProducer(t),
122+
Steps: []resource.TestStep{
123+
{
124+
Config: testAccLoggingOrganizationSink_disabled(sinkName, bucketName, org),
125+
}, {
126+
ResourceName: "google_logging_organization_sink.disabled",
127+
ImportState: true,
128+
ImportStateVerify: true,
129+
},
130+
},
131+
})
132+
}
133+
87134
func TestAccLoggingOrganizationSink_updateBigquerySink(t *testing.T) {
88135
t.Parallel()
89136

@@ -250,6 +297,42 @@ resource "google_storage_bucket" "log-bucket" {
250297
`, sinkName, orgId, getTestProjectFromEnv(), bucketName)
251298
}
252299

300+
func testAccLoggingOrganizationSink_described(sinkName, bucketName, orgId string) string {
301+
return fmt.Sprintf(`
302+
resource "google_logging_organization_sink" "described" {
303+
name = "%s"
304+
project = "%s"
305+
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
306+
filter = "logName=\"projects/%s/logs/compute.googleapis.com%%2Factivity_log\" AND severity>=ERROR"
307+
description = "this is a description for an organization level logging sink"
308+
309+
unique_writer_identity = false
310+
}
311+
312+
resource "google_storage_bucket" "log-bucket" {
313+
name = "%s"
314+
}
315+
`, sinkName, orgId, getTestProjectFromEnv(), bucketName)
316+
}
317+
318+
func testAccLoggingOrganizationSink_disabled(sinkName, bucketName, orgId string) string {
319+
return fmt.Sprintf(`
320+
resource "google_logging_organization_sink" "disabled" {
321+
name = "%s"
322+
project = "%s"
323+
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
324+
filter = "logName=\"projects/%s/logs/compute.googleapis.com%%2Factivity_log\" AND severity>=ERROR"
325+
disabled = true
326+
327+
unique_writer_identity = false
328+
}
329+
330+
resource "google_storage_bucket" "log-bucket" {
331+
name = "%s"
332+
}
333+
`, sinkName, orgId, getTestProjectFromEnv(), bucketName)
334+
}
335+
253336
func testAccLoggingOrganizationSink_heredoc(sinkName, bucketName, orgId string) string {
254337
return fmt.Sprintf(`
255338
resource "google_logging_organization_sink" "heredoc" {
@@ -258,7 +341,7 @@ resource "google_logging_organization_sink" "heredoc" {
258341
destination = "storage.googleapis.com/${google_storage_bucket.log-bucket.name}"
259342
filter = <<EOS
260343
261-
logName="projects/%s/logs/compute.googleapis.com%%2Factivity_log"
344+
logName="projects/%s/logs/compute.googleapis.com%%2Factivity_log"
262345
AND severity>=ERROR
263346
264347

0 commit comments

Comments
 (0)