From 2d955a6682c4526b657adb7704ca7f58975aa080 Mon Sep 17 00:00:00 2001 From: Taru Garg Date: Tue, 16 Sep 2025 17:23:55 +0530 Subject: [PATCH 1/2] feat: separate out types to their individual files --- src/tfe/types.py | 224 -------------------------------- src/tfe/types/__init__.py | 53 ++++++++ src/tfe/types/capacity.py | 13 ++ src/tfe/types/data_retention.py | 73 +++++++++++ src/tfe/types/entitlements.py | 26 ++++ src/tfe/types/execution.py | 13 ++ src/tfe/types/organization.py | 92 +++++++++++++ src/tfe/types/pagination.py | 13 ++ src/tfe/types/project.py | 13 ++ src/tfe/types/run.py | 40 ++++++ src/tfe/types/workspace.py | 20 +++ 11 files changed, 356 insertions(+), 224 deletions(-) delete mode 100644 src/tfe/types.py create mode 100644 src/tfe/types/__init__.py create mode 100644 src/tfe/types/capacity.py create mode 100644 src/tfe/types/data_retention.py create mode 100644 src/tfe/types/entitlements.py create mode 100644 src/tfe/types/execution.py create mode 100644 src/tfe/types/organization.py create mode 100644 src/tfe/types/pagination.py create mode 100644 src/tfe/types/project.py create mode 100644 src/tfe/types/run.py create mode 100644 src/tfe/types/workspace.py diff --git a/src/tfe/types.py b/src/tfe/types.py deleted file mode 100644 index f5581e2b..00000000 --- a/src/tfe/types.py +++ /dev/null @@ -1,224 +0,0 @@ -from __future__ import annotations - -from datetime import datetime -from enum import Enum - -from pydantic import BaseModel, Field - - -class OrganizationUpdateOptions(BaseModel): - name: str | None = None - email: str | None = None - assessments_enforced: bool | None = None - collaborator_auth_policy: str | None = None - cost_estimation_enabled: bool | None = None - default_execution_mode: str | None = None - external_id: str | None = None - is_unified: bool | None = None - owners_team_saml_role_id: str | None = None - permissions: dict | None = None - saml_enabled: bool | None = None - session_remember: int | None = None - session_timeout: int | None = None - two_factor_conformant: bool | None = None - send_passing_statuses_for_untriggered_speculative_plans: bool | None = None - remaining_testable_count: int | None = None - speculative_plan_management_enabled: bool | None = None - aggregated_commit_status_enabled: bool | None = None - allow_force_delete_workspaces: bool | None = None - default_project: dict | None = None - default_agent_pool: dict | None = None - data_retention_policy: dict | None = None - data_retention_policy_choice: dict | None = None - - -class OrganizationCreateOptions(BaseModel): - name: str | None = None - email: str | None = None - assessments_enforced: bool | None = None - collaborator_auth_policy: str | None = None - cost_estimation_enabled: bool | None = None - default_execution_mode: str | None = None - external_id: str | None = None - is_unified: bool | None = None - owners_team_saml_role_id: str | None = None - permissions: dict | None = None - saml_enabled: bool | None = None - session_remember: int | None = None - session_timeout: int | None = None - two_factor_conformant: bool | None = None - send_passing_statuses_for_untriggered_speculative_plans: bool | None = None - remaining_testable_count: int | None = None - speculative_plan_management_enabled: bool | None = None - aggregated_commit_status_enabled: bool | None = None - allow_force_delete_workspaces: bool | None = None - default_project: dict | None = None - default_agent_pool: dict | None = None - data_retention_policy: dict | None = None - data_retention_policy_choice: dict | None = None - - -class ExecutionMode(str, Enum): - REMOTE = "remote" - AGENT = "agent" - LOCAL = "local" - - -class RunStatus(str, Enum): - PLANNING = "planning" - PLANNED = "planned" - APPLIED = "applied" - CANCELED = "canceled" - ERRORED = "errored" - - -class Organization(BaseModel): - name: str | None = None - assessments_enforced: bool | None = None - collaborator_auth_policy: str | None = None - cost_estimation_enabled: bool | None = None - created_at: datetime | None = None - default_execution_mode: str | None = None - email: str | None = None - external_id: str | None = None - id: str | None = None - is_unified: bool | None = None - owners_team_saml_role_id: str | None = None - permissions: dict | None = None - saml_enabled: bool | None = None - session_remember: int | None = None - session_timeout: int | None = None - trial_expires_at: datetime | None = None - two_factor_conformant: bool | None = None - send_passing_statuses_for_untriggered_speculative_plans: bool | None = None - remaining_testable_count: int | None = None - speculative_plan_management_enabled: bool | None = None - aggregated_commit_status_enabled: bool | None = None - allow_force_delete_workspaces: bool | None = None - default_project: dict | None = None - default_agent_pool: dict | None = None - data_retention_policy: dict | None = None - data_retention_policy_choice: dict | None = None - - -class Project(BaseModel): - id: str - name: str - organization: str - - -class Workspace(BaseModel): - id: str - name: str - organization: str - execution_mode: ExecutionMode | None = None - project_id: str | None = None - tags: list[str] = Field(default_factory=list) - - -class Capacity(BaseModel): - organization: str - pending: int - running: int - - -class Entitlements(BaseModel): - id: str - agents: bool | None = None - audit_logging: bool | None = None - cost_estimation: bool | None = None - global_run_tasks: bool | None = None - operations: bool | None = None - private_module_registry: bool | None = None - private_run_tasks: bool | None = None - run_tasks: bool | None = None - sso: bool | None = None - sentinel: bool | None = None - state_storage: bool | None = None - teams: bool | None = None - vcs_integrations: bool | None = None - waypoint_actions: bool | None = None - waypoint_templates_and_addons: bool | None = None - - -class Run(BaseModel): - id: str - status: RunStatus - # Add other Run fields as needed - - -class Pagination(BaseModel): - current_page: int - total_count: int - # Add other pagination fields as needed - - -class RunQueue(BaseModel): - pagination: Pagination | None = None - items: list[Run] = Field(default_factory=list) - - -class ReadRunQueueOptions(BaseModel): - # List options for pagination - page_number: int | None = None - page_size: int | None = None - - -class DataRetentionPolicy(BaseModel): - """Deprecated: Use DataRetentionPolicyDeleteOlder instead.""" - - id: str - delete_older_than_n_days: int - - -class DataRetentionPolicyDeleteOlder(BaseModel): - id: str - delete_older_than_n_days: int - - -class DataRetentionPolicyDontDelete(BaseModel): - id: str - - -class DataRetentionPolicyChoice(BaseModel): - """Polymorphic data retention policy choice.""" - - data_retention_policy: DataRetentionPolicy | None = None - data_retention_policy_delete_older: DataRetentionPolicyDeleteOlder | None = None - data_retention_policy_dont_delete: DataRetentionPolicyDontDelete | None = None - - def is_populated(self) -> bool: - """Returns whether one of the choices is populated.""" - return ( - self.data_retention_policy is not None - or self.data_retention_policy_delete_older is not None - or self.data_retention_policy_dont_delete is not None - ) - - def convert_to_legacy_struct(self) -> DataRetentionPolicy | None: - """Convert the DataRetentionPolicyChoice to the legacy DataRetentionPolicy struct.""" - if not self.is_populated(): - return None - - if self.data_retention_policy is not None: - return self.data_retention_policy - elif self.data_retention_policy_delete_older is not None: - return DataRetentionPolicy( - id=self.data_retention_policy_delete_older.id, - delete_older_than_n_days=self.data_retention_policy_delete_older.delete_older_than_n_days, - ) - return None - - -class DataRetentionPolicySetOptions(BaseModel): - """Deprecated: Use DataRetentionPolicyDeleteOlderSetOptions instead.""" - - delete_older_than_n_days: int - - -class DataRetentionPolicyDeleteOlderSetOptions(BaseModel): - delete_older_than_n_days: int - - -class DataRetentionPolicyDontDeleteSetOptions(BaseModel): - pass # No additional fields needed diff --git a/src/tfe/types/__init__.py b/src/tfe/types/__init__.py new file mode 100644 index 00000000..9e17abb5 --- /dev/null +++ b/src/tfe/types/__init__.py @@ -0,0 +1,53 @@ +# File generated from migration to individual type files. See types/ folder for details. + +from __future__ import annotations + +from .capacity import Capacity as Capacity +from .data_retention import ( + DataRetentionPolicy as DataRetentionPolicy, + DataRetentionPolicyChoice as DataRetentionPolicyChoice, + DataRetentionPolicyDeleteOlder as DataRetentionPolicyDeleteOlder, + DataRetentionPolicyDeleteOlderSetOptions as DataRetentionPolicyDeleteOlderSetOptions, + DataRetentionPolicyDontDelete as DataRetentionPolicyDontDelete, + DataRetentionPolicyDontDeleteSetOptions as DataRetentionPolicyDontDeleteSetOptions, + DataRetentionPolicySetOptions as DataRetentionPolicySetOptions, +) +from .entitlements import Entitlements as Entitlements +from .execution import ExecutionMode as ExecutionMode +from .organization import ( + Organization as Organization, + OrganizationCreateOptions as OrganizationCreateOptions, + OrganizationUpdateOptions as OrganizationUpdateOptions, +) +from .pagination import Pagination as Pagination +from .project import Project as Project +from .run import ( + ReadRunQueueOptions as ReadRunQueueOptions, + Run as Run, + RunQueue as RunQueue, + RunStatus as RunStatus, +) +from .workspace import Workspace as Workspace + +__all__ = [ + "Capacity", + "DataRetentionPolicy", + "DataRetentionPolicyChoice", + "DataRetentionPolicyDeleteOlder", + "DataRetentionPolicyDeleteOlderSetOptions", + "DataRetentionPolicyDontDelete", + "DataRetentionPolicyDontDeleteSetOptions", + "DataRetentionPolicySetOptions", + "Entitlements", + "ExecutionMode", + "Organization", + "OrganizationCreateOptions", + "OrganizationUpdateOptions", + "Pagination", + "Project", + "ReadRunQueueOptions", + "Run", + "RunQueue", + "RunStatus", + "Workspace", +] \ No newline at end of file diff --git a/src/tfe/types/capacity.py b/src/tfe/types/capacity.py new file mode 100644 index 00000000..9ef52983 --- /dev/null +++ b/src/tfe/types/capacity.py @@ -0,0 +1,13 @@ +from __future__ import annotations + +from pydantic import BaseModel + +__all__ = [ + "Capacity", +] + + +class Capacity(BaseModel): + organization: str + pending: int + running: int \ No newline at end of file diff --git a/src/tfe/types/data_retention.py b/src/tfe/types/data_retention.py new file mode 100644 index 00000000..b3248a8f --- /dev/null +++ b/src/tfe/types/data_retention.py @@ -0,0 +1,73 @@ +from __future__ import annotations + +from pydantic import BaseModel + +__all__ = [ + "DataRetentionPolicy", + "DataRetentionPolicyDeleteOlder", + "DataRetentionPolicyDontDelete", + "DataRetentionPolicyChoice", + "DataRetentionPolicySetOptions", + "DataRetentionPolicyDeleteOlderSetOptions", + "DataRetentionPolicyDontDeleteSetOptions", +] + + +class DataRetentionPolicy(BaseModel): + """Deprecated: Use DataRetentionPolicyDeleteOlder instead.""" + + id: str + delete_older_than_n_days: int + + +class DataRetentionPolicyDeleteOlder(BaseModel): + id: str + delete_older_than_n_days: int + + +class DataRetentionPolicyDontDelete(BaseModel): + id: str + + +class DataRetentionPolicyChoice(BaseModel): + """Polymorphic data retention policy choice.""" + + data_retention_policy: DataRetentionPolicy | None = None + data_retention_policy_delete_older: DataRetentionPolicyDeleteOlder | None = None + data_retention_policy_dont_delete: DataRetentionPolicyDontDelete | None = None + + def is_populated(self) -> bool: + """Returns whether one of the choices is populated.""" + return ( + self.data_retention_policy is not None + or self.data_retention_policy_delete_older is not None + or self.data_retention_policy_dont_delete is not None + ) + + def convert_to_legacy_struct(self) -> DataRetentionPolicy | None: + """Convert the DataRetentionPolicyChoice to the legacy DataRetentionPolicy struct.""" + if not self.is_populated(): + return None + + if self.data_retention_policy is not None: + return self.data_retention_policy + elif self.data_retention_policy_delete_older is not None: + return DataRetentionPolicy( + id=self.data_retention_policy_delete_older.id, + delete_older_than_n_days=self.data_retention_policy_delete_older.delete_older_than_n_days, + ) + return None + + +class DataRetentionPolicySetOptions(BaseModel): + """Deprecated: Use DataRetentionPolicyDeleteOlderSetOptions instead.""" + + delete_older_than_n_days: int + + +class DataRetentionPolicyDeleteOlderSetOptions(BaseModel): + delete_older_than_n_days: int + + +class DataRetentionPolicyDontDeleteSetOptions(BaseModel): + pass # No additional fields needed \ No newline at end of file diff --git a/src/tfe/types/entitlements.py b/src/tfe/types/entitlements.py new file mode 100644 index 00000000..5553c6be --- /dev/null +++ b/src/tfe/types/entitlements.py @@ -0,0 +1,26 @@ +from __future__ import annotations + +from pydantic import BaseModel + +__all__ = [ + "Entitlements", +] + + +class Entitlements(BaseModel): + id: str + agents: bool | None = None + audit_logging: bool | None = None + cost_estimation: bool | None = None + global_run_tasks: bool | None = None + operations: bool | None = None + private_module_registry: bool | None = None + private_run_tasks: bool | None = None + run_tasks: bool | None = None + sso: bool | None = None + sentinel: bool | None = None + state_storage: bool | None = None + teams: bool | None = None + vcs_integrations: bool | None = None + waypoint_actions: bool | None = None + waypoint_templates_and_addons: bool | None = None \ No newline at end of file diff --git a/src/tfe/types/execution.py b/src/tfe/types/execution.py new file mode 100644 index 00000000..3552d750 --- /dev/null +++ b/src/tfe/types/execution.py @@ -0,0 +1,13 @@ +from __future__ import annotations + +from enum import Enum + +__all__ = [ + "ExecutionMode", +] + + +class ExecutionMode(str, Enum): + REMOTE = "remote" + AGENT = "agent" + LOCAL = "local" \ No newline at end of file diff --git a/src/tfe/types/organization.py b/src/tfe/types/organization.py new file mode 100644 index 00000000..38a9b1dd --- /dev/null +++ b/src/tfe/types/organization.py @@ -0,0 +1,92 @@ +from __future__ import annotations + +from datetime import datetime + +from pydantic import BaseModel + +__all__ = [ + "OrganizationUpdateOptions", + "OrganizationCreateOptions", + "Organization", +] + + +class OrganizationUpdateOptions(BaseModel): + name: str | None = None + email: str | None = None + assessments_enforced: bool | None = None + collaborator_auth_policy: str | None = None + cost_estimation_enabled: bool | None = None + default_execution_mode: str | None = None + external_id: str | None = None + is_unified: bool | None = None + owners_team_saml_role_id: str | None = None + permissions: dict | None = None + saml_enabled: bool | None = None + session_remember: int | None = None + session_timeout: int | None = None + two_factor_conformant: bool | None = None + send_passing_statuses_for_untriggered_speculative_plans: bool | None = None + remaining_testable_count: int | None = None + speculative_plan_management_enabled: bool | None = None + aggregated_commit_status_enabled: bool | None = None + allow_force_delete_workspaces: bool | None = None + default_project: dict | None = None + default_agent_pool: dict | None = None + data_retention_policy: dict | None = None + data_retention_policy_choice: dict | None = None + + +class OrganizationCreateOptions(BaseModel): + name: str | None = None + email: str | None = None + assessments_enforced: bool | None = None + collaborator_auth_policy: str | None = None + cost_estimation_enabled: bool | None = None + default_execution_mode: str | None = None + external_id: str | None = None + is_unified: bool | None = None + owners_team_saml_role_id: str | None = None + permissions: dict | None = None + saml_enabled: bool | None = None + session_remember: int | None = None + session_timeout: int | None = None + two_factor_conformant: bool | None = None + send_passing_statuses_for_untriggered_speculative_plans: bool | None = None + remaining_testable_count: int | None = None + speculative_plan_management_enabled: bool | None = None + aggregated_commit_status_enabled: bool | None = None + allow_force_delete_workspaces: bool | None = None + default_project: dict | None = None + default_agent_pool: dict | None = None + data_retention_policy: dict | None = None + data_retention_policy_choice: dict | None = None + + +class Organization(BaseModel): + name: str | None = None + assessments_enforced: bool | None = None + collaborator_auth_policy: str | None = None + cost_estimation_enabled: bool | None = None + created_at: datetime | None = None + default_execution_mode: str | None = None + email: str | None = None + external_id: str | None = None + id: str | None = None + is_unified: bool | None = None + owners_team_saml_role_id: str | None = None + permissions: dict | None = None + saml_enabled: bool | None = None + session_remember: int | None = None + session_timeout: int | None = None + trial_expires_at: datetime | None = None + two_factor_conformant: bool | None = None + send_passing_statuses_for_untriggered_speculative_plans: bool | None = None + remaining_testable_count: int | None = None + speculative_plan_management_enabled: bool | None = None + aggregated_commit_status_enabled: bool | None = None + allow_force_delete_workspaces: bool | None = None + default_project: dict | None = None + default_agent_pool: dict | None = None + data_retention_policy: dict | None = None + data_retention_policy_choice: dict | None = None \ No newline at end of file diff --git a/src/tfe/types/pagination.py b/src/tfe/types/pagination.py new file mode 100644 index 00000000..4ad629a1 --- /dev/null +++ b/src/tfe/types/pagination.py @@ -0,0 +1,13 @@ +from __future__ import annotations + +from pydantic import BaseModel + +__all__ = [ + "Pagination", +] + + +class Pagination(BaseModel): + current_page: int + total_count: int + # Add other pagination fields as needed \ No newline at end of file diff --git a/src/tfe/types/project.py b/src/tfe/types/project.py new file mode 100644 index 00000000..5b322363 --- /dev/null +++ b/src/tfe/types/project.py @@ -0,0 +1,13 @@ +from __future__ import annotations + +from pydantic import BaseModel + +__all__ = [ + "Project", +] + + +class Project(BaseModel): + id: str + name: str + organization: str \ No newline at end of file diff --git a/src/tfe/types/run.py b/src/tfe/types/run.py new file mode 100644 index 00000000..bb31ccfd --- /dev/null +++ b/src/tfe/types/run.py @@ -0,0 +1,40 @@ +from __future__ import annotations + +from enum import Enum +from typing import TYPE_CHECKING +from pydantic import BaseModel, Field + +if TYPE_CHECKING: + from .pagination import Pagination + +__all__ = [ + "RunStatus", + "Run", + "RunQueue", + "ReadRunQueueOptions", +] + + +class RunStatus(str, Enum): + PLANNING = "planning" + PLANNED = "planned" + APPLIED = "applied" + CANCELED = "canceled" + ERRORED = "errored" + + +class Run(BaseModel): + id: str + status: RunStatus + # Add other Run fields as needed + + +class RunQueue(BaseModel): + pagination: Pagination | None = None + items: list[Run] = Field(default_factory=list) + + +class ReadRunQueueOptions(BaseModel): + # List options for pagination + page_number: int | None = None + page_size: int | None = None \ No newline at end of file diff --git a/src/tfe/types/workspace.py b/src/tfe/types/workspace.py new file mode 100644 index 00000000..ebeaf9df --- /dev/null +++ b/src/tfe/types/workspace.py @@ -0,0 +1,20 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING +from pydantic import BaseModel, Field + +if TYPE_CHECKING: + from .execution import ExecutionMode + +__all__ = [ + "Workspace", +] + + +class Workspace(BaseModel): + id: str + name: str + organization: str + execution_mode: ExecutionMode | None = None + project_id: str | None = None + tags: list[str] = Field(default_factory=list) \ No newline at end of file From 5ead7f39136a348854dcfc9aa451d9cc7b8e82fe Mon Sep 17 00:00:00 2001 From: Taru Garg Date: Tue, 16 Sep 2025 17:27:11 +0530 Subject: [PATCH 2/2] lint: run fmt --- src/tfe/types/__init__.py | 24 +++++++++++++++++++++++- src/tfe/types/capacity.py | 2 +- src/tfe/types/data_retention.py | 2 +- src/tfe/types/entitlements.py | 2 +- src/tfe/types/execution.py | 2 +- src/tfe/types/organization.py | 4 ++-- src/tfe/types/pagination.py | 2 +- src/tfe/types/project.py | 2 +- src/tfe/types/run.py | 5 +++-- src/tfe/types/workspace.py | 3 ++- 10 files changed, 36 insertions(+), 12 deletions(-) diff --git a/src/tfe/types/__init__.py b/src/tfe/types/__init__.py index 9e17abb5..630a3725 100644 --- a/src/tfe/types/__init__.py +++ b/src/tfe/types/__init__.py @@ -5,26 +5,48 @@ from .capacity import Capacity as Capacity from .data_retention import ( DataRetentionPolicy as DataRetentionPolicy, +) +from .data_retention import ( DataRetentionPolicyChoice as DataRetentionPolicyChoice, +) +from .data_retention import ( DataRetentionPolicyDeleteOlder as DataRetentionPolicyDeleteOlder, +) +from .data_retention import ( DataRetentionPolicyDeleteOlderSetOptions as DataRetentionPolicyDeleteOlderSetOptions, +) +from .data_retention import ( DataRetentionPolicyDontDelete as DataRetentionPolicyDontDelete, +) +from .data_retention import ( DataRetentionPolicyDontDeleteSetOptions as DataRetentionPolicyDontDeleteSetOptions, +) +from .data_retention import ( DataRetentionPolicySetOptions as DataRetentionPolicySetOptions, ) from .entitlements import Entitlements as Entitlements from .execution import ExecutionMode as ExecutionMode from .organization import ( Organization as Organization, +) +from .organization import ( OrganizationCreateOptions as OrganizationCreateOptions, +) +from .organization import ( OrganizationUpdateOptions as OrganizationUpdateOptions, ) from .pagination import Pagination as Pagination from .project import Project as Project from .run import ( ReadRunQueueOptions as ReadRunQueueOptions, +) +from .run import ( Run as Run, +) +from .run import ( RunQueue as RunQueue, +) +from .run import ( RunStatus as RunStatus, ) from .workspace import Workspace as Workspace @@ -50,4 +72,4 @@ "RunQueue", "RunStatus", "Workspace", -] \ No newline at end of file +] diff --git a/src/tfe/types/capacity.py b/src/tfe/types/capacity.py index 9ef52983..fad8b8e2 100644 --- a/src/tfe/types/capacity.py +++ b/src/tfe/types/capacity.py @@ -10,4 +10,4 @@ class Capacity(BaseModel): organization: str pending: int - running: int \ No newline at end of file + running: int diff --git a/src/tfe/types/data_retention.py b/src/tfe/types/data_retention.py index b3248a8f..9fd134a5 100644 --- a/src/tfe/types/data_retention.py +++ b/src/tfe/types/data_retention.py @@ -70,4 +70,4 @@ class DataRetentionPolicyDeleteOlderSetOptions(BaseModel): class DataRetentionPolicyDontDeleteSetOptions(BaseModel): - pass # No additional fields needed \ No newline at end of file + pass # No additional fields needed diff --git a/src/tfe/types/entitlements.py b/src/tfe/types/entitlements.py index 5553c6be..fce78a32 100644 --- a/src/tfe/types/entitlements.py +++ b/src/tfe/types/entitlements.py @@ -23,4 +23,4 @@ class Entitlements(BaseModel): teams: bool | None = None vcs_integrations: bool | None = None waypoint_actions: bool | None = None - waypoint_templates_and_addons: bool | None = None \ No newline at end of file + waypoint_templates_and_addons: bool | None = None diff --git a/src/tfe/types/execution.py b/src/tfe/types/execution.py index 3552d750..cf2010af 100644 --- a/src/tfe/types/execution.py +++ b/src/tfe/types/execution.py @@ -10,4 +10,4 @@ class ExecutionMode(str, Enum): REMOTE = "remote" AGENT = "agent" - LOCAL = "local" \ No newline at end of file + LOCAL = "local" diff --git a/src/tfe/types/organization.py b/src/tfe/types/organization.py index 38a9b1dd..35f86175 100644 --- a/src/tfe/types/organization.py +++ b/src/tfe/types/organization.py @@ -6,7 +6,7 @@ __all__ = [ "OrganizationUpdateOptions", - "OrganizationCreateOptions", + "OrganizationCreateOptions", "Organization", ] @@ -89,4 +89,4 @@ class Organization(BaseModel): default_project: dict | None = None default_agent_pool: dict | None = None data_retention_policy: dict | None = None - data_retention_policy_choice: dict | None = None \ No newline at end of file + data_retention_policy_choice: dict | None = None diff --git a/src/tfe/types/pagination.py b/src/tfe/types/pagination.py index 4ad629a1..062c1129 100644 --- a/src/tfe/types/pagination.py +++ b/src/tfe/types/pagination.py @@ -10,4 +10,4 @@ class Pagination(BaseModel): current_page: int total_count: int - # Add other pagination fields as needed \ No newline at end of file + # Add other pagination fields as needed diff --git a/src/tfe/types/project.py b/src/tfe/types/project.py index 5b322363..0d6a5df7 100644 --- a/src/tfe/types/project.py +++ b/src/tfe/types/project.py @@ -10,4 +10,4 @@ class Project(BaseModel): id: str name: str - organization: str \ No newline at end of file + organization: str diff --git a/src/tfe/types/run.py b/src/tfe/types/run.py index bb31ccfd..a6b7befb 100644 --- a/src/tfe/types/run.py +++ b/src/tfe/types/run.py @@ -2,6 +2,7 @@ from enum import Enum from typing import TYPE_CHECKING + from pydantic import BaseModel, Field if TYPE_CHECKING: @@ -10,7 +11,7 @@ __all__ = [ "RunStatus", "Run", - "RunQueue", + "RunQueue", "ReadRunQueueOptions", ] @@ -37,4 +38,4 @@ class RunQueue(BaseModel): class ReadRunQueueOptions(BaseModel): # List options for pagination page_number: int | None = None - page_size: int | None = None \ No newline at end of file + page_size: int | None = None diff --git a/src/tfe/types/workspace.py b/src/tfe/types/workspace.py index ebeaf9df..e812707e 100644 --- a/src/tfe/types/workspace.py +++ b/src/tfe/types/workspace.py @@ -1,6 +1,7 @@ from __future__ import annotations from typing import TYPE_CHECKING + from pydantic import BaseModel, Field if TYPE_CHECKING: @@ -17,4 +18,4 @@ class Workspace(BaseModel): organization: str execution_mode: ExecutionMode | None = None project_id: str | None = None - tags: list[str] = Field(default_factory=list) \ No newline at end of file + tags: list[str] = Field(default_factory=list)