From 39a2d4c717dd5ff3f5faa3eabfb95694dbd8675a Mon Sep 17 00:00:00 2001 From: Jongmin Kim Date: Sun, 7 Jul 2024 22:04:03 +0900 Subject: [PATCH 1/2] feat: test google logging for service account Signed-off-by: Jongmin Kim --- src/plugin/connector/logging_connector.py | 22 +++++++++++++++++++ .../manager/iam/service_account_manager.py | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 src/plugin/connector/logging_connector.py diff --git a/src/plugin/connector/logging_connector.py b/src/plugin/connector/logging_connector.py new file mode 100644 index 0000000..60eb576 --- /dev/null +++ b/src/plugin/connector/logging_connector.py @@ -0,0 +1,22 @@ +import logging +from plugin.connector import GoogleCloudConnector + +__all__ = ["LoggingConnector"] + +_LOGGER = logging.getLogger("spaceone") + + +class LoggingConnector(GoogleCloudConnector): + google_client_service = "logging" + version = "v2" + + def list_entries(self, project_id: str) -> list: + body = { + "resourceNames": [f"projects/{project_id}"], + "orderBy": "timestamp desc", + "pageSize": 10, + } + response = self.client.entries().list(body=body).execute() + + entries = response.get("entries", []) + return entries diff --git a/src/plugin/manager/iam/service_account_manager.py b/src/plugin/manager/iam/service_account_manager.py index a05e719..cdeb9c2 100644 --- a/src/plugin/manager/iam/service_account_manager.py +++ b/src/plugin/manager/iam/service_account_manager.py @@ -4,6 +4,7 @@ from spaceone.inventory.plugin.collector.lib import * from plugin.connector.iam_connector import IAMConnector from plugin.connector.resource_manager_v3_connector import ResourceManagerV3Connector +from plugin.connector.logging_connector import LoggingConnector from plugin.manager.base import ResourceManager _LOGGER = logging.getLogger("spaceone") @@ -24,6 +25,7 @@ def __init__(self, *args, **kwargs): self.metadata_path = "metadata/service_account.yaml" self.iam_connector = None self.rm_v3_connector = None + self.logging_connector = None self.location_info = { "FOLDER": {}, "PROJECT": {}, @@ -32,6 +34,7 @@ def __init__(self, *args, **kwargs): def collect_cloud_services(self, options: dict, secret_data: dict, schema: str) -> Generator[dict, None, None]: self.iam_connector = IAMConnector(options, secret_data, schema) self.rm_v3_connector = ResourceManagerV3Connector(options, secret_data, schema) + self.logging_connector = LoggingConnector(options, secret_data, schema) # Get all projects projects = self.rm_v3_connector.list_all_projects() From 2eae0e06923f38aca6490aff21b9287face72700 Mon Sep 17 00:00:00 2001 From: Jongmin Kim Date: Sun, 7 Jul 2024 22:06:17 +0900 Subject: [PATCH 2/2] fix: fix wrong metadata Signed-off-by: Jongmin Kim --- src/plugin/metadata/group.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugin/metadata/group.yaml b/src/plugin/metadata/group.yaml index 47f6c6f..3eda7b2 100644 --- a/src/plugin/metadata/group.yaml +++ b/src/plugin/metadata/group.yaml @@ -34,9 +34,9 @@ tabs.0: MEMBER: label: Member fields: - - Member: data.members.preferredMemberKey.id - - Type: data.members.type - - Role in Group: data.members.role + - Member: preferredMemberKey.id + - Type: type + - Role in Group: role type: enum enums: - OWNER: blue.500 @@ -45,7 +45,7 @@ tabs.0: name: Manager - Member: gray.500 name: Member - - Join Date: data.members.createTime + - Join Date: createTime type: datetime options: source_type: iso8601