ark-sdk-python 2.0.10__py3-none-any.whl → 2.0.14__py3-none-any.whl
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.
- ark_sdk_python/ark.py +1 -1
- ark_sdk_python/ark_api.py +12 -0
- ark_sdk_python/auth/ark_isp_auth.py +4 -1
- ark_sdk_python/auth/identity/ark_identity_service_user.py +12 -2
- ark_sdk_python/models/actions/services/ark_sia_exec_action_consts.py +13 -0
- ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_platform.py +1 -1
- ark_sdk_python/models/services/pcloud/safes/ark_pcloud_safe_member.py +1 -1
- ark_sdk_python/models/services/sia/ssh_ca/__init__.py +5 -0
- ark_sdk_python/models/services/sia/ssh_ca/ark_sia_get_ssh_public_key.py +9 -0
- ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_short_lived_password.py +3 -0
- ark_sdk_python/services/sia/ark_sia_api.py +12 -0
- ark_sdk_python/services/sia/ssh_ca/__init__.py +3 -0
- ark_sdk_python/services/sia/ssh_ca/ark_sia_ssh_ca_service.py +131 -0
- ark_sdk_python/services/sia/sso/ark_sia_sso_service.py +1 -1
- {ark_sdk_python-2.0.10.dist-info → ark_sdk_python-2.0.14.dist-info}/METADATA +35 -3
- {ark_sdk_python-2.0.10.dist-info → ark_sdk_python-2.0.14.dist-info}/RECORD +20 -16
- {ark_sdk_python-2.0.10.dist-info → ark_sdk_python-2.0.14.dist-info}/LICENSE.txt +0 -0
- {ark_sdk_python-2.0.10.dist-info → ark_sdk_python-2.0.14.dist-info}/NOTICES.md +0 -0
- {ark_sdk_python-2.0.10.dist-info → ark_sdk_python-2.0.14.dist-info}/WHEEL +0 -0
- {ark_sdk_python-2.0.10.dist-info → ark_sdk_python-2.0.14.dist-info}/entry_points.txt +0 -0
ark_sdk_python/ark.py
CHANGED
ark_sdk_python/ark_api.py
CHANGED
|
@@ -152,6 +152,18 @@ class ArkAPI:
|
|
|
152
152
|
|
|
153
153
|
return cast(ArkSIAAccessService, self.service(ArkSIAAccessService))
|
|
154
154
|
|
|
155
|
+
@property
|
|
156
|
+
def sia_ssh_ca(self) -> "ArkSIASSHCAService":
|
|
157
|
+
"""
|
|
158
|
+
Returns the SIA SSH CA service if the appropriate authenticators were given
|
|
159
|
+
|
|
160
|
+
Returns:
|
|
161
|
+
ArkSIASSHCAService: _description_
|
|
162
|
+
"""
|
|
163
|
+
from ark_sdk_python.services.sia.ssh_ca import ArkSIASSHCAService
|
|
164
|
+
|
|
165
|
+
return cast(ArkSIASSHCAService, self.service(ArkSIASSHCAService))
|
|
166
|
+
|
|
155
167
|
@property
|
|
156
168
|
def sia_workspaces_db(self) -> "ArkSIADBWorkspaceService":
|
|
157
169
|
"""
|
|
@@ -126,13 +126,16 @@ class ArkISPAuth(ArkAuth):
|
|
|
126
126
|
found_env = list(filter(lambda e: ROOT_DOMAIN[e] in identity.identity_url, ROOT_DOMAIN.keys()))
|
|
127
127
|
if found_env:
|
|
128
128
|
env = found_env[0]
|
|
129
|
+
expires_in = identity.session_exp
|
|
130
|
+
if not expires_in:
|
|
131
|
+
expires_in = datetime.now() + timedelta(hours=4)
|
|
129
132
|
return ArkToken(
|
|
130
133
|
token=identity.session_token,
|
|
131
134
|
username=auth_profile.username,
|
|
132
135
|
endpoint=identity.identity_url,
|
|
133
136
|
token_type=ArkTokenType.JWT,
|
|
134
137
|
auth_method=ArkAuthMethod.IdentityServiceUser,
|
|
135
|
-
expires_in=
|
|
138
|
+
expires_in=expires_in,
|
|
136
139
|
metadata={'env': env, 'cookies': codecs.encode(pickle.dumps(identity.session.cookies), 'base64').decode()},
|
|
137
140
|
)
|
|
138
141
|
except Exception as ex:
|
|
@@ -11,6 +11,7 @@ from requests.auth import HTTPBasicAuth
|
|
|
11
11
|
|
|
12
12
|
from ark_sdk_python.auth.identity.ark_identity_fqdn_resolver import ArkIdentityFQDNResolver
|
|
13
13
|
from ark_sdk_python.common import ArkKeyring, ArkSystemConfig, get_logger
|
|
14
|
+
from ark_sdk_python.common.ark_jwt_utils import ArkJWTUtils
|
|
14
15
|
from ark_sdk_python.common.env import DEPLOY_ENV, IDENTITY_ENV_URLS, AwsEnv
|
|
15
16
|
from ark_sdk_python.models import ArkAuthException, ArkProfile
|
|
16
17
|
from ark_sdk_python.models.auth import ArkAuthMethod, ArkToken, ArkTokenType
|
|
@@ -64,7 +65,8 @@ class ArkIdentityServiceUser:
|
|
|
64
65
|
|
|
65
66
|
def __save_cache(self, profile: Optional[ArkProfile] = None) -> None:
|
|
66
67
|
if self.__keyring and profile and self.__session_token:
|
|
67
|
-
self.__session_exp
|
|
68
|
+
if not self.__session_exp:
|
|
69
|
+
self.__session_exp = datetime.now() + timedelta(hours=4)
|
|
68
70
|
self.__keyring.save_token(
|
|
69
71
|
profile,
|
|
70
72
|
ArkToken(
|
|
@@ -142,7 +144,11 @@ class ArkIdentityServiceUser:
|
|
|
142
144
|
raise ArkAuthException('Failed to parse id token from location header')
|
|
143
145
|
self.__session_token = parsed_query['id_token'][0]
|
|
144
146
|
self.__session.headers.update({'Authorization': f'Bearer {self.__session_token}', **ArkIdentityFQDNResolver.default_headers()})
|
|
145
|
-
|
|
147
|
+
try:
|
|
148
|
+
decoded_token = ArkJWTUtils.get_unverified_claims(self.__session_token)
|
|
149
|
+
self.__session_exp = datetime.fromtimestamp(decoded_token['exp'])
|
|
150
|
+
except Exception:
|
|
151
|
+
self.__session_exp = datetime.now() + timedelta(hours=4)
|
|
146
152
|
self.__logger.info(
|
|
147
153
|
f'Created a service user session via endpoint [{self.__identity_url}] ' f'with user [{self.__username}] to platform'
|
|
148
154
|
)
|
|
@@ -153,6 +159,10 @@ class ArkIdentityServiceUser:
|
|
|
153
159
|
def session(self) -> Session:
|
|
154
160
|
return self.__session
|
|
155
161
|
|
|
162
|
+
@property
|
|
163
|
+
def session_exp(self) -> Optional[datetime]:
|
|
164
|
+
return self.__session_exp
|
|
165
|
+
|
|
156
166
|
@property
|
|
157
167
|
def session_token(self) -> Optional[str]:
|
|
158
168
|
return self.__session_token
|
|
@@ -48,6 +48,7 @@ from ark_sdk_python.models.services.sia.secrets.vm import (
|
|
|
48
48
|
ArkSIAVMGetSecret,
|
|
49
49
|
ArkSIAVMSecretsFilter,
|
|
50
50
|
)
|
|
51
|
+
from ark_sdk_python.models.services.sia.ssh_ca.ark_sia_get_ssh_public_key import ArkSIAGetSSHPublicKey
|
|
51
52
|
from ark_sdk_python.models.services.sia.sso import (
|
|
52
53
|
ArkSIASSOGetShortLivedClientCertificate,
|
|
53
54
|
ArkSIASSOGetShortLivedOracleWallet,
|
|
@@ -232,6 +233,17 @@ ACCESS_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
|
232
233
|
action_name='access',
|
|
233
234
|
schemas=ACCESS_ACTION_TO_SCHEMA_MAP,
|
|
234
235
|
)
|
|
236
|
+
SSH_CA_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
237
|
+
'generate-new-ca': None,
|
|
238
|
+
'deactivate-previous-ca': None,
|
|
239
|
+
'reactivate-previous-ca': None,
|
|
240
|
+
'public-key': ArkSIAGetSSHPublicKey,
|
|
241
|
+
'public-key-script': ArkSIAGetSSHPublicKey,
|
|
242
|
+
}
|
|
243
|
+
SSH_CA_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
244
|
+
action_name='ssh-ca',
|
|
245
|
+
schemas=SSH_CA_ACTION_TO_SCHEMA_MAP,
|
|
246
|
+
)
|
|
235
247
|
SIA_ACTIONS: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
236
248
|
action_name='sia',
|
|
237
249
|
subactions=[
|
|
@@ -243,5 +255,6 @@ SIA_ACTIONS: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
|
243
255
|
CERTIFICATES_ACTION,
|
|
244
256
|
K8S_ACTION,
|
|
245
257
|
ACCESS_ACTION,
|
|
258
|
+
SSH_CA_ACTION,
|
|
246
259
|
],
|
|
247
260
|
)
|
|
@@ -56,7 +56,7 @@ class ArkPCloudSafeMember(ArkCamelizedModel):
|
|
|
56
56
|
member_name: str = Field(description='Name of the member of the safe')
|
|
57
57
|
member_type: ArkPCloudSafeMemberType = Field(description='Type of the member of the safe')
|
|
58
58
|
membership_expiration_date: Optional[int] = Field(description='Expiration date of the member on the safe')
|
|
59
|
-
|
|
59
|
+
is_expired_membership_enable: Optional[bool] = Field(description='Whether expired membership is enabled or not')
|
|
60
60
|
is_predefined_user: bool = Field(description='Whether this is a predefined user or not')
|
|
61
61
|
is_read_only: bool = Field(description='Whether this member is read only')
|
|
62
62
|
permissions: ArkPCloudSafeMemberPermissions = Field(description='Permissions of the safe member')
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from typing import Literal
|
|
2
|
+
|
|
1
3
|
from pydantic import Field
|
|
2
4
|
|
|
3
5
|
from ark_sdk_python.models import ArkModel
|
|
@@ -5,3 +7,4 @@ from ark_sdk_python.models import ArkModel
|
|
|
5
7
|
|
|
6
8
|
class ArkSIASSOGetShortLivedPassword(ArkModel):
|
|
7
9
|
allow_caching: bool = Field(description='Allow short lived token caching', default=False)
|
|
10
|
+
service: Literal['DPA-DB', 'DPA-RDP'] = Field(description='Which service to get the token info for', default='DPA-DB')
|
|
@@ -7,6 +7,7 @@ from ark_sdk_python.services.sia.policies.db import ArkSIADBPoliciesService
|
|
|
7
7
|
from ark_sdk_python.services.sia.policies.vm import ArkSIAVMPoliciesService
|
|
8
8
|
from ark_sdk_python.services.sia.secrets.db import ArkSIADBSecretsService
|
|
9
9
|
from ark_sdk_python.services.sia.secrets.vm import ArkSIAVMSecretsService
|
|
10
|
+
from ark_sdk_python.services.sia.ssh_ca import ArkSIASSHCAService
|
|
10
11
|
from ark_sdk_python.services.sia.sso import ArkSIASSOService
|
|
11
12
|
from ark_sdk_python.services.sia.workspaces.db import ArkSIADBWorkspaceService
|
|
12
13
|
from ark_sdk_python.services.sia.workspaces.targetsets import ArkSIATargetSetsWorkspaceService
|
|
@@ -25,6 +26,7 @@ class ArkSIAAPI:
|
|
|
25
26
|
self.__certificates_service = ArkSIACertificatesService(isp_auth)
|
|
26
27
|
self.__k8s_service = ArkSIAK8SService(isp_auth)
|
|
27
28
|
self.__access_service = ArkSIAAccessService(isp_auth)
|
|
29
|
+
self.__ssh_ca_service = ArkSIASSHCAService(isp_auth)
|
|
28
30
|
|
|
29
31
|
@property
|
|
30
32
|
def workspace_db(self) -> ArkSIADBWorkspaceService:
|
|
@@ -135,3 +137,13 @@ class ArkSIAAPI:
|
|
|
135
137
|
ArkSIAK8SService: _description_
|
|
136
138
|
"""
|
|
137
139
|
return self.__k8s_service
|
|
140
|
+
|
|
141
|
+
@property
|
|
142
|
+
def ssh_ca(self) -> ArkSIASSHCAService:
|
|
143
|
+
"""
|
|
144
|
+
Getter for the SSH CA service
|
|
145
|
+
|
|
146
|
+
Returns:
|
|
147
|
+
ArkDPASSHCAService: _description_
|
|
148
|
+
"""
|
|
149
|
+
return self.__ssh_ca_service
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from http import HTTPStatus
|
|
3
|
+
from typing import Final
|
|
4
|
+
|
|
5
|
+
from overrides import overrides
|
|
6
|
+
from requests import Response
|
|
7
|
+
|
|
8
|
+
from ark_sdk_python.auth.ark_isp_auth import ArkISPAuth
|
|
9
|
+
from ark_sdk_python.common.isp import ArkISPServiceClient
|
|
10
|
+
from ark_sdk_python.models import ArkServiceException
|
|
11
|
+
from ark_sdk_python.models.services import ArkServiceConfig
|
|
12
|
+
from ark_sdk_python.models.services.sia.ssh_ca import ArkSIAGetSSHPublicKey
|
|
13
|
+
from ark_sdk_python.services.ark_service import ArkService
|
|
14
|
+
|
|
15
|
+
SERVICE_CONFIG: Final[ArkServiceConfig] = ArkServiceConfig(
|
|
16
|
+
service_name='sia-ssh-ca', required_authenticator_names=['isp'], optional_authenticator_names=[]
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
# SSH CA Key Rotation
|
|
20
|
+
GENERATE_NEW_CA_KEY_API: Final[str] = 'api/public-keys/rotation/generate-new'
|
|
21
|
+
DEACTIVATE_PREVIOUS_CA_KEY_API: Final[str] = 'api/public-keys/rotation/deactivate-previous'
|
|
22
|
+
REACTIVATE_PREVIOUS_CA_KEY_API: Final[str] = 'api/public-keys/rotation/reactivate-previous'
|
|
23
|
+
|
|
24
|
+
PUBLIC_KEYS_API: Final[str] = 'api/public-keys'
|
|
25
|
+
PUBLIC_KEYS_SCRIPT_API: Final[str] = 'api/public-keys/scripts'
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ArkSIASSHCAService(ArkService):
|
|
29
|
+
def __init__(self, isp_auth: ArkISPAuth) -> None:
|
|
30
|
+
super().__init__(isp_auth)
|
|
31
|
+
self.__isp_auth = isp_auth
|
|
32
|
+
self.__client: ArkISPServiceClient = ArkISPServiceClient.from_isp_auth(
|
|
33
|
+
isp_auth=self.__isp_auth,
|
|
34
|
+
service_name='dpa',
|
|
35
|
+
refresh_connection_callback=self.__refresh_sia_auth,
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
def __refresh_sia_auth(self, client: ArkISPServiceClient) -> None:
|
|
39
|
+
ArkISPServiceClient.refresh_client(client, self.__isp_auth)
|
|
40
|
+
|
|
41
|
+
def generate_new_ca(self) -> None:
|
|
42
|
+
"""
|
|
43
|
+
Generate new SSH CA key version
|
|
44
|
+
|
|
45
|
+
Raises:
|
|
46
|
+
ArkServiceException: _description_
|
|
47
|
+
"""
|
|
48
|
+
self._logger.info('Generate new CA key version')
|
|
49
|
+
resp: Response = self.__client.post(GENERATE_NEW_CA_KEY_API)
|
|
50
|
+
if resp.status_code != HTTPStatus.CREATED:
|
|
51
|
+
raise ArkServiceException(f'Failed to generate new CA key [{resp.text}] - [{resp.status_code}]')
|
|
52
|
+
|
|
53
|
+
def deactivate_previous_ca(self) -> None:
|
|
54
|
+
"""
|
|
55
|
+
Deactivate previous SSH CA key version
|
|
56
|
+
|
|
57
|
+
Raises:
|
|
58
|
+
ArkServiceException: _description_
|
|
59
|
+
"""
|
|
60
|
+
self._logger.info('Deactivate previous CA key version')
|
|
61
|
+
resp: Response = self.__client.post(DEACTIVATE_PREVIOUS_CA_KEY_API)
|
|
62
|
+
if resp.status_code != HTTPStatus.OK:
|
|
63
|
+
raise ArkServiceException(f'Failed to deactivate previous CA key [{resp.text}] - [{resp.status_code}]')
|
|
64
|
+
|
|
65
|
+
def reactivate_previous_ca(self) -> None:
|
|
66
|
+
"""
|
|
67
|
+
Reactivate previous SSH CA key version
|
|
68
|
+
|
|
69
|
+
Raises:
|
|
70
|
+
ArkServiceException: _description_
|
|
71
|
+
"""
|
|
72
|
+
self._logger.info('Reactivate previous CA key version')
|
|
73
|
+
resp: Response = self.__client.post(REACTIVATE_PREVIOUS_CA_KEY_API)
|
|
74
|
+
if resp.status_code != HTTPStatus.OK:
|
|
75
|
+
raise ArkServiceException(f'Failed to reactivate previous CA key [{resp.text}] - [{resp.status_code}]')
|
|
76
|
+
|
|
77
|
+
def public_key(self, get_public_key: ArkSIAGetSSHPublicKey) -> str:
|
|
78
|
+
"""
|
|
79
|
+
Retrieves the public key used for SIA SSH connections trust with customer env
|
|
80
|
+
|
|
81
|
+
Args:
|
|
82
|
+
get_public_key (ArkSIAGetSSHPublicKey): _description_
|
|
83
|
+
|
|
84
|
+
Raises:
|
|
85
|
+
ArkNotSupportedException: _description_
|
|
86
|
+
ArkServiceException: _description_
|
|
87
|
+
|
|
88
|
+
Returns:
|
|
89
|
+
str
|
|
90
|
+
"""
|
|
91
|
+
self._logger.info('Getting public key')
|
|
92
|
+
resp: Response = self.__client.get(PUBLIC_KEYS_API)
|
|
93
|
+
if resp.status_code == HTTPStatus.OK:
|
|
94
|
+
if get_public_key.output_file:
|
|
95
|
+
os.makedirs(os.path.dirname(get_public_key.output_file), exist_ok=True)
|
|
96
|
+
with open(get_public_key.output_file, 'w', encoding='utf-8') as f:
|
|
97
|
+
f.write(resp.text)
|
|
98
|
+
return resp.text
|
|
99
|
+
raise ArkServiceException(f'Failed to get public key [{resp.text}] - [{resp.status_code}]')
|
|
100
|
+
|
|
101
|
+
def public_key_script(self, get_public_key: ArkSIAGetSSHPublicKey) -> str:
|
|
102
|
+
"""
|
|
103
|
+
Retrieves the public key script used for SIA SSH connections trust with customer env
|
|
104
|
+
The script can be run to install the public key in needed ssh configuration files
|
|
105
|
+
|
|
106
|
+
Args:
|
|
107
|
+
get_public_key (ArkSIAGetSSHPublicKey): _description_
|
|
108
|
+
|
|
109
|
+
Raises:
|
|
110
|
+
ArkNotSupportedException: _description_
|
|
111
|
+
ArkServiceException: _description_
|
|
112
|
+
|
|
113
|
+
Returns:
|
|
114
|
+
str
|
|
115
|
+
"""
|
|
116
|
+
self._logger.info('Getting public key script')
|
|
117
|
+
resp: Response = self.__client.get(
|
|
118
|
+
PUBLIC_KEYS_SCRIPT_API,
|
|
119
|
+
)
|
|
120
|
+
if resp.status_code == HTTPStatus.OK:
|
|
121
|
+
if get_public_key.output_file:
|
|
122
|
+
os.makedirs(os.path.dirname(get_public_key.output_file), exist_ok=True)
|
|
123
|
+
with open(get_public_key.output_file, 'w', encoding='utf-8') as f:
|
|
124
|
+
f.write(resp.text)
|
|
125
|
+
return resp.text
|
|
126
|
+
raise ArkServiceException(f'Failed to get public key script [{resp.text}] - [{resp.status_code}]')
|
|
127
|
+
|
|
128
|
+
@staticmethod
|
|
129
|
+
@overrides
|
|
130
|
+
def service_config() -> ArkServiceConfig:
|
|
131
|
+
return SERVICE_CONFIG
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: ark-sdk-python
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.14
|
|
4
4
|
Summary: Official Ark SDK / CLI for CyberArk Identity Security Platform
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Author: CyberArk
|
|
@@ -86,6 +86,7 @@ CyberArk's Official SDK and CLI for different services operations
|
|
|
86
86
|
- [x] SIA K8S Service
|
|
87
87
|
- [x] SIA DB Service
|
|
88
88
|
- [x] SIA Access Service
|
|
89
|
+
- [x] SIA SSH CA Service
|
|
89
90
|
- [x] Session Monitoring Service
|
|
90
91
|
- [x] Identity Users Service
|
|
91
92
|
- [x] Identity Roles Service
|
|
@@ -272,8 +273,9 @@ The following services and commands are supported:
|
|
|
272
273
|
- <b>certificates</b> - SIA Certificates Management
|
|
273
274
|
- <b>db</b> - SIA DB Enduser Operations
|
|
274
275
|
- <b>sso</b> - SIA SSO Enduser Operations
|
|
275
|
-
- <b>k8s</b> - SIA
|
|
276
|
-
- <b>access</b> - SIA
|
|
276
|
+
- <b>k8s</b> - SIA Kubernetes Service
|
|
277
|
+
- <b>access</b> - SIA Access Service
|
|
278
|
+
- <b>ssh-ca</b> - SIA SSH CA Service
|
|
277
279
|
- <b>sm</b> - Session Monitoring Service
|
|
278
280
|
- <b>identity</b> - Identity Service
|
|
279
281
|
- <b>users</b> - Identity Users Management
|
|
@@ -358,6 +360,11 @@ Generate a short lived SSO password for databases connection
|
|
|
358
360
|
ark exec sia sso short-lived-password
|
|
359
361
|
```
|
|
360
362
|
|
|
363
|
+
Generate a short lived SSO password for RDP connection
|
|
364
|
+
```shell
|
|
365
|
+
ark exec sia sso short-lived-password --service DPA-RDP
|
|
366
|
+
```
|
|
367
|
+
|
|
361
368
|
Generate a short lived SSO oracle wallet for oracle database connection
|
|
362
369
|
```shell
|
|
363
370
|
ark exec sia sso short-lived-oracle-wallet --folder ~/wallet
|
|
@@ -373,6 +380,31 @@ Generate kubectl config file and save on specific path
|
|
|
373
380
|
ark exec sia k8s generate-kubeconfig --folder=/Users/My.User/.kube
|
|
374
381
|
```
|
|
375
382
|
|
|
383
|
+
Generate new SSH CA Key version
|
|
384
|
+
```shell
|
|
385
|
+
ark exec sia ssh-ca generate-new-ca
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
Deactivate previous SSH CA Key version
|
|
389
|
+
```shell
|
|
390
|
+
ark exec sia ssh-ca deactivate-previous-ca
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
Reactivate previous SSH CA Key version
|
|
394
|
+
```shell
|
|
395
|
+
ark exec sia ssh-ca reactivate-previous-ca
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
Get SSH CA public key
|
|
399
|
+
```shell
|
|
400
|
+
ark exec sia ssh-ca public-key
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
Get SSH CA public key script
|
|
404
|
+
```shell
|
|
405
|
+
ark exec sia ssh-ca public-key-script
|
|
406
|
+
```
|
|
407
|
+
|
|
376
408
|
Create a PCloud Safe
|
|
377
409
|
```shell
|
|
378
410
|
ark exec pcloud safes add-safe --safe-name=safe
|
|
@@ -10,15 +10,15 @@ ark_sdk_python/actions/ark_service_exec_action.py,sha256=IHIm9oISRThOD8WNJe4oJX-
|
|
|
10
10
|
ark_sdk_python/args/__init__.py,sha256=mCb4UrIRL4u58QyUbqqH2xAU0VN91pxjK5sa_UwCM_k,279
|
|
11
11
|
ark_sdk_python/args/ark_args_formatter.py,sha256=-Rs_rGMIr1bprD1SfYlMsLoSOFgr_RFrRdREvbmPU6k,9204
|
|
12
12
|
ark_sdk_python/args/ark_pydantic_argparse.py,sha256=uupNLnUmO5LrTrRZsBv7qRKgDsx4GaJMwOUh1TCc1-w,40083
|
|
13
|
-
ark_sdk_python/ark.py,sha256=
|
|
14
|
-
ark_sdk_python/ark_api.py,sha256=
|
|
13
|
+
ark_sdk_python/ark.py,sha256=_ht8NXDN7sMWL7GJbo1a-4r1pwXCqKXTGDfaK_Rl7ew,1281
|
|
14
|
+
ark_sdk_python/ark_api.py,sha256=dLq3wS9jVabRqJHuUSLHoFz7MT4qnhlKAB3g2CNW0ZU,12872
|
|
15
15
|
ark_sdk_python/auth/__init__.py,sha256=1l29Rf3VhwmV8z3YROiQVcgrZYSeeCqVN4zna77tnlk,620
|
|
16
16
|
ark_sdk_python/auth/ark_auth.py,sha256=2fPlABM3AwWmb1h0lQPQAz93u1ZluYKv7axlfg4lq5Q,12988
|
|
17
|
-
ark_sdk_python/auth/ark_isp_auth.py,sha256=
|
|
17
|
+
ark_sdk_python/auth/ark_isp_auth.py,sha256=i8GIA5ldsT7loJSG898-XQQyg84M-1CJ0aUZa1zcLSc,9689
|
|
18
18
|
ark_sdk_python/auth/identity/__init__.py,sha256=2Yyc_Rrx-D4PsSdg-ESl5pFFTpqu6LUPSc4ZW59oOP8,328
|
|
19
19
|
ark_sdk_python/auth/identity/ark_identity.py,sha256=88_qZrF4JUxUyA6zcaRiGYQuZad9pHER9v8N6VP9rx4,32240
|
|
20
20
|
ark_sdk_python/auth/identity/ark_identity_fqdn_resolver.py,sha256=utO8mWF7rqfYhcPUthBp7t4M9t-_u3v84CRJeCogoHc,4797
|
|
21
|
-
ark_sdk_python/auth/identity/ark_identity_service_user.py,sha256=
|
|
21
|
+
ark_sdk_python/auth/identity/ark_identity_service_user.py,sha256=pspgsG3dg5PE0XueVParz3CshTdtQJFLdsoMzrx2wfA,7901
|
|
22
22
|
ark_sdk_python/cli_services/__init__.py,sha256=e9vdwqNiYqhZmK05Wgpz-Hf9SycK_3X-RS3CK9n2lIs,87
|
|
23
23
|
ark_sdk_python/cli_services/ark_cli_api.py,sha256=-EDergicuk3lQc4OeKcqUEjlEIxkZJeS0FpC__WnFMo,912
|
|
24
24
|
ark_sdk_python/cli_services/sia/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -67,7 +67,7 @@ ark_sdk_python/models/actions/services/__init__.py,sha256=ejK7YfySeAFzyUsIsJwRmv
|
|
|
67
67
|
ark_sdk_python/models/actions/services/ark_cmgr_exec_action_consts.py,sha256=bIVlfhR5ulC0IKQl5VOZRSSQ9gk5Ei97MgKqXppRSAc,2029
|
|
68
68
|
ark_sdk_python/models/actions/services/ark_identity_exec_action_consts.py,sha256=w7dRKTL666NZ1VWDJ02mcZRnBAGMBigTMl-XtCozxWY,4916
|
|
69
69
|
ark_sdk_python/models/actions/services/ark_pcloud_exec_action_consts.py,sha256=uqgZjgXgmHHXkGm_l5vvRfxNWRAI97r1m0icxi2uMYE,6473
|
|
70
|
-
ark_sdk_python/models/actions/services/ark_sia_exec_action_consts.py,sha256=
|
|
70
|
+
ark_sdk_python/models/actions/services/ark_sia_exec_action_consts.py,sha256=wYC5O11UwgzPVe5Xc_YLS_SzboRBed6z3O7GPWDLu7s,11118
|
|
71
71
|
ark_sdk_python/models/actions/services/ark_sm_exec_action_consts.py,sha256=xMfQ79d7XKG5iZ5ItqNRN5lre5FWWN3VWXDGwVegfY4,1161
|
|
72
72
|
ark_sdk_python/models/ark_exceptions.py,sha256=lW4-kyHvHiKJEThl1j50mffmNGbv-anUixXNLUpjJe4,562
|
|
73
73
|
ark_sdk_python/models/ark_model.py,sha256=dMY_iOUDMe8-gx5RlHc7Chnuv9ZQI_yG9KwV21IJjQ8,3361
|
|
@@ -253,7 +253,7 @@ ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_get_platform.py,sha25
|
|
|
253
253
|
ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_get_target_platform.py,sha256=QweZbT9dZY6wf1UeisbS9wAMxwhlqJKPobySpsDdJL0,194
|
|
254
254
|
ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_import_platform.py,sha256=T9MgzxSdoMzc-i9S0DOyzyJm9UAlLu9BBnEfi8yEbrQ,200
|
|
255
255
|
ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_import_target_platform.py,sha256=6mgWv-6e2MR1dBOJb8wggny7WIDSBZv1ubz3tgf-wjI,206
|
|
256
|
-
ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_platform.py,sha256=
|
|
256
|
+
ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_platform.py,sha256=ARy_PFj93OEoL7vwc0f3Wo0cGPJJeiMC_aIW5gaAGi4,3958
|
|
257
257
|
ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_platforms_filter.py,sha256=tD183Gyk89i3BJZxnZHFij6k67PDqJuAp4zSORkxxpM,559
|
|
258
258
|
ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_platforms_stats.py,sha256=QXH7wXHpsEceqTwsG6nBw0s8hMN0IptbIc14HwcjgfM,424
|
|
259
259
|
ark_sdk_python/models/services/pcloud/platforms/ark_pcloud_target_platform.py,sha256=9kOT7CiVzUHbMHY2TAttcSIdShAB6_Ast9Y79n1wwrM,5195
|
|
@@ -269,7 +269,7 @@ ark_sdk_python/models/services/pcloud/safes/ark_pcloud_get_safe_member.py,sha256
|
|
|
269
269
|
ark_sdk_python/models/services/pcloud/safes/ark_pcloud_get_safe_members_stats.py,sha256=hSoZ6NCs2cgXsp3k4KmbUhlcdV3QhC6kpRLQBir9Lpg,200
|
|
270
270
|
ark_sdk_python/models/services/pcloud/safes/ark_pcloud_list_safe_members.py,sha256=1DwEnxGUC70IZ4xRa8W4YAa31wA-a7NshmFR9Si0dOQ,192
|
|
271
271
|
ark_sdk_python/models/services/pcloud/safes/ark_pcloud_safe.py,sha256=faY2mApGfjpGLX_9tzVr9WoS_C_kRyOHkKZA7qXW-4M,1827
|
|
272
|
-
ark_sdk_python/models/services/pcloud/safes/ark_pcloud_safe_member.py,sha256=
|
|
272
|
+
ark_sdk_python/models/services/pcloud/safes/ark_pcloud_safe_member.py,sha256=odqyUe3gU0V-85c07ZnypLDUDRi1TiypuS5FeeQeuBI,4454
|
|
273
273
|
ark_sdk_python/models/services/pcloud/safes/ark_pcloud_safe_members_filter.py,sha256=Ja_TyNyddajoawFVOURoLVVYa_4SIAstyIxtuVK0psc,788
|
|
274
274
|
ark_sdk_python/models/services/pcloud/safes/ark_pcloud_safes_filters.py,sha256=rcDRVoyaY8ofwGBEkq2ZtlYoHH7b_C-fatw2wQogV-A,475
|
|
275
275
|
ark_sdk_python/models/services/pcloud/safes/ark_pcloud_safes_members_stats.py,sha256=b5ejLKiF1JxQZby_X-OkXfWmbraq_RYInp9IJr_qyuA,819
|
|
@@ -373,11 +373,13 @@ ark_sdk_python/models/services/sia/secrets/vm/ark_sia_vm_secret_info.py,sha256=b
|
|
|
373
373
|
ark_sdk_python/models/services/sia/secrets/vm/ark_sia_vm_secret_type.py,sha256=1AydLjGYmq12nNHDeTR5M-wjXA9ZZ935piRAEWiZlYI,137
|
|
374
374
|
ark_sdk_python/models/services/sia/secrets/vm/ark_sia_vm_secrets_filter.py,sha256=-gIOi_n3m4uVKqNRKaI5Hr_GBQ7vcjMPtXt-8bNACSc,681
|
|
375
375
|
ark_sdk_python/models/services/sia/secrets/vm/ark_sia_vm_secrets_stats.py,sha256=2gxl0y6jW2JKnDDO6fXNQobkzNvD9KF09lrteQ6KGrM,574
|
|
376
|
+
ark_sdk_python/models/services/sia/ssh_ca/__init__.py,sha256=NFvvDI0ixlwETVdZOinGKl2KudGocaN5TMEHAnhmhDo,147
|
|
377
|
+
ark_sdk_python/models/services/sia/ssh_ca/ark_sia_get_ssh_public_key.py,sha256=Yc53tX0wR6UfzQd9-yGtPaWwJFGlHvlrEsQqOh-Cook,229
|
|
376
378
|
ark_sdk_python/models/services/sia/sso/__init__.py,sha256=fdVu0pn9Ie0NQAL8F4wiWASMHJ_VURwbq-b_7b5ppxM,1520
|
|
377
379
|
ark_sdk_python/models/services/sia/sso/ark_sia_sso_acquire_token_response.py,sha256=tqB-0ABDJfKcRquttomsvWp6o6QKpZYWbY9meXhCmbY,277
|
|
378
380
|
ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_short_lived_client_certificate.py,sha256=YXZwUfwcWo6DK3zTSxt219T7rcyy_wK-RD8eaePYNxE,956
|
|
379
381
|
ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_short_lived_oracle_wallet.py,sha256=tXptFWXdKEsjmom1Xy3aLN6P54nnYgkP_SKCs33jyAM,731
|
|
380
|
-
ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_short_lived_password.py,sha256
|
|
382
|
+
ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_short_lived_password.py,sha256=-g0l27dcotjrSD3UaETwvS2k-_xkKANKaPAA2VZVehY,366
|
|
381
383
|
ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_short_lived_rdp_file.py,sha256=cqlef9TGR3_PJ-ALla3PwZFUKV3iY8k_KcSyLU2Xs28,745
|
|
382
384
|
ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_ssh_key.py,sha256=lsYRHfG_kAWsKLxcHFBsxzWKicX1VUJuUiLP2sP3Bgk,234
|
|
383
385
|
ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_token_info.py,sha256=CrdUUQAXaRseMtG9-v0s-MO3KeN7lh6eR-zDmOblD14,444
|
|
@@ -454,7 +456,7 @@ ark_sdk_python/services/pcloud/safes/ark_pcloud_safes_service.py,sha256=fk2JCVuW
|
|
|
454
456
|
ark_sdk_python/services/sia/__init__.py,sha256=QxQOlifbM6z_1xd8wagjwbxwQOGQI2yXpo2M93sU6O8,87
|
|
455
457
|
ark_sdk_python/services/sia/access/__init__.py,sha256=rc_2Ua9Fe4qlmKYrmFLJcK_MOjSIob_atXZ4onhGFiw,125
|
|
456
458
|
ark_sdk_python/services/sia/access/ark_sia_access_service.py,sha256=YqWIGxzy60wYSFJo-iH354Xj2O9izUt09Ek8zzNuBcs,12487
|
|
457
|
-
ark_sdk_python/services/sia/ark_sia_api.py,sha256=
|
|
459
|
+
ark_sdk_python/services/sia/ark_sia_api.py,sha256=UZ-WSnRo3e6zPuwcenDUcTJEnpZzShDQjLBtPI5RPrs,4644
|
|
458
460
|
ark_sdk_python/services/sia/certificates/__init__.py,sha256=GGHlBqeLP7O7jRHNW5iUor1Qct5iiP0bOJG_UTP24as,149
|
|
459
461
|
ark_sdk_python/services/sia/certificates/ark_sia_certificates_service.py,sha256=ej9ZaIuSl1Cv_xBnAeqzpoNN3wtlmSuniuM1IeWhxnE,8626
|
|
460
462
|
ark_sdk_python/services/sia/db/__init__.py,sha256=nvJ1X28YNxkpR77b18VeDU2XfixtlI1qgPj8uQhcsWY,116
|
|
@@ -471,8 +473,10 @@ ark_sdk_python/services/sia/secrets/db/__init__.py,sha256=ie7E5q22Zn5PlVvu0mmeWz
|
|
|
471
473
|
ark_sdk_python/services/sia/secrets/db/ark_sia_db_secrets_service.py,sha256=EdNJI0VfucCJyuttD6ahIil_2pUpr2tUAKSir729RRw,18822
|
|
472
474
|
ark_sdk_python/services/sia/secrets/vm/__init__.py,sha256=JPSVlPqMSeLzKq1SRcMA4QKx7KEzl3scbIeL5z0YGuU,139
|
|
473
475
|
ark_sdk_python/services/sia/secrets/vm/ark_sia_vm_secrets_service.py,sha256=WQYn8Y4OL51ypr09Eb3ZF4lUFJAIfsEWL-QOJ-l7Rdo,10972
|
|
476
|
+
ark_sdk_python/services/sia/ssh_ca/__init__.py,sha256=ZkR033Y3sfVAtNWFk3jbxCArDVABo2sQ208NSzrX4so,123
|
|
477
|
+
ark_sdk_python/services/sia/ssh_ca/ark_sia_ssh_ca_service.py,sha256=OdX7byjTijDginLLqjinjrzaunBVqZVzXqIDDuZNGB8,5160
|
|
474
478
|
ark_sdk_python/services/sia/sso/__init__.py,sha256=32pGT_H9wzKaqaimCWmPrJkCx3jdsJOHubTKNMQJrnw,120
|
|
475
|
-
ark_sdk_python/services/sia/sso/ark_sia_sso_service.py,sha256=
|
|
479
|
+
ark_sdk_python/services/sia/sso/ark_sia_sso_service.py,sha256=g0jmtQKOkSmF5DtvZdVdtQACnIDNbIBWB17CnGbGJso,19538
|
|
476
480
|
ark_sdk_python/services/sia/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
477
481
|
ark_sdk_python/services/sia/workspaces/db/__init__.py,sha256=7QYqbdDGn1TFywk7cbBJkkVvx32hSTgs9T6oiVK3-e8,148
|
|
478
482
|
ark_sdk_python/services/sia/workspaces/db/ark_sia_db_workspace_service.py,sha256=I5jYj1aBY6SlUpIsziQv0NmSISdY5FKWGLhcMm_XSBc,12938
|
|
@@ -480,9 +484,9 @@ ark_sdk_python/services/sia/workspaces/targetsets/__init__.py,sha256=UjHr81LMcMl
|
|
|
480
484
|
ark_sdk_python/services/sia/workspaces/targetsets/ark_sia_target_sets_workspace_service.py,sha256=o9_DzskTV94kkfc4m0Qk8lj5FV8rexRa5RzRwfe9Tbo,11254
|
|
481
485
|
ark_sdk_python/services/sm/__init__.py,sha256=jzKxEkZYOCW9y_byLfd_odae9m2sh1UfjaaKBVySWY0,95
|
|
482
486
|
ark_sdk_python/services/sm/ark_sm_service.py,sha256=Rh2dFjNz7VMJUnl43hxL07HEZ8_33KrU_lqfUrqUDn4,11517
|
|
483
|
-
ark_sdk_python-2.0.
|
|
484
|
-
ark_sdk_python-2.0.
|
|
485
|
-
ark_sdk_python-2.0.
|
|
486
|
-
ark_sdk_python-2.0.
|
|
487
|
-
ark_sdk_python-2.0.
|
|
488
|
-
ark_sdk_python-2.0.
|
|
487
|
+
ark_sdk_python-2.0.14.dist-info/LICENSE.txt,sha256=d4EzYx2apA3-GqrFY23wLtc6UmQNXG05gyLfZ3oWVRs,11358
|
|
488
|
+
ark_sdk_python-2.0.14.dist-info/METADATA,sha256=gw1GpzRyAk-om4lVjW2bPGwzCzGAfqMZuaF3Mp1Gcxk,20796
|
|
489
|
+
ark_sdk_python-2.0.14.dist-info/NOTICES.md,sha256=vRzFZEsfBw5q3H1_cgZV50AVhNTqF8Smz9fSvn49Y1E,125803
|
|
490
|
+
ark_sdk_python-2.0.14.dist-info/WHEEL,sha256=0IJoS5KyK2sZuSvGyrwXyRwSVwTkTkpEcRzz5xcYUMQ,110
|
|
491
|
+
ark_sdk_python-2.0.14.dist-info/entry_points.txt,sha256=v5bcuRn8w42ZKQspfvX3AliKmLVO6f7Zb_bma77p3vQ,47
|
|
492
|
+
ark_sdk_python-2.0.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|