centra-sdk 0.1.55__tar.gz → 0.2.0.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/PKG-INFO +6 -4
  2. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/pyproject.toml +6 -5
  3. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/dependencies.py +19 -17
  4. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/main.py +4 -2
  5. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/__init__.py +1 -1
  6. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/__init__.py +1 -1
  7. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/common/__init__.py +1 -1
  8. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/common/common.py +3 -3
  9. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/common/inventory.py +10 -10
  10. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/config/__init__.py +1 -1
  11. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/config/switches.py +1 -5
  12. centra_sdk-0.2.0.dev1/src/centra_sdk/models/connector/v1/consumer/__init__.py +3 -0
  13. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/consumer/agents.py +1 -1
  14. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/consumer/enforcement.py +13 -13
  15. centra_sdk-0.2.0.dev1/src/centra_sdk/models/connector/v1/k8s/__init__.py +3 -0
  16. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/k8s/k8s_inventory.py +13 -13
  17. centra_sdk-0.2.0.dev1/src/centra_sdk/models/connector/v1/operations/__init__.py +3 -0
  18. centra_sdk-0.2.0.dev1/src/centra_sdk/models/connector/v1/operations/aws/__init__.py +3 -0
  19. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/operations/aws/accounts.py +5 -5
  20. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/operations/aws/flowlogs.py +5 -22
  21. centra_sdk-0.2.0.dev1/src/centra_sdk/models/connector/v1/operations/azure/__init__.py +3 -0
  22. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/operations/azure/setup.py +6 -14
  23. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/operations/config.py +6 -6
  24. centra_sdk-0.2.0.dev1/src/centra_sdk/models/connector/v1/operations/gcp/__init__.py +3 -0
  25. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/operations/gcp/setup.py +5 -5
  26. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/operations/health.py +9 -58
  27. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/operations/info.py +2 -17
  28. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/operations/log.py +3 -3
  29. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/operations/onboard.py +10 -18
  30. centra_sdk-0.2.0.dev1/src/centra_sdk/models/connector/v1/provider/__init__.py +3 -0
  31. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/provider/inventory.py +5 -52
  32. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/provider/lookup.py +3 -3
  33. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/provider/networks.py +5 -22
  34. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/provider/reveal.py +9 -9
  35. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/v1/provider/switch_observability.py +2 -17
  36. centra_sdk-0.2.0.dev1/src/centra_sdk/models/connector/v1/system_summary.py +48 -0
  37. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/models/connector/version.py +1 -1
  38. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/account.py +1 -1
  39. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/agents.py +1 -1
  40. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/authentication.py +1 -1
  41. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/control.py +1 -1
  42. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/enforcement.py +1 -1
  43. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/flow_logs.py +3 -3
  44. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/health.py +10 -14
  45. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/info.py +6 -4
  46. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/inventory.py +18 -12
  47. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/logging.py +1 -1
  48. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/onboarding.py +1 -1
  49. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/operations.py +1 -1
  50. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/routers/setup.py +5 -3
  51. centra_sdk-0.1.55/src/centra_sdk/routers/switches.py → centra_sdk-0.2.0.dev1/src/centra_sdk/routers/switch_observability.py +4 -4
  52. centra_sdk-0.1.55/src/centra_sdk/routers/switch_observability.py → centra_sdk-0.2.0.dev1/src/centra_sdk/routers/switches.py +1 -1
  53. centra_sdk-0.2.0.dev1/src/centra_sdk/routers/system_summary.py +49 -0
  54. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/handler_registry.py +1 -1
  55. centra_sdk-0.1.55/src/centra_sdk/models/connector/v1/consumer/__init__.py +0 -3
  56. centra_sdk-0.1.55/src/centra_sdk/models/connector/v1/k8s/__init__.py +0 -3
  57. centra_sdk-0.1.55/src/centra_sdk/models/connector/v1/operations/__init__.py +0 -3
  58. centra_sdk-0.1.55/src/centra_sdk/models/connector/v1/operations/aws/__init__.py +0 -3
  59. centra_sdk-0.1.55/src/centra_sdk/models/connector/v1/operations/azure/__init__.py +0 -3
  60. centra_sdk-0.1.55/src/centra_sdk/models/connector/v1/operations/gcp/__init__.py +0 -3
  61. centra_sdk-0.1.55/src/centra_sdk/models/connector/v1/provider/__init__.py +0 -3
  62. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/README.md +0 -0
  63. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/__init__.py +0 -0
  64. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/auth.py +0 -0
  65. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/config_masking.py +0 -0
  66. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/context.py +0 -0
  67. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/gc_cli.py +0 -0
  68. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/gc_handler.py +0 -0
  69. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/gc_serializer.py +0 -0
  70. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/log_handling.py +0 -0
  71. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/option_values_handler.py +0 -0
  72. {centra_sdk-0.1.55 → centra_sdk-0.2.0.dev1}/src/centra_sdk/utils/sdk_version.py +0 -0
@@ -1,22 +1,24 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: centra-sdk
3
- Version: 0.1.55
3
+ Version: 0.2.0.dev1
4
4
  Summary:
5
5
  License: MIT
6
6
  Author: ivasylenko
7
7
  Author-email: ivasylen@akamai.com
8
- Requires-Python: >=3.9,<3.13
8
+ Requires-Python: >=3.10,<3.15
9
9
  Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.9
12
11
  Classifier: Programming Language :: Python :: 3.10
13
12
  Classifier: Programming Language :: Python :: 3.11
14
13
  Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
15
16
  Requires-Dist: click (>=8.0.0,<8.2.0)
16
- Requires-Dist: fastapi (>=0.120.1,<0.122)
17
+ Requires-Dist: fastapi (>=0.120.1,<0.141)
17
18
  Requires-Dist: httpx (>=0.28.1)
18
19
  Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
19
20
  Requires-Dist: rich (>=13.0.0)
21
+ Requires-Dist: starlette (>=1.3.1)
20
22
  Project-URL: Homepage, https://github.com/guardicore/contracts
21
23
  Project-URL: Repository, https://github.com/guardicore/contracts
22
24
  Description-Content-Type: text/markdown
@@ -1,15 +1,16 @@
1
1
  [project]
2
2
  name = "centra-sdk"
3
- version = "0.1.55"
3
+ version = "0.2.0.dev1"
4
4
  description = ""
5
5
  authors = [
6
6
  {name = "ivasylenko", email = "ivasylen@akamai.com"}
7
7
  ]
8
8
  license = {text = "MIT"}
9
9
  readme = "README.md"
10
- requires-python = ">=3.9,<3.13"
10
+ requires-python = ">=3.10,<3.15"
11
11
  dependencies = [
12
- "fastapi>=0.120.1,<0.122",
12
+ "fastapi>=0.120.1,<0.141",
13
+ "starlette>=1.3.1",
13
14
  "pyjwt>=2.10.1,<3.0.0",
14
15
  "click>=8.0.0,<8.2.0",
15
16
  "rich>=13.0.0",
@@ -30,13 +31,13 @@ repository = "https://github.com/guardicore/contracts"
30
31
  packages = [{include = "centra_sdk", from = "src"}]
31
32
 
32
33
  [tool.poetry.dependencies]
33
- python = ">=3.9,<3.13"
34
+ python = ">=3.10,<3.15"
34
35
 
35
36
 
36
37
  [tool.poetry.group.dev.dependencies]
37
38
  pytest = "^8.4.1"
38
39
  python-multipart = "^0.0.20"
39
- fastapi-code-generator = {git = "https://github.com/guardicore/fastapi-code-generator.git", branch = "centra_contracts"}
40
+ fastapi-code-generator = {git = "https://github.com/guardicore/fastapi-code-generator.git", branch = "centra_contracts_v2"}
40
41
  twine = "^5.0.0"
41
42
 
42
43
 
@@ -1,18 +1,16 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
- from __future__ import annotations
6
-
7
- from typing import Optional, Union
5
+ from typing import List, Optional, Union
8
6
  from uuid import UUID
9
7
 
8
+ from fastapi import Request
10
9
  from pydantic import conint
11
- from starlette.requests import Request
12
10
 
13
11
  from centra_sdk.utils.gc_serializer import GcSerializer
14
12
 
15
- from .models.connector.v1.common.inventory import InventoryItem
13
+ from .models.connector.v1.common.inventory import InventoryItem, Label
16
14
  from .models.connector.v1.config.switches import SwitchesConfig
17
15
  from .models.connector.v1.consumer.agents import AgentsInfo
18
16
  from .models.connector.v1.consumer.enforcement import (
@@ -34,17 +32,18 @@ from .models.connector.v1.operations.aws.accounts import (
34
32
  RegisteredOrganizationResponse,
35
33
  )
36
34
  from .models.connector.v1.operations.aws.flowlogs import (
35
+ BucketConfig,
37
36
  FlowlogBucketMetadataErrorResponse,
38
37
  FlowlogBucketMetadataResponse,
39
- FlowlogConfig,
40
38
  )
41
39
  from .models.connector.v1.operations.azure.setup import (
42
40
  Action,
43
41
  Action7,
44
42
  ScriptsRequest,
43
+ ServicePrincipalRequest,
45
44
  ServicePrincipalSuccess,
45
+ ServicePrincipalValidationRequest,
46
46
  V1OperationsAzureScriptsPostResponse,
47
- V1OperationsAzureServicePrincipalPostRequest,
48
47
  ValidationError,
49
48
  )
50
49
  from .models.connector.v1.operations.config import (
@@ -61,12 +60,12 @@ from .models.connector.v1.operations.gcp.setup import (
61
60
  ServiceAccountValidationSuccess,
62
61
  )
63
62
  from .models.connector.v1.operations.health import (
64
- V1OperationsFlagsGetResponse,
65
- V1OperationsHealthGetResponse,
66
- V1OperationsMetricsGetResponse,
63
+ ComponentFlags,
64
+ ComponentHealth,
65
+ ComponentMetrics,
67
66
  )
68
67
  from .models.connector.v1.operations.info import (
69
- EnvUnits,
68
+ EnvUnit,
70
69
  IntegrationEnvInfo,
71
70
  IntegrationInfo,
72
71
  )
@@ -77,17 +76,20 @@ from .models.connector.v1.operations.onboard import (
77
76
  StatusResponse,
78
77
  )
79
78
  from .models.connector.v1.provider.inventory import (
80
- Inventory,
81
79
  InventoryAssetType,
82
80
  InventoryReporterType,
83
- Labels,
84
- NetworkTopology,
81
+ NetworkConnections,
85
82
  V1ProviderInventoryIdAssetsAssetTypePostResponse,
86
83
  V1ProviderInventoryIdAssetsAssetTypePostResponse1,
87
84
  )
88
85
  from .models.connector.v1.provider.lookup import LookupRequest
89
- from .models.connector.v1.provider.networks import ErrorResponse, Networks
90
- from .models.connector.v1.provider.switch_observability import SwitchObservability
86
+ from .models.connector.v1.provider.networks import (
87
+ AwsNetworkInfo,
88
+ AzureNetworkInfo,
89
+ GCPNetworkInfo,
90
+ )
91
+ from .models.connector.v1.provider.switch_observability import SwitchObservabilityItem
92
+ from .models.connector.v1.system_summary import SystemSummary
91
93
  from .models.connector.version import (
92
94
  BadRequestError,
93
95
  LoginRequest,
@@ -1,6 +1,6 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -26,6 +26,7 @@ from .routers import (
26
26
  setup,
27
27
  switch_observability,
28
28
  switches,
29
+ system_summary,
29
30
  )
30
31
 
31
32
 
@@ -62,5 +63,6 @@ app.include_router(logging.router)
62
63
  app.include_router(onboarding.router)
63
64
  app.include_router(operations.router)
64
65
  app.include_router(setup.router)
65
- app.include_router(switch_observability.router)
66
66
  app.include_router(switches.router)
67
+ app.include_router(switch_observability.router)
68
+ app.include_router(system_summary.router)
@@ -1,3 +1,3 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
@@ -1,3 +1,3 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
@@ -1,3 +1,3 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
@@ -1,10 +1,10 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from enum import Enum
7
+ from enum import StrEnum
8
8
  from typing import List, Optional
9
9
 
10
10
  from pydantic import BaseModel, ConfigDict, Field
@@ -12,7 +12,7 @@ from pydantic import BaseModel, ConfigDict, Field
12
12
  from centra_sdk.utils.gc_serializer import GcSerializer
13
13
 
14
14
 
15
- class Connector(Enum):
15
+ class Connector(StrEnum):
16
16
  CLOUD_AZURE = 'cloud_azure'
17
17
  CLOUD_AWS = 'cloud_aws'
18
18
  CLOUD_GCP = 'cloud_gcp'
@@ -1,10 +1,10 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from enum import Enum
7
+ from enum import StrEnum
8
8
  from typing import Any, Dict, List, Optional, Union
9
9
 
10
10
  from pydantic import AwareDatetime, BaseModel, ConfigDict, Field
@@ -14,7 +14,7 @@ from centra_sdk.utils.gc_serializer import GcSerializer
14
14
  from ..k8s.k8s_inventory import K8SData
15
15
 
16
16
 
17
- class ItemType(Enum):
17
+ class ItemType(StrEnum):
18
18
  ASSET = 'asset'
19
19
 
20
20
 
@@ -28,7 +28,7 @@ class Label(BaseModel, GcSerializer):
28
28
  acls: Optional[str] = None
29
29
 
30
30
 
31
- class AccessListMap(Enum):
31
+ class AccessListMap(StrEnum):
32
32
  Y = 'Y'
33
33
  N = 'N'
34
34
 
@@ -42,7 +42,7 @@ class AccessListMappingEntry(BaseModel, GcSerializer):
42
42
  role: str = Field(..., description='device role name')
43
43
 
44
44
 
45
- class Type(Enum):
45
+ class Type(StrEnum):
46
46
  VM = 'VM'
47
47
 
48
48
 
@@ -160,23 +160,23 @@ class NetworkInterfaceData(BaseModel, GcSerializer):
160
160
  vrf: Optional[str] = None
161
161
 
162
162
 
163
- class OnlineStatus(Enum):
163
+ class OnlineStatus(StrEnum):
164
164
  ONLINE = 'online'
165
165
  OFFLINE = 'offline'
166
166
 
167
167
 
168
- class PowerState(Enum):
168
+ class PowerState(StrEnum):
169
169
  RUNNING = 'running'
170
170
  STOPPED = 'stopped'
171
171
  RESTARTING = 'restarting'
172
172
 
173
173
 
174
- class RegistrationStatus(Enum):
174
+ class RegistrationStatus(StrEnum):
175
175
  REGISTERED = 'registered'
176
176
  UNREGISTERED = 'unregistered'
177
177
 
178
178
 
179
- class Type1(Enum):
179
+ class Type1(StrEnum):
180
180
  MS = 'MS'
181
181
 
182
182
 
@@ -215,7 +215,7 @@ class APISec(BaseModel, GcSerializer):
215
215
  nn_url: Optional[str] = Field('', alias='nn-url')
216
216
 
217
217
 
218
- class Type2(Enum):
218
+ class Type2(StrEnum):
219
219
  IOT = 'IOT'
220
220
 
221
221
 
@@ -1,3 +1,3 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
@@ -1,6 +1,6 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -14,10 +14,6 @@ from ..common.inventory import SwitchInventoryItem
14
14
 
15
15
 
16
16
  class Switches(RootModel[List[SwitchInventoryItem]]):
17
- model_config = ConfigDict(
18
- populate_by_name=True,
19
- from_attributes=True,
20
- )
21
17
  root: List[SwitchInventoryItem] = Field(
22
18
  ..., description='List of switches for pagination compatibility'
23
19
  )
@@ -0,0 +1,3 @@
1
+ # generated by fastapi-codegen:
2
+ # filename: /home/circleci/project/guardicore/connector
3
+ # timestamp: 2026-07-28T12:41:37+00:00
@@ -1,6 +1,6 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,11 +1,11 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from enum import Enum
8
- from typing import List, Optional
7
+ from enum import IntEnum, StrEnum
8
+ from typing import Any, List, Optional
9
9
 
10
10
  from pydantic import BaseModel, ConfigDict, Field
11
11
 
@@ -14,13 +14,13 @@ from centra_sdk.utils.gc_serializer import GcSerializer
14
14
  from ..common.common import Connector
15
15
 
16
16
 
17
- class ProjectState(Enum):
17
+ class ProjectState(StrEnum):
18
18
  DRAFT = 'draft'
19
19
  ALERT = 'alert'
20
20
  BLOCK = 'block'
21
21
 
22
22
 
23
- class ChainName(Enum):
23
+ class ChainName(StrEnum):
24
24
  OVERRIDE_ALLOW = 'override-allow'
25
25
  OVERRIDE_ALERT = 'override-alert'
26
26
  OVERRIDE_BLOCK = 'override-block'
@@ -29,14 +29,14 @@ class ChainName(Enum):
29
29
  BLOCK = 'block'
30
30
 
31
31
 
32
- class Protocol(Enum):
32
+ class Protocol(StrEnum):
33
33
  TCP = 'tcp'
34
34
  UDP = 'udp'
35
35
  ICMP = 'icmp'
36
36
  ALL = 'all'
37
37
 
38
38
 
39
- class Verdict(Enum):
39
+ class Verdict(StrEnum):
40
40
  ALLOW = 'allow'
41
41
  BLOCK = 'block'
42
42
 
@@ -86,7 +86,7 @@ class DomainGroupMatch(BaseModel, GcSerializer):
86
86
  gname: str
87
87
 
88
88
 
89
- class Ver(Enum):
89
+ class Ver(IntEnum):
90
90
  INTEGER_4 = 4
91
91
  INTEGER_6 = 6
92
92
 
@@ -110,12 +110,12 @@ class WinServiceMatch(BaseModel, GcSerializer):
110
110
  service_image_names: Optional[List[str]] = Field(None, alias='service-image-names')
111
111
 
112
112
 
113
- class AddressRange(Enum):
113
+ class AddressRange(StrEnum):
114
114
  PRIVATE = 'Private'
115
115
  INTERNET = 'Internet'
116
116
 
117
117
 
118
- class Op(Enum):
118
+ class Op(StrEnum):
119
119
  EQUALS = 'equals'
120
120
  STARTS_WITH = 'starts-with'
121
121
  ENDS_WITH = 'ends-with'
@@ -124,7 +124,7 @@ class Op(Enum):
124
124
  REGEX = 'regex'
125
125
 
126
126
 
127
- class CriterionType(Enum):
127
+ class CriterionType(StrEnum):
128
128
  HOSTNAME = 'hostname'
129
129
  SUBSCRIPTION = 'subscription'
130
130
  VNET = 'vnet'
@@ -156,7 +156,7 @@ class DCInventoryItem(BaseModel, GcSerializer):
156
156
  ip_addresses: Optional[List[str]] = Field(None, alias='ip-addresses')
157
157
 
158
158
 
159
- class Action(Enum):
159
+ class Action(StrEnum):
160
160
  SET = 'set'
161
161
  UPDATE = 'update'
162
162
 
@@ -268,7 +268,7 @@ class EnforcementPolicyInventory(BaseModel, GcSerializer):
268
268
  )
269
269
  dc_inventory_revision: int = Field(..., alias='dc-inventory-revision')
270
270
  policy_revision: int = Field(..., alias='policy-revision')
271
- private_subnets: Optional[List] = Field(None, alias='private-subnets')
271
+ private_subnets: Optional[List[Any]] = Field(None, alias='private-subnets')
272
272
 
273
273
 
274
274
  class PolicyChain(BaseModel, GcSerializer):
@@ -0,0 +1,3 @@
1
+ # generated by fastapi-codegen:
2
+ # filename: /home/circleci/project/guardicore/connector
3
+ # timestamp: 2026-07-28T12:41:37+00:00
@@ -1,10 +1,10 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from enum import Enum
7
+ from enum import StrEnum
8
8
  from typing import Any, Dict, List, Optional, Union
9
9
 
10
10
  from pydantic import BaseModel, ConfigDict, Field
@@ -12,7 +12,7 @@ from pydantic import BaseModel, ConfigDict, Field
12
12
  from centra_sdk.utils.gc_serializer import GcSerializer
13
13
 
14
14
 
15
- class Kind(Enum):
15
+ class Kind(StrEnum):
16
16
  NAMESPACE = 'Namespace'
17
17
 
18
18
 
@@ -24,11 +24,11 @@ class K8SNamespaceSpec(BaseModel, GcSerializer):
24
24
  kind: Kind
25
25
 
26
26
 
27
- class Kind1(Enum):
27
+ class Kind1(StrEnum):
28
28
  CONTROLLER = 'Controller'
29
29
 
30
30
 
31
- class Type(Enum):
31
+ class Type(StrEnum):
32
32
  UNKNOWN = 'Unknown'
33
33
  REPLICA_SET = 'ReplicaSet'
34
34
  DAEMON_SET = 'DaemonSet'
@@ -39,8 +39,8 @@ class Type(Enum):
39
39
  REPLICATION_CONTROLLER = 'ReplicationController'
40
40
 
41
41
 
42
- class Operator(Enum):
43
- IN_ = 'In'
42
+ class Operator(StrEnum):
43
+ IN = 'In'
44
44
  NOT_IN = 'NotIn'
45
45
  EXISTS = 'Exists'
46
46
  DOES_NOT_EXIST = 'DoesNotExist'
@@ -56,11 +56,11 @@ class KubernetesLabelSelectorRequirement(BaseModel, GcSerializer):
56
56
  values: Optional[List[str]] = None
57
57
 
58
58
 
59
- class Kind2(Enum):
59
+ class Kind2(StrEnum):
60
60
  CLUSTER = 'Cluster'
61
61
 
62
62
 
63
- class ClusterType(Enum):
63
+ class ClusterType(StrEnum):
64
64
  AKS = 'AKS'
65
65
  GKE = 'GKE'
66
66
  EKS = 'EKS'
@@ -70,7 +70,7 @@ class ClusterType(Enum):
70
70
  K8_S = 'K8S'
71
71
 
72
72
 
73
- class CniType(Enum):
73
+ class CniType(StrEnum):
74
74
  UNKNOWN = 'unknown'
75
75
  CALICO = 'calico'
76
76
  OVN = 'OVN'
@@ -91,7 +91,7 @@ class K8SClusterSpec(BaseModel, GcSerializer):
91
91
  node_count: int
92
92
 
93
93
 
94
- class Kind3(Enum):
94
+ class Kind3(StrEnum):
95
95
  NODE = 'Node'
96
96
 
97
97
 
@@ -106,11 +106,11 @@ class K8SNodeSpec(BaseModel, GcSerializer):
106
106
  bios_uuid: Optional[str] = None
107
107
 
108
108
 
109
- class Kind4(Enum):
109
+ class Kind4(StrEnum):
110
110
  SERVICES = 'Services'
111
111
 
112
112
 
113
- class ServiceType(Enum):
113
+ class ServiceType(StrEnum):
114
114
  UNKNOWN = 'Unknown'
115
115
  EXTERNAL_NAME = 'ExternalName'
116
116
  CLUSTER_IP = 'ClusterIP'
@@ -0,0 +1,3 @@
1
+ # generated by fastapi-codegen:
2
+ # filename: /home/circleci/project/guardicore/connector
3
+ # timestamp: 2026-07-28T12:41:37+00:00
@@ -0,0 +1,3 @@
1
+ # generated by fastapi-codegen:
2
+ # filename: /home/circleci/project/guardicore/connector
3
+ # timestamp: 2026-07-28T12:41:37+00:00
@@ -1,10 +1,10 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from enum import Enum
7
+ from enum import StrEnum
8
8
  from typing import List, Optional
9
9
 
10
10
  from pydantic import BaseModel, ConfigDict, Field
@@ -12,7 +12,7 @@ from pydantic import BaseModel, ConfigDict, Field
12
12
  from centra_sdk.utils.gc_serializer import GcSerializer
13
13
 
14
14
 
15
- class Action(Enum):
15
+ class Action(StrEnum):
16
16
  REGISTER = 'register'
17
17
  TEST = 'test'
18
18
 
@@ -113,12 +113,12 @@ class OrganizationRegistrationErrorResponse(BaseModel, GcSerializer):
113
113
  )
114
114
 
115
115
 
116
- class OperationMode(Enum):
116
+ class OperationMode(StrEnum):
117
117
  REVEAL = 'reveal'
118
118
  REVEAL_AND_ENFORCEMENT = 'reveal_and_enforcement'
119
119
 
120
120
 
121
- class Scope(Enum):
121
+ class Scope(StrEnum):
122
122
  ORG_UNITS = 'org_units'
123
123
  ACCOUNTS = 'accounts'
124
124
 
@@ -1,18 +1,18 @@
1
1
  # generated by fastapi-codegen:
2
2
  # filename: /home/circleci/project/guardicore/connector
3
- # timestamp: 2026-07-02T09:57:21+00:00
3
+ # timestamp: 2026-07-28T12:41:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from enum import Enum
8
- from typing import List, Optional
7
+ from enum import StrEnum
8
+ from typing import Optional
9
9
 
10
- from pydantic import BaseModel, ConfigDict, Field, RootModel
10
+ from pydantic import BaseModel, ConfigDict, Field
11
11
 
12
12
  from centra_sdk.utils.gc_serializer import GcSerializer
13
13
 
14
14
 
15
- class FlowlogsPartition(Enum):
15
+ class FlowlogsPartition(StrEnum):
16
16
  DAILY = 'daily'
17
17
  HOURLY = 'hourly'
18
18
 
@@ -47,23 +47,6 @@ class BucketConfig(BaseModel, GcSerializer):
47
47
  )
48
48
 
49
49
 
50
- class FlowlogConfig(RootModel[List[BucketConfig]]):
51
- model_config = ConfigDict(
52
- populate_by_name=True,
53
- from_attributes=True,
54
- )
55
- root: List[BucketConfig] = Field(
56
- ..., description='List of bucket flow log configurations', min_length=1
57
- )
58
-
59
- def __getattr__(self, attr: str):
60
- return getattr(self.root, attr)
61
-
62
- def __iter__(self):
63
- for item in self.root:
64
- yield item
65
-
66
-
67
50
  class FlowlogBucketMetadataResponse(BaseModel, GcSerializer):
68
51
  model_config = ConfigDict(
69
52
  populate_by_name=True,
@@ -0,0 +1,3 @@
1
+ # generated by fastapi-codegen:
2
+ # filename: /home/circleci/project/guardicore/connector
3
+ # timestamp: 2026-07-28T12:41:37+00:00