-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add service account credential
- Loading branch information
1 parent
facf4bd
commit 9b73e92
Showing
7 changed files
with
456 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
from jarvis_sdk.cmdconfig import helper | ||
from jarvis_sdk.indykite.config.v1beta1 import config_management_api_pb2 as pb2 | ||
from jarvis_sdk.indykite.config.v1beta1 import model_pb2 as model | ||
from jarvis_sdk.model.service_account_credential import ServiceAccountCredential | ||
from jarvis_sdk.indykite.config.v1beta1.model_pb2 import google_dot_protobuf_dot_wrappers__pb2 as wrappers | ||
from jarvis_sdk.model.register_service_account_credential import RegisterServiceAccountCredential | ||
from google.protobuf.timestamp_pb2 import Timestamp | ||
|
||
|
||
def get_service_account_credential(self, service_account_credential_id): | ||
try: | ||
response = self.stub.ReadServiceAccountCredential( | ||
pb2.ReadServiceAccountCredentialRequest( | ||
id=str(service_account_credential_id) | ||
) | ||
) | ||
except Exception as exception: | ||
print(exception) | ||
return None | ||
|
||
if not response: | ||
return None | ||
|
||
return ServiceAccountCredential.deserialize(response.service_account_credential) | ||
|
||
|
||
def register_service_account_credential_jwk(self, service_account_id, display_name, jwk_in_bytes, expire_time_in_seconds, | ||
bookmarks=[]): | ||
|
||
try: | ||
response = self.stub.RegisterServiceAccountCredential( | ||
pb2.RegisterServiceAccountCredentialRequest( | ||
service_account_id=service_account_id, display_name=display_name, | ||
jwk=jwk_in_bytes, expire_time=Timestamp(seconds=expire_time_in_seconds), | ||
bookmarks=bookmarks | ||
) | ||
) | ||
except Exception as exception: | ||
print(exception) | ||
return None | ||
|
||
if not response: | ||
return None | ||
|
||
return RegisterServiceAccountCredential.deserialize(response) | ||
|
||
|
||
def register_service_account_credential_pem(self, service_account_id, display_name, pem_in_bytes, expire_time_in_seconds, | ||
bookmarks=[]): | ||
|
||
try: | ||
response = self.stub.RegisterServiceAccountCredential( | ||
pb2.RegisterServiceAccountCredentialRequest( | ||
service_account_id=service_account_id, display_name=display_name, | ||
pem=pem_in_bytes, expire_time=Timestamp(seconds=expire_time_in_seconds), | ||
bookmarks=bookmarks | ||
) | ||
) | ||
except Exception as exception: | ||
print(exception) | ||
return None | ||
|
||
if not response: | ||
return None | ||
|
||
return RegisterServiceAccountCredential.deserialize(response) | ||
|
||
|
||
def delete_service_account_credential(self, service_account_credential_id, bookmarks): | ||
|
||
try: | ||
response = self.stub.DeleteServiceAccountCredential( | ||
pb2.DeleteServiceAccountCredentialRequest( | ||
id=service_account_credential_id, bookmarks=bookmarks | ||
) | ||
) | ||
except Exception as exception: | ||
print(exception) | ||
return None | ||
|
||
if not response: | ||
return None | ||
|
||
return response |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
from jarvis_sdk.utils import timestamp_to_date | ||
|
||
|
||
class RegisterServiceAccountCredential: | ||
@classmethod | ||
def deserialize(cls, message): | ||
if message is None: | ||
return None | ||
|
||
register_service_account_credential = RegisterServiceAccountCredential( | ||
str(message.id), | ||
str(message.service_account_id), | ||
str(message.kid), | ||
bytes(message.service_account_config), | ||
timestamp_to_date(message.create_time), | ||
timestamp_to_date(message.expire_time), | ||
str(message.bookmark), | ||
) | ||
|
||
return register_service_account_credential | ||
|
||
def __init__(self, id, service_account_id, kid, service_account_config, create_time, expire_time, bookmark): | ||
self.id = id | ||
self.service_account_id = service_account_id | ||
self.kid = kid | ||
self.service_account_config = service_account_config | ||
self.create_time = create_time | ||
self.expire_time = expire_time | ||
self.bookmark = bookmark | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
from jarvis_sdk.utils import timestamp_to_date | ||
|
||
|
||
class ServiceAccountCredential: | ||
@classmethod | ||
def deserialize(cls, message): | ||
if message is None: | ||
return None | ||
|
||
service_account_credential = ServiceAccountCredential( | ||
str(message.id), | ||
str(message.kid), | ||
str(message.display_name), | ||
str(message.customer_id), | ||
str(message.service_account_id), | ||
str(message.app_space_id) | ||
) | ||
|
||
if message.HasField('create_time'): | ||
service_account_credential.create_time = timestamp_to_date(message.create_time) | ||
|
||
if message.HasField('destroy_time'): | ||
service_account_credential.destroy_time = timestamp_to_date(message.destroy_time) | ||
|
||
if message.HasField('delete_time'): | ||
service_account_credential.delete_time = timestamp_to_date(message.delete_time) | ||
|
||
return service_account_credential | ||
|
||
def __init__(self, id, kid, display_name, customer_id, service_account_id, app_space_id=None): | ||
self.id = id | ||
self.kid = kid | ||
self.display_name = display_name | ||
self.customer_id = customer_id | ||
self.service_account_id = service_account_id | ||
self.app_space_id = app_space_id | ||
self.create_time = None | ||
self.destroy_time = None | ||
self.delete_time = None | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.