Skip to content

Commit 71e0669

Browse files
Sita04gcf-owl-bot[bot]parthea
authored andcommitted
docs(samples): update samples to include new parent levels (folder and project) (#405)
* docs(samples): update samples to include new parent levels (folder and project) * change parent_name to parent_id * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * updated acc to review comments * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <[email protected]>
1 parent 4fe982a commit 71e0669

File tree

2 files changed

+71
-55
lines changed

2 files changed

+71
-55
lines changed

securitycenter/snippets/snippets_notification_configs.py

Lines changed: 64 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,26 @@
1616
"""Demos for working with notification configs."""
1717

1818

19-
def create_notification_config(organization_id, notification_config_id, pubsub_topic):
20-
21-
# [START securitycenter_create_notification_config]
19+
# [START securitycenter_create_notification_config]
20+
def create_notification_config(parent_id, notification_config_id, pubsub_topic):
21+
"""
22+
Args:
23+
parent_id: must be in one of the following formats:
24+
"organizations/{organization_id}"
25+
"projects/{project_id}"
26+
"folders/{folder_id}"
27+
notification_config_id: "your-config-id"
28+
pubsub_topic: "projects/{your-project-id}/topics/{your-topic-ic}"
29+
30+
Ensure this ServiceAccount has the "pubsub.topics.setIamPolicy" permission on the new topic.
31+
"""
2232
from google.cloud import securitycenter as securitycenter
2333

2434
client = securitycenter.SecurityCenterClient()
2535

26-
# TODO: organization_id = "your-org-id"
27-
# TODO: notification_config_id = "your-config-id"
28-
# TODO: pubsub_topic = "projects/{your-project-id}/topics/{your-topic-ic}"
29-
# Ensure this ServiceAccount has the "pubsub.topics.setIamPolicy" permission on the new topic.
30-
31-
org_name = "organizations/{org_id}".format(org_id=organization_id)
32-
3336
created_notification_config = client.create_notification_config(
3437
request={
35-
"parent": org_name,
38+
"parent": parent_id,
3639
"config_id": notification_config_id,
3740
"notification_config": {
3841
"description": "Notification for active findings",
@@ -47,88 +50,99 @@ def create_notification_config(organization_id, notification_config_id, pubsub_t
4750
return created_notification_config
4851

4952

50-
def delete_notification_config(organization_id, notification_config_id):
51-
52-
# [START securitycenter_delete_notification_config]
53+
# [START securitycenter_delete_notification_config]
54+
def delete_notification_config(parent_id, notification_config_id):
55+
"""
56+
Args:
57+
parent_id: must be in one of the following formats:
58+
"organizations/{organization_id}"
59+
"projects/{project_id}"
60+
"folders/{folder_id}"
61+
notification_config_id: "your-config-id"
62+
"""
5363
from google.cloud import securitycenter as securitycenter
5464

5565
client = securitycenter.SecurityCenterClient()
5666

57-
# TODO: organization_id = "your-org-id"
58-
# TODO: notification_config_id = "your-config-id"
59-
6067
notification_config_name = (
61-
"organizations/{org_id}/notificationConfigs/{config_id}".format(
62-
org_id=organization_id, config_id=notification_config_id
63-
)
68+
f"{parent_id}/notificationConfigs/{notification_config_id}"
6469
)
6570

6671
client.delete_notification_config(request={"name": notification_config_name})
67-
print("Deleted notification config: {}".format(notification_config_name))
72+
print(f"Deleted notification config: {notification_config_name}")
6873
# [END securitycenter_delete_notification_config]
6974
return True
7075

7176

72-
def get_notification_config(organization_id, notification_config_id):
73-
74-
# [START securitycenter_get_notification_config]
77+
# [START securitycenter_get_notification_config]
78+
def get_notification_config(parent_id, notification_config_id):
79+
"""
80+
Args:
81+
parent_id: must be in one of the following formats:
82+
"organizations/{organization_id}"
83+
"projects/{project_id}"
84+
"folders/{folder_id}"
85+
notification_config_id: "your-config-id"
86+
"""
7587
from google.cloud import securitycenter as securitycenter
7688

7789
client = securitycenter.SecurityCenterClient()
7890

79-
# TODO: organization_id = "your-org-id"
80-
# TODO: notification_config_id = "your-config-id"
81-
8291
notification_config_name = (
83-
"organizations/{org_id}/notificationConfigs/{config_id}".format(
84-
org_id=organization_id, config_id=notification_config_id
85-
)
92+
f"{parent_id}/notificationConfigs/{notification_config_id}"
8693
)
8794

8895
notification_config = client.get_notification_config(
8996
request={"name": notification_config_name}
9097
)
91-
print("Got notification config: {}".format(notification_config))
98+
print(f"Got notification config: {notification_config}")
9299
# [END securitycenter_get_notification_config]
93100
return notification_config
94101

95102

96-
def list_notification_configs(organization_id):
97-
98-
# [START securitycenter_list_notification_configs]
103+
# [START securitycenter_list_notification_configs]
104+
def list_notification_configs(parent_id):
105+
"""
106+
Args:
107+
parent_id: must be in one of the following formats:
108+
"organizations/{organization_id}"
109+
"projects/{project_id}"
110+
"folders/{folder_id}"
111+
"""
99112
from google.cloud import securitycenter as securitycenter
100113

101114
client = securitycenter.SecurityCenterClient()
102115

103-
# TODO: organization_id = "your-org-id"
104-
org_name = "organizations/{org_id}".format(org_id=organization_id)
105-
106116
notification_configs_iterator = client.list_notification_configs(
107-
request={"parent": org_name}
117+
request={"parent": parent_id}
108118
)
109119
for i, config in enumerate(notification_configs_iterator):
110-
print("{}: notification_config: {}".format(i, config))
120+
print(f"{i}: notification_config: {config}")
111121
# [END securitycenter_list_notification_configs]]
112122
return notification_configs_iterator
113123

114124

115-
def update_notification_config(organization_id, notification_config_id, pubsub_topic):
116-
# [START securitycenter_update_notification_config]
125+
# [START securitycenter_update_notification_config]
126+
def update_notification_config(parent_id, notification_config_id, pubsub_topic):
127+
"""
128+
Args:
129+
parent_id: must be in one of the following formats:
130+
"organizations/{organization_id}"
131+
"projects/{project_id}"
132+
"folders/{folder_id}"
133+
notification_config_id: "config-id-to-update"
134+
pubsub_topic: "projects/{new-project}/topics/{new-topic}"
135+
136+
If updating a pubsub_topic, ensure this ServiceAccount has the
137+
"pubsub.topics.setIamPolicy" permission on the new topic.
138+
"""
117139
from google.cloud import securitycenter as securitycenter
118140
from google.protobuf import field_mask_pb2
119141

120142
client = securitycenter.SecurityCenterClient()
121143

122-
# TODO organization_id = "your-org-id"
123-
# TODO notification_config_id = "config-id-to-update"
124-
# TODO pubsub_topic = "projects/{new-project}/topics/{new-topic}"
125-
# If updating a pubsub_topic, ensure this ServiceAccount has the
126-
# "pubsub.topics.setIamPolicy" permission on the new topic.
127-
128144
notification_config_name = (
129-
"organizations/{org_id}/notificationConfigs/{config_id}".format(
130-
org_id=organization_id, config_id=notification_config_id
131-
)
145+
f"{parent_id}/notificationConfigs/{notification_config_id}"
132146
)
133147

134148
updated_description = "New updated description"

securitycenter/snippets/snippets_notification_test.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def deleted_notification_config():
111111
def test_create_notification_config():
112112
created_notification_config = (
113113
snippets_notification_configs.create_notification_config(
114-
ORG_ID, CREATE_CONFIG_ID, PUBSUB_TOPIC
114+
f"organizations/{ORG_ID}", CREATE_CONFIG_ID, PUBSUB_TOPIC
115115
)
116116
)
117117
assert created_notification_config is not None
@@ -121,25 +121,27 @@ def test_create_notification_config():
121121

122122
def test_delete_notification_config(deleted_notification_config):
123123
assert snippets_notification_configs.delete_notification_config(
124-
ORG_ID, DELETE_CONFIG_ID
124+
f"organizations/{ORG_ID}", DELETE_CONFIG_ID
125125
)
126126

127127

128128
def test_get_notification_config(new_notification_config_for_get):
129129
retrieved_config = snippets_notification_configs.get_notification_config(
130-
ORG_ID, GET_CONFIG_ID
130+
f"organizations/{ORG_ID}", GET_CONFIG_ID
131131
)
132132
assert retrieved_config is not None
133133

134134

135135
def test_list_notification_configs():
136-
iterator = snippets_notification_configs.list_notification_configs(ORG_ID)
136+
iterator = snippets_notification_configs.list_notification_configs(
137+
f"organizations/{ORG_ID}"
138+
)
137139
assert iterator is not None
138140

139141

140142
def test_update_notification_config(new_notification_config_for_update):
141143
updated_config = snippets_notification_configs.update_notification_config(
142-
ORG_ID, UPDATE_CONFIG_ID, PUBSUB_TOPIC
144+
f"organizations/{ORG_ID}", UPDATE_CONFIG_ID, PUBSUB_TOPIC
143145
)
144146
assert updated_config is not None
145147

0 commit comments

Comments
 (0)