Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions src/spaceone/identity/interface/grpc/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,6 @@ def remove_users(self, request, context):
response: dict = project_svc.remove_users(params)
return self.dict_to_message(response)

def add_user_groups(self, request, context):
params, metadata = self.parse_request(request, context)
project_svc = ProjectService(metadata)
response: dict = project_svc.add_user_groups(params)
return self.dict_to_message(response)

def remove_user_groups(self, request, context):
params, metadata = self.parse_request(request, context)
project_svc = ProjectService(metadata)
response: dict = project_svc.remove_user_groups(params)
return self.dict_to_message(response)

def get(self, request, context):
params, metadata = self.parse_request(request, context)
project_svc = ProjectService(metadata)
Expand Down
4 changes: 0 additions & 4 deletions src/spaceone/identity/model/project/database.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ class Project(MongoModel):
)
tags = DictField(default=None)
users = ListField(StringField(max_length=40), default=None)
user_groups = ListField(StringField(max_length=255), default=None)
created_by = StringField(max_length=255)
reference_id = StringField(max_length=255, default=None, null=True)
is_managed = BooleanField(default=False)
Expand All @@ -27,7 +26,6 @@ class Project(MongoModel):
"project_type",
"tags",
"users",
"user_groups",
"is_managed",
"trusted_account_id",
"project_group_id",
Expand All @@ -43,13 +41,11 @@ class Project(MongoModel):
"change_query_keys": {
"user_projects": "project_id",
"user_id": "users",
"user_group_id": "user_groups",
},
"ordering": ["name"],
"indexes": [
"project_type",
"users",
"user_groups",
"project_group_id",
"workspace_id",
"domain_id",
Expand Down
19 changes: 0 additions & 19 deletions src/spaceone/identity/model/project/request.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
"ProjectDeleteRequest",
"ProjectAddUsersRequest",
"ProjectRemoveUsersRequest",
"ProjectAddUserGroupsRequest",
"ProjectRemoveUserGroupsRequest",
"ProjectGetRequest",
"ProjectSearchQueryRequest",
"ProjectStatQueryRequest",
Expand Down Expand Up @@ -74,22 +72,6 @@ class ProjectRemoveUsersRequest(BaseModel):
user_projects: Union[list, None] = None


class ProjectAddUserGroupsRequest(BaseModel):
project_id: str
user_groups: List[str]
workspace_id: str
domain_id: str
user_projects: Union[list, None] = None


class ProjectRemoveUserGroupsRequest(BaseModel):
project_id: str
user_groups: List[str]
workspace_id: str
domain_id: str
user_projects: Union[list, None] = None


class ProjectGetRequest(BaseModel):
project_id: str
workspace_id: Union[str, None] = None
Expand All @@ -105,7 +87,6 @@ class ProjectSearchQueryRequest(BaseModel):
created_by: Union[str, None] = None
include_children: Union[bool, None] = None
user_id: Union[str, None] = None
user_group_id: Union[str, None] = None
project_group_id: Union[str, None] = None
workspace_id: Union[str, None] = None
domain_id: str
Expand Down
1 change: 0 additions & 1 deletion src/spaceone/identity/model/project/response.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ class ProjectResponse(BaseModel):
project_type: Union[ProjectType, None] = None
tags: Union[dict, None] = None
users: Union[List[str], None] = None
user_groups: Union[List[str], None] = None
created_by: Union[str, None] = None
reference_id: Union[str, None] = None
is_managed: Union[bool, None] = None
Expand Down
14 changes: 14 additions & 0 deletions src/spaceone/identity/model/service_account/database.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,18 @@ class ServiceAccount(MongoModel):
name = StringField(
max_length=255, unique_with=["domain_id", "workspace_id", "project_id"]
)
state = StringField(
max_length=20,
required=True,
choices=["PENDING", "ACTIVE", "INACTIVE", "DELETED"],
)
data = DictField(default=None)
provider = StringField(max_length=40)
tags = DictField(default=None)
reference_id = StringField(max_length=255, default=None, null=True)
is_managed = BooleanField(default=False)
asset_info = DictField(default=None)
cost_info = DictField(default=None)
secret_schema_id = StringField(max_length=40)
secret_id = StringField(max_length=40)
trusted_account_id = StringField(max_length=40, null=True, default=None)
Expand All @@ -20,13 +27,18 @@ class ServiceAccount(MongoModel):
domain_id = StringField(max_length=40)
created_at = DateTimeField(auto_now_add=True)
last_synced_at = DateTimeField(default=None, null=True)
deleted_at = DateTimeField(default=None, null=True)
inactivated_at = DateTimeField(default=None, null=True)

meta = {
"updatable_fields": [
"name",
"state",
"data",
"tags",
"is_managed",
"asset_info",
"cost_info",
"secret_schema_id",
"secret_id",
"trusted_account_id",
Expand All @@ -36,6 +48,7 @@ class ServiceAccount(MongoModel):
"minimal_fields": [
"service_account_id",
"name",
"state",
"provider",
"is_managed",
"trusted_account_id",
Expand All @@ -46,6 +59,7 @@ class ServiceAccount(MongoModel):
"ordering": ["name"],
"indexes": [
"name",
"state",
"provider",
"secret_schema_id",
"secret_id",
Expand Down
6 changes: 5 additions & 1 deletion src/spaceone/identity/model/service_account/request.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Union
from typing import Union, Literal
from pydantic import BaseModel

__all__ = [
Expand All @@ -10,8 +10,11 @@
"ServiceAccountGetRequest",
"ServiceAccountSearchQueryRequest",
"ServiceAccountStatQueryRequest",
"State",
]

State = Literal["PENDING", "ACTIVE", "INACTIVE", "DELETED"]


class ServiceAccountCreateRequest(BaseModel):
name: str
Expand Down Expand Up @@ -72,6 +75,7 @@ class ServiceAccountSearchQueryRequest(BaseModel):
query: Union[dict, None] = None
service_account_id: Union[str, None] = None
name: Union[str, None] = None
state: Union[State, None] = None
provider: Union[str, None] = None
secret_schema_id: Union[str, None] = None
secret_id: Union[str, None] = None
Expand Down
6 changes: 6 additions & 0 deletions src/spaceone/identity/model/service_account/response.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@
from typing import Union, List
from pydantic import BaseModel
from spaceone.core import utils
from spaceone.identity.model.service_account.request import State

__all__ = ["ServiceAccountResponse", "ServiceAccountsResponse"]


class ServiceAccountResponse(BaseModel):
service_account_id: Union[str, None] = None
name: Union[str, None] = None
state: Union[State, None] = None
data: Union[dict, None] = None
provider: Union[str, None] = None
tags: Union[dict, None] = None
Expand All @@ -22,11 +24,15 @@ class ServiceAccountResponse(BaseModel):
domain_id: Union[str, None] = None
created_at: Union[datetime, None] = None
last_synced_at: Union[datetime, None] = None
deleted_at: Union[datetime, None] = None
inactivated_at: Union[datetime, None] = None

def dict(self, *args, **kwargs):
data = super().dict(*args, **kwargs)
data["created_at"] = utils.datetime_to_iso8601(data["created_at"])
data["last_synced_at"] = utils.datetime_to_iso8601(data.get("last_synced_at"))
data["deleted_at"] = utils.datetime_to_iso8601(data.get("deleted_at"))
data["inactivated_at"] = utils.datetime_to_iso8601(data.get("inactivated_at"))
return data


Expand Down
5 changes: 5 additions & 0 deletions src/spaceone/identity/model/user_profile/response.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,20 @@ class MyWorkspaceResponse(BaseModel):
created_by: Union[str, None] = None
reference_id: Union[str, None] = None
is_managed: Union[bool, None] = None
is_dormant: Union[bool, None] = None
role_id: Union[str, None] = None
domain_id: Union[str, None] = None
created_at: Union[datetime, None] = None
last_synced_at: Union[datetime, None] = None
dormant_updated_at: Union[datetime, None] = None

def dict(self, *args, **kwargs):
data = super().dict(*args, **kwargs)
data["created_at"] = utils.datetime_to_iso8601(data["created_at"])
data["last_synced_at"] = utils.datetime_to_iso8601(data.get("last_synced_at"))
data["dormant_updated_at"] = utils.datetime_to_iso8601(
data.get("dormant_updated_at")
)
return data


Expand Down
21 changes: 20 additions & 1 deletion src/spaceone/identity/model/workspace/database.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,29 @@ class Workspace(MongoModel):
created_by = StringField(max_length=255)
references = ListField(StringField(max_length=255), default=None, null=True)
is_managed = BooleanField(default=False)

is_dormant = BooleanField(default=False)
dormant_ttl = IntField(default=None)
service_account_count = IntField(default=None)
cost_info = DictField(default=None)

trusted_account_id = StringField(max_length=40, default=None, null=True)
domain_id = StringField(max_length=40)
created_at = DateTimeField(auto_now_add=True)
deleted_at = DateTimeField(default=None, null=True)
last_synced_at = DateTimeField(default=None, null=True)
dormant_updated_at = DateTimeField(default=None, null=True)

meta = {
"updatable_fields": [
"name",
"state",
"tags",
"is_managed",
"is_dormant",
"dormant_ttl",
"service_account_count",
"cost_info",
"trusted_account_id",
"references",
"deleted_at",
Expand All @@ -37,12 +48,20 @@ class Workspace(MongoModel):
"name",
"state",
"is_managed",
"is_dormant",
],
"change_query_keys": {
"reference_id": "references",
},
"ordering": ["name"],
"indexes": ["name", "domain_id"],
"indexes": [
"name",
"state",
"domain_id",
"created_by",
"is_managed",
"is_dormant",
],
}

@queryset_manager
Expand Down
8 changes: 7 additions & 1 deletion src/spaceone/identity/model/workspace/request.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Union
from typing import Union, Literal
from pydantic import BaseModel

__all__ = [
Expand All @@ -11,8 +11,11 @@
"WorkspaceCheckRequest",
"WorkspaceSearchQueryRequest",
"WorkspaceStatQueryRequest",
"State",
]

State = Literal["ENABLED", "DISABLED"]


class WorkspaceCreateRequest(BaseModel):
name: str
Expand Down Expand Up @@ -56,8 +59,11 @@ class WorkspaceCheckRequest(BaseModel):
class WorkspaceSearchQueryRequest(BaseModel):
query: Union[dict, None] = None
name: Union[str, None] = None
state: Union[State, None] = None
workspace_id: Union[str, None] = None
created_by: Union[str, None] = None
is_managed: Union[bool, None] = None
is_dormant: Union[bool, None] = None
domain_id: str


Expand Down
13 changes: 10 additions & 3 deletions src/spaceone/identity/model/workspace/response.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
from datetime import datetime
from typing import Union, List, Literal
from typing import Union, List
from pydantic import BaseModel

from spaceone.core import utils
from spaceone.identity.model.workspace.request import State

__all__ = ["WorkspaceResponse", "WorkspacesResponse"]

State = Literal["ENABLED", "DISABLED"]


class WorkspaceResponse(BaseModel):
workspace_id: Union[str, None] = None
Expand All @@ -17,15 +16,23 @@ class WorkspaceResponse(BaseModel):
created_by: Union[str, None] = None
references: Union[list, None] = None
is_managed: Union[bool, None] = None
is_dormant: Union[bool, None] = None
dormant_ttl: Union[int, None] = None
service_account_count: Union[int, None] = None
cost_info: Union[dict, None] = None
trusted_account_id: Union[str, None] = None
domain_id: Union[str, None] = None
created_at: Union[datetime, None] = None
last_synced_at: Union[datetime, None] = None
dormant_updated_at: Union[datetime, None] = None

def dict(self, *args, **kwargs):
data = super().dict(*args, **kwargs)
data["created_at"] = utils.datetime_to_iso8601(data["created_at"])
data["last_synced_at"] = utils.datetime_to_iso8601(data.get("last_synced_at"))
data["dormant_updated_at"] = utils.datetime_to_iso8601(
data.get("dormant_updated_at")
)
return data


Expand Down
Loading