ark-sdk-python 2.1.7__py3-none-any.whl → 2.2.0__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/actions/ark_exec_action.py +1 -0
- ark_sdk_python/ark_api.py +36 -0
- ark_sdk_python/auth/ark_auth.py +6 -1
- ark_sdk_python/auth/identity/ark_identity_fqdn_resolver.py +4 -4
- ark_sdk_python/common/ark_version.py +1 -1
- ark_sdk_python/common/isp/ark_isp_service_client.py +3 -1
- ark_sdk_python/examples/validate_ssh_connection.py +11 -4
- ark_sdk_python/models/actions/services/__init__.py +6 -0
- ark_sdk_python/models/actions/services/ark_access_exec_action_consts.py +20 -0
- ark_sdk_python/models/actions/services/ark_ars_exec_action_consts.py +40 -0
- ark_sdk_python/models/actions/services/ark_cmgr_exec_action_consts.py +45 -1
- ark_sdk_python/models/actions/services/ark_sia_exec_action_consts.py +80 -4
- ark_sdk_python/models/common/ark_application_code.py +5 -0
- ark_sdk_python/models/common/ark_os_type.py +1 -0
- ark_sdk_python/models/common/ark_region.py +2 -1
- ark_sdk_python/models/services/access/__init__.py +15 -0
- ark_sdk_python/models/services/access/assets/__init__.py +13 -0
- ark_sdk_python/models/services/access/assets/ark_access_assets_asset.py +61 -0
- ark_sdk_python/models/services/access/assets/ark_access_assets_assets.py +15 -0
- ark_sdk_python/models/services/access/assets/ark_access_assets_list_assets.py +32 -0
- ark_sdk_python/models/services/access/assets/ark_access_assets_secret.py +15 -0
- ark_sdk_python/models/services/ars/__init__.py +0 -0
- ark_sdk_python/models/services/ars/common/__init__.py +9 -0
- ark_sdk_python/models/services/ars/common/ark_ars_filter.py +14 -0
- ark_sdk_python/models/services/ars/common/ark_ars_query.py +22 -0
- ark_sdk_python/models/services/ars/requests/__init__.py +31 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_access_request.py +82 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_access_request_async_task.py +44 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_access_request_form.py +67 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_access_request_info.py +23 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_access_requests_stats.py +17 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_cancel_access_request.py +8 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_finalize_access_request.py +20 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_get_access_request.py +7 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_list_access_request_forms.py +12 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_request_type.py +6 -0
- ark_sdk_python/models/services/ars/requests/ark_ars_submit_access_request.py +18 -0
- ark_sdk_python/models/services/ars/requests/ark_target_category.py +32 -0
- ark_sdk_python/models/services/cmgr/__init__.py +59 -3
- ark_sdk_python/models/services/cmgr/ark_cmgr_component.py +82 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_component_operation_async_task.py +31 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_components_filter.py +16 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_components_stats.py +15 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_connector.py +52 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_connector_components_filter.py +7 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_connector_setup_script.py +8 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_connectors_filter.py +34 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_connectors_stats.py +31 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_delete_connector.py +24 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_get_connector.py +7 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_get_connector_component.py +8 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_get_connector_setup_script.py +23 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_install_component.py +12 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_install_connector.py +28 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_list_connector_components.py +7 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_reinstall_component.py +8 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_rescan_components.py +7 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_uninstall_component.py +16 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_uninstall_connector.py +21 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_upgrade_component.py +9 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_upgrade_connector.py +7 -0
- ark_sdk_python/models/services/cmgr/ark_cmgr_workspace_type_serializer.py +18 -0
- ark_sdk_python/models/services/sia/access/__init__.py +54 -0
- ark_sdk_python/models/services/sia/access/ark_sia_connector.py +119 -0
- ark_sdk_python/models/services/sia/access/ark_sia_connectors_filter.py +39 -0
- ark_sdk_python/models/services/sia/access/ark_sia_connectors_stats.py +33 -0
- ark_sdk_python/models/services/sia/access/ark_sia_delete_connector.py +25 -0
- ark_sdk_python/models/services/sia/access/ark_sia_delete_https_relay.py +31 -0
- ark_sdk_python/models/services/sia/access/ark_sia_get_connector.py +7 -0
- ark_sdk_python/models/services/sia/access/ark_sia_get_connector_setup_script.py +4 -0
- ark_sdk_python/models/services/sia/access/ark_sia_get_https_relay.py +7 -0
- ark_sdk_python/models/services/sia/access/ark_sia_get_https_relay_setup_script.py +19 -0
- ark_sdk_python/models/services/sia/access/ark_sia_https_relay.py +34 -0
- ark_sdk_python/models/services/sia/access/ark_sia_https_relay_setup_script.py +8 -0
- ark_sdk_python/models/services/sia/access/ark_sia_https_relay_status_codes.py +14 -0
- ark_sdk_python/models/services/sia/access/ark_sia_https_relays_filter.py +13 -0
- ark_sdk_python/models/services/sia/access/ark_sia_install_connector.py +13 -2
- ark_sdk_python/models/services/sia/access/ark_sia_install_relay.py +32 -0
- ark_sdk_python/models/services/sia/access/ark_sia_k8s_details.py +36 -0
- ark_sdk_python/models/services/sia/access/ark_sia_rotate_connector.py +7 -0
- ark_sdk_python/models/services/sia/access/ark_sia_rotate_https_relay.py +7 -0
- ark_sdk_python/models/services/sia/access/ark_sia_uninstall_connector.py +15 -3
- ark_sdk_python/models/services/sia/access/ark_sia_uninstall_relay.py +23 -0
- ark_sdk_python/models/services/sia/access/ark_sia_update_connector_maintenance_mode.py +23 -0
- ark_sdk_python/models/services/sia/access/ark_sia_upgrade_connector.py +7 -0
- ark_sdk_python/models/services/sia/access/ark_sia_upgrade_connector_async_task.py +32 -0
- ark_sdk_python/models/services/sia/access/ark_sia_upgrade_https_relay.py +7 -0
- ark_sdk_python/models/services/sia/k8s/__init__.py +11 -1
- ark_sdk_python/models/services/sia/k8s/ark_sia_k8s_cluster.py +22 -0
- ark_sdk_python/models/services/sia/k8s/ark_sia_k8s_clusters.py +10 -0
- ark_sdk_python/models/services/sia/k8s/ark_sia_k8s_generate_cluster_config.py +13 -0
- ark_sdk_python/models/services/sia/k8s/ark_sia_k8s_list_clusters.py +9 -0
- ark_sdk_python/models/services/sia/secrets/db/__init__.py +22 -6
- ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_add_secret.py +54 -3
- ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_delete_secret.py +4 -0
- ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_get_secret.py +4 -0
- ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_list_strong_accounts_response.py +16 -0
- ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_secret_metadata.py +27 -2
- ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_secrets_filter.py +7 -0
- ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_strong_accounts_filter.py +29 -0
- ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_update_secret.py +51 -3
- ark_sdk_python/models/services/sia/settings/__init__.py +2 -0
- ark_sdk_python/models/services/sia/settings/ark_sia_settings_feature_name.py +1 -0
- ark_sdk_python/models/services/sia/settings/ark_sia_settings_https_relay.py +11 -0
- ark_sdk_python/models/services/sia/settings/ark_sia_settings_list_settings.py +4 -1
- ark_sdk_python/models/services/sia/settings/ark_sia_settings_set_settings.py +2 -0
- ark_sdk_python/models/services/sia/settings/ark_sia_settings_setting_types.py +2 -0
- ark_sdk_python/models/services/sia/settings/ark_sia_settings_settings.py +2 -0
- ark_sdk_python/models/services/sia/shortened_connection_string/__init__.py +11 -0
- ark_sdk_python/models/services/sia/shortened_connection_string/ark_sia_generate_shortened_connection_string.py +7 -0
- ark_sdk_python/models/services/sia/shortened_connection_string/ark_sia_generate_shortened_connection_string_response.py +8 -0
- ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_short_lived_rdp_file.py +16 -2
- ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_ssh_key.py +1 -0
- ark_sdk_python/models/services/sia/workspaces/db/__init__.py +27 -8
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_add_database.py +152 -0
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_database.py +101 -2
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_database_info.py +47 -1
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_databases_filter.py +13 -0
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_databases_stats.py +12 -0
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_delete_database.py +13 -0
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_get_database.py +13 -0
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_provider.py +25 -1
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_target_constraints.py +39 -0
- ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_update_database.py +166 -0
- ark_sdk_python/models/services/sm/ark_sm_session.py +1 -0
- ark_sdk_python/models/services/uap/common/__init__.py +2 -0
- ark_sdk_python/models/services/uap/common/ark_uap_access_approval.py +24 -0
- ark_sdk_python/models/services/uap/common/ark_uap_change_info.py +1 -1
- ark_sdk_python/models/services/uap/common/ark_uap_conditions.py +15 -1
- ark_sdk_python/models/services/uap/common/ark_uap_metadata.py +1 -1
- ark_sdk_python/models/services/uap/common/ark_uap_principal.py +2 -2
- ark_sdk_python/models/services/uap/sia/common/ark_uap_sia_common_conditions.py +14 -0
- ark_sdk_python/models/services/uap/sia/vm/__init__.py +2 -0
- ark_sdk_python/models/services/uap/sia/vm/ark_uap_sia_vm_access_policy.py +11 -0
- ark_sdk_python/models/services/uap/sia/vm/ark_uap_sia_vm_conditions.py +28 -0
- ark_sdk_python/services/access/__init__.py +3 -0
- ark_sdk_python/services/access/ark_access_api.py +17 -0
- ark_sdk_python/services/access/assets/__init__.py +3 -0
- ark_sdk_python/services/access/assets/ark_access_assets_service.py +91 -0
- ark_sdk_python/services/ars/__init__.py +0 -0
- ark_sdk_python/services/ars/requests/__init__.py +7 -0
- ark_sdk_python/services/ars/requests/ark_ars_requests_async_request.py +145 -0
- ark_sdk_python/services/ars/requests/ark_ars_requests_service.py +377 -0
- ark_sdk_python/services/cmgr/__init__.py +2 -1
- ark_sdk_python/services/cmgr/ark_cmgr_component_operation_async_request.py +139 -0
- ark_sdk_python/services/cmgr/ark_cmgr_service.py +754 -3
- ark_sdk_python/services/sia/access/__init__.py +2 -1
- ark_sdk_python/services/sia/access/ark_sia_access_service.py +691 -11
- ark_sdk_python/services/sia/access/ark_sia_upgrade_connector_async_request.py +136 -0
- ark_sdk_python/services/sia/ark_sia_api.py +12 -0
- ark_sdk_python/services/sia/k8s/ark_sia_k8s_service.py +77 -1
- ark_sdk_python/services/sia/secrets/db/ark_sia_db_secrets_service.py +354 -1
- ark_sdk_python/services/sia/settings/ark_sia_settings_service.py +60 -2
- ark_sdk_python/services/sia/shortened_connection_string/__init__.py +7 -0
- ark_sdk_python/services/sia/shortened_connection_string/ark_sia_shortened_connection_string_service.py +75 -0
- ark_sdk_python/services/sia/sso/ark_sia_sso_service.py +12 -2
- ark_sdk_python/services/sia/sso/consts.py +9 -0
- ark_sdk_python/services/sia/workspaces/db/ark_sia_db_workspace_service.py +346 -7
- ark_sdk_python/services/uap/common/ark_uap_base_service.py +13 -6
- ark_sdk_python/services/uap/sca/ark_uap_sca_service.py +4 -4
- {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/METADATA +2 -1
- {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/RECORD +166 -71
- {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/WHEEL +0 -0
- {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/entry_points.txt +0 -0
- {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/licenses/LICENSE.txt +0 -0
- {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/licenses/NOTICES.md +0 -0
|
@@ -89,6 +89,7 @@ class ArkExecAction(ArkAction):
|
|
|
89
89
|
ArkPydanticArgparse.argparse_to_schema(model_type.model_json_schema(), args)
|
|
90
90
|
)
|
|
91
91
|
model.poll_progress_callback = ArkPollers.default_poller()
|
|
92
|
+
model.poll = True
|
|
92
93
|
output = getattr(service, action.replace('-', '_'))(model)
|
|
93
94
|
async_req = None
|
|
94
95
|
if issubclass(type(output), ArkAsyncRequest):
|
ark_sdk_python/ark_api.py
CHANGED
|
@@ -164,6 +164,18 @@ class ArkAPI:
|
|
|
164
164
|
|
|
165
165
|
return cast(ArkSMService, self.service(ArkSMService))
|
|
166
166
|
|
|
167
|
+
@property
|
|
168
|
+
def access_assets(self) -> "ArkAccessAssetsService":
|
|
169
|
+
"""
|
|
170
|
+
Returns the Access Assets service if the appropriate authenticators were provided.
|
|
171
|
+
|
|
172
|
+
Returns:
|
|
173
|
+
ArkAccessAssetsService: Access assets service.
|
|
174
|
+
"""
|
|
175
|
+
from ark_sdk_python.services.access.assets import ArkAccessAssetsService
|
|
176
|
+
|
|
177
|
+
return cast(ArkAccessAssetsService, self.service(ArkAccessAssetsService))
|
|
178
|
+
|
|
167
179
|
@property
|
|
168
180
|
def sia_workspaces_target_sets(self) -> "ArkSIATargetSetsWorkspaceService":
|
|
169
181
|
"""
|
|
@@ -320,6 +332,18 @@ class ArkAPI:
|
|
|
320
332
|
|
|
321
333
|
return cast(ArkSIASettingsService, self.service(ArkSIASettingsService))
|
|
322
334
|
|
|
335
|
+
@property
|
|
336
|
+
def sia_shortened_connection_string(self) -> "ArkSIAShortenedConnectionStringService":
|
|
337
|
+
"""
|
|
338
|
+
Returns the SIA Shortened-Connection-String service if the appropriate authenticators were provided.
|
|
339
|
+
|
|
340
|
+
Returns:
|
|
341
|
+
ArkSIAShortenedConnectionStringService: _description_
|
|
342
|
+
"""
|
|
343
|
+
from ark_sdk_python.services.sia.shortened_connection_string import ArkSIAShortenedConnectionStringService
|
|
344
|
+
|
|
345
|
+
return cast(ArkSIAShortenedConnectionStringService, self.service(ArkSIAShortenedConnectionStringService))
|
|
346
|
+
|
|
323
347
|
@property
|
|
324
348
|
def pcloud_accounts(self) -> "ArkPCloudAccountsService":
|
|
325
349
|
"""
|
|
@@ -392,6 +416,18 @@ class ArkAPI:
|
|
|
392
416
|
|
|
393
417
|
return cast(ArkCmgrService, self.service(ArkCmgrService))
|
|
394
418
|
|
|
419
|
+
@property
|
|
420
|
+
def ars_requests(self) -> "ArkARSRequestsService":
|
|
421
|
+
"""
|
|
422
|
+
Returns the ARS Requests service if the appropriate authenticators were provided.
|
|
423
|
+
|
|
424
|
+
Returns:
|
|
425
|
+
ArkARSRequestsService: _description_
|
|
426
|
+
"""
|
|
427
|
+
from ark_sdk_python.services.ars.requests import ArkARSRequestsService
|
|
428
|
+
|
|
429
|
+
return cast(ArkARSRequestsService, self.service(ArkARSRequestsService))
|
|
430
|
+
|
|
395
431
|
@property
|
|
396
432
|
def uap(self) -> "ArkUAPService":
|
|
397
433
|
"""
|
ark_sdk_python/auth/ark_auth.py
CHANGED
|
@@ -186,6 +186,7 @@ class ArkAuth(ABC):
|
|
|
186
186
|
"""
|
|
187
187
|
Loads and returns the authentication token from the cache, if it exists.
|
|
188
188
|
If specified, the method also attempts to refresh the token as needed.
|
|
189
|
+
When the cache holds no token, the already loaded in-memory token, if any, is kept.
|
|
189
190
|
|
|
190
191
|
Args:
|
|
191
192
|
profile (Optional[ArkProfile], optional): _description_. Defaults to None.
|
|
@@ -209,7 +210,11 @@ class ArkAuth(ABC):
|
|
|
209
210
|
f'Loading authentication for profile [{profile.profile_name}] and auth profile [{self.authenticator_name()}] of type [{auth_profile.auth_method.value}]'
|
|
210
211
|
)
|
|
211
212
|
if self._cache_keyring:
|
|
212
|
-
|
|
213
|
+
# Adopt the cached token only when one was actually loaded, so that a cache miss or an unreadable
|
|
214
|
+
# keyring falls back to the in-memory token instead of discarding it
|
|
215
|
+
cached_token = self._cache_keyring.load_token(profile, self._resolve_cache_postfix(auth_profile))
|
|
216
|
+
if cached_token:
|
|
217
|
+
self.__token = cached_token
|
|
213
218
|
if refresh_auth:
|
|
214
219
|
grace_seconds = grace_seconds if grace_seconds is not None else DEFAULT_EXPIRATION_GRACE_DELTA_SECONDS
|
|
215
220
|
if self.__token and self.__token.expires_in.replace(tzinfo=None) - timedelta(seconds=grace_seconds) > datetime.now():
|
|
@@ -81,12 +81,12 @@ class ArkIdentityFQDNResolver:
|
|
|
81
81
|
Returns:
|
|
82
82
|
str: The tenant's FQDN
|
|
83
83
|
"""
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
)
|
|
84
|
+
env = AwsEnv(os.getenv('DEPLOY_ENV', None)) if os.getenv('DEPLOY_ENV', None) else AwsEnv.PROD
|
|
85
|
+
identity_env_url = identity_env_url or IDENTITY_ENV_URLS[env]
|
|
86
|
+
pod_prefix = 'cloud' if env.value.startswith('gov-') else 'pod0'
|
|
87
87
|
session = Session()
|
|
88
88
|
response = session.post(
|
|
89
|
-
f'https://
|
|
89
|
+
f'https://{pod_prefix}.{identity_env_url}/Security/StartAuthentication',
|
|
90
90
|
json={'User': tenant_suffix, 'Version': '1.0', 'PlatformTokenResponse': True, 'MfaRequestor': 'DeviceAgent'},
|
|
91
91
|
headers={'Content-Type': 'application/json', 'X-IDAP-NATIVE-CLIENT': 'true'},
|
|
92
92
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '2.
|
|
1
|
+
__version__ = '2.2.0'
|
|
@@ -62,7 +62,9 @@ class ArkISPServiceClient(ArkClient):
|
|
|
62
62
|
platform_token_domain = ArkJWTUtils.get_unverified_claims(token).get('platform_domain', None)
|
|
63
63
|
if platform_token_domain:
|
|
64
64
|
platform_domain = platform_token_domain
|
|
65
|
-
|
|
65
|
+
tenant_envs = list(filter(lambda e: ROOT_DOMAIN[e] == platform_domain, ROOT_DOMAIN.keys()))
|
|
66
|
+
if tenant_envs:
|
|
67
|
+
tenant_env = tenant_envs[0]
|
|
66
68
|
if not tenant_chosen_subdomain and tenant_subdomain:
|
|
67
69
|
tenant_chosen_subdomain = tenant_subdomain
|
|
68
70
|
if not tenant_chosen_subdomain and base_tenant_url:
|
|
@@ -17,6 +17,7 @@ from ark_sdk_python.models.common.connections.ark_connection_credentials import
|
|
|
17
17
|
from ark_sdk_python.models.common.connections.ark_connection_details import ArkConnectionDetails
|
|
18
18
|
from ark_sdk_python.models.services.sia.sso.ark_sia_sso_get_ssh_key import ArkSIASSOGetSSHKey
|
|
19
19
|
from ark_sdk_python.services.sia.sso import ArkSIASSOService
|
|
20
|
+
from ark_sdk_python.services.sia.sso.consts import OPENSSH, PPK
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
def login_to_identity_security_platform(user: str, secret: str, is_service_user: bool, application_name: str) -> ArkISPAuth:
|
|
@@ -72,7 +73,7 @@ def construct_ssh_proxy_address(isp_auth: ArkISPAuth) -> str:
|
|
|
72
73
|
return f'{ArkJWTUtils.get_subdomain_from_token(token)}.ssh.{ArkJWTUtils.get_platform_domain_from_token(token)}'
|
|
73
74
|
|
|
74
75
|
|
|
75
|
-
def generate_mfa_caching_ssh_key(isp_auth: ArkISPAuth, folder: str) -> str:
|
|
76
|
+
def generate_mfa_caching_ssh_key(isp_auth: ArkISPAuth, folder: str, ssh_key_format: str = OPENSSH) -> str:
|
|
76
77
|
"""
|
|
77
78
|
This function will use the logged in user
|
|
78
79
|
And generate an SSH key into a given folder
|
|
@@ -81,13 +82,14 @@ def generate_mfa_caching_ssh_key(isp_auth: ArkISPAuth, folder: str) -> str:
|
|
|
81
82
|
Args:
|
|
82
83
|
isp_auth (ArkISPAuth): _description_
|
|
83
84
|
temp_folder (str): _description_
|
|
85
|
+
ssh_key_format (str): 'openssh' or 'ppk'
|
|
84
86
|
|
|
85
87
|
Returns:
|
|
86
88
|
str: _description_
|
|
87
89
|
"""
|
|
88
90
|
print('Generating SSH MFA Caching Key')
|
|
89
91
|
sso_service = ArkSIASSOService(isp_auth=isp_auth)
|
|
90
|
-
path = sso_service.short_lived_ssh_key(get_ssh_key=ArkSIASSOGetSSHKey(folder=folder))
|
|
92
|
+
path = sso_service.short_lived_ssh_key(get_ssh_key=ArkSIASSOGetSSHKey(folder=folder, format=ssh_key_format))
|
|
91
93
|
print(f'MFA Caching SSH Key generated to [{path}]')
|
|
92
94
|
return path
|
|
93
95
|
|
|
@@ -145,7 +147,12 @@ if __name__ == '__main__':
|
|
|
145
147
|
)
|
|
146
148
|
parser.add_argument('--test-command', default='ls -l', help='Test command to use once connected to the target, defaults to ls -l')
|
|
147
149
|
|
|
148
|
-
|
|
150
|
+
parser.add_argument(
|
|
151
|
+
'--format',
|
|
152
|
+
choices=[OPENSSH, PPK],
|
|
153
|
+
default=OPENSSH,
|
|
154
|
+
help='Format of the generated SSH key: openssh (default) or ppk',
|
|
155
|
+
)
|
|
149
156
|
args = parser.parse_args()
|
|
150
157
|
|
|
151
158
|
# Construct a temporary folder to be used for the MFA Caching SSH key generation
|
|
@@ -157,6 +164,6 @@ if __name__ == '__main__':
|
|
|
157
164
|
# - Construct the ssh proxy address
|
|
158
165
|
# - Connect in SSH to the proxy / target with the MFA Caching SSH Key and perform the command
|
|
159
166
|
isp_auth = login_to_identity_security_platform(args.user, args.secret, args.is_service_user, args.service_application)
|
|
160
|
-
ssh_key_path = generate_mfa_caching_ssh_key(isp_auth, temp_folder)
|
|
167
|
+
ssh_key_path = generate_mfa_caching_ssh_key(isp_auth, temp_folder, args.format)
|
|
161
168
|
proxy_address = construct_ssh_proxy_address(isp_auth)
|
|
162
169
|
connect_and_validate_connection(ssh_key_path, proxy_address, args.connection_string, args.test_command)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from typing import Any, List
|
|
2
2
|
|
|
3
|
+
from ark_sdk_python.models.actions.services.ark_access_exec_action_consts import ACCESS_ACTIONS
|
|
4
|
+
from ark_sdk_python.models.actions.services.ark_ars_exec_action_consts import ARS_ACTIONS
|
|
3
5
|
from ark_sdk_python.models.actions.services.ark_cmgr_exec_action_consts import CMGR_ACTIONS
|
|
4
6
|
from ark_sdk_python.models.actions.services.ark_identity_exec_action_consts import IDENTITY_ACTIONS
|
|
5
7
|
from ark_sdk_python.models.actions.services.ark_pcloud_exec_action_consts import PCLOUD_ACTIONS
|
|
@@ -14,6 +16,8 @@ SUPPORTED_SERVICE_ACTIONS: List[Any] = [
|
|
|
14
16
|
SM_ACTIONS,
|
|
15
17
|
PCLOUD_ACTIONS,
|
|
16
18
|
CMGR_ACTIONS,
|
|
19
|
+
ACCESS_ACTIONS,
|
|
20
|
+
ARS_ACTIONS,
|
|
17
21
|
]
|
|
18
22
|
|
|
19
23
|
__all__ = [
|
|
@@ -22,5 +26,7 @@ __all__ = [
|
|
|
22
26
|
'SM_ACTIONS',
|
|
23
27
|
'PCLOUD_ACTIONS',
|
|
24
28
|
'CMGR_ACTIONS',
|
|
29
|
+
'ACCESS_ACTIONS',
|
|
30
|
+
'ARS_ACTIONS',
|
|
25
31
|
'SUPPORTED_SERVICE_ACTIONS',
|
|
26
32
|
]
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from typing import Dict, Final, Optional, Type
|
|
2
|
+
|
|
3
|
+
from ark_sdk_python.models import ArkModel
|
|
4
|
+
from ark_sdk_python.models.actions.ark_service_action_definition import ArkServiceActionDefinition
|
|
5
|
+
from ark_sdk_python.models.services.access.assets import ArkAccessAssetsListAssets, ArkAccessAssetsSecretRequest
|
|
6
|
+
|
|
7
|
+
ASSETS_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
8
|
+
'list': ArkAccessAssetsListAssets,
|
|
9
|
+
'secret': ArkAccessAssetsSecretRequest,
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
ASSETS_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
13
|
+
action_name='assets',
|
|
14
|
+
schemas=ASSETS_ACTION_TO_SCHEMA_MAP,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
ACCESS_ACTIONS: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
18
|
+
action_name='access',
|
|
19
|
+
subactions=[ASSETS_ACTION],
|
|
20
|
+
)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from typing import Dict, Final, List, Optional, Type
|
|
2
|
+
|
|
3
|
+
from ark_sdk_python.models import ArkModel
|
|
4
|
+
from ark_sdk_python.models.actions.ark_service_action_definition import ArkServiceActionDefinition
|
|
5
|
+
from ark_sdk_python.models.services.ars.common import ArkARSFilter
|
|
6
|
+
from ark_sdk_python.models.services.ars.requests import (
|
|
7
|
+
ArkARSCancelAccessRequest,
|
|
8
|
+
ArkARSFinalizeAccessRequest,
|
|
9
|
+
ArkARSGetAccessRequest,
|
|
10
|
+
ArkARSListAccessRequestForms,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
# ARS Definitions
|
|
14
|
+
# Requests
|
|
15
|
+
ARS_REQUESTS_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
16
|
+
'cancel-access-request': ArkARSCancelAccessRequest,
|
|
17
|
+
'finalize-access-request': ArkARSFinalizeAccessRequest,
|
|
18
|
+
'list-access-requests': None,
|
|
19
|
+
'list-access-requests-by': ArkARSFilter,
|
|
20
|
+
'access-request': ArkARSGetAccessRequest,
|
|
21
|
+
'access-requests-stats': None,
|
|
22
|
+
'list-access-request-forms': ArkARSListAccessRequestForms,
|
|
23
|
+
}
|
|
24
|
+
ARS_REQUESTS_ASYNC_ACTIONS: Final[List[str]] = [
|
|
25
|
+
'cancel-access-request',
|
|
26
|
+
'finalize-access-request',
|
|
27
|
+
]
|
|
28
|
+
ARS_REQUESTS_ACTIONS: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
29
|
+
action_name='requests',
|
|
30
|
+
schemas=ARS_REQUESTS_ACTION_TO_SCHEMA_MAP,
|
|
31
|
+
async_actions=ARS_REQUESTS_ASYNC_ACTIONS,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# Service Actions Definition
|
|
35
|
+
ARS_ACTIONS: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
36
|
+
action_name='ars',
|
|
37
|
+
subactions=[
|
|
38
|
+
ARS_REQUESTS_ACTIONS,
|
|
39
|
+
],
|
|
40
|
+
)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Dict, Final, Optional, Type
|
|
1
|
+
from typing import Dict, Final, List, Optional, Type
|
|
2
2
|
|
|
3
3
|
from ark_sdk_python.models import ArkModel
|
|
4
4
|
from ark_sdk_python.models.actions.ark_service_action_definition import ArkServiceActionDefinition
|
|
@@ -7,24 +7,60 @@ from ark_sdk_python.models.services.cmgr import (
|
|
|
7
7
|
ArkCmgrAddPool,
|
|
8
8
|
ArkCmgrAddPoolBulkIdentifier,
|
|
9
9
|
ArkCmgrAddPoolSingleIdentifier,
|
|
10
|
+
ArkCmgrComponentsFilter,
|
|
11
|
+
ArkCmgrConnectorComponentsFilter,
|
|
12
|
+
ArkCmgrConnectorsFilter,
|
|
13
|
+
ArkCmgrDeleteConnector,
|
|
10
14
|
ArkCmgrDeleteNetwork,
|
|
11
15
|
ArkCmgrDeletePool,
|
|
12
16
|
ArkCmgrDeletePoolBulkIdentifier,
|
|
13
17
|
ArkCmgrDeletePoolSingleIdentifier,
|
|
18
|
+
ArkCmgrGetConnector,
|
|
19
|
+
ArkCmgrGetConnectorComponent,
|
|
20
|
+
ArkCmgrGetConnectorSetupScript,
|
|
14
21
|
ArkCmgrGetNetwork,
|
|
15
22
|
ArkCmgrGetPool,
|
|
16
23
|
ArkCmgrGetPoolComponent,
|
|
24
|
+
ArkCmgrInstallComponent,
|
|
25
|
+
ArkCmgrInstallConnector,
|
|
26
|
+
ArkCmgrListConnectorComponents,
|
|
17
27
|
ArkCmgrListPoolIdentifiers,
|
|
18
28
|
ArkCmgrNetworksFilter,
|
|
19
29
|
ArkCmgrPoolComponentsFilter,
|
|
20
30
|
ArkCmgrPoolIdentifiersFilter,
|
|
21
31
|
ArkCmgrPoolsFilter,
|
|
32
|
+
ArkCmgrReinstallComponent,
|
|
33
|
+
ArkCmgrRescanComponents,
|
|
34
|
+
ArkCmgrUninstallComponent,
|
|
35
|
+
ArkCmgrUninstallConnector,
|
|
22
36
|
ArkCmgrUpdateNetwork,
|
|
23
37
|
ArkCmgrUpdatePool,
|
|
38
|
+
ArkCmgrUpgradeComponent,
|
|
39
|
+
ArkCmgrUpgradeConnector,
|
|
24
40
|
)
|
|
25
41
|
|
|
26
42
|
# Component Manager Definitions
|
|
27
43
|
CMGR_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
44
|
+
'list-connectors': None,
|
|
45
|
+
'list-connectors-by': ArkCmgrConnectorsFilter,
|
|
46
|
+
'list-connector-components': ArkCmgrListConnectorComponents,
|
|
47
|
+
'list-connector-components-by': ArkCmgrConnectorComponentsFilter,
|
|
48
|
+
'list-components': None,
|
|
49
|
+
'list-components-by': ArkCmgrComponentsFilter,
|
|
50
|
+
'delete-connector': ArkCmgrDeleteConnector,
|
|
51
|
+
'connector': ArkCmgrGetConnector,
|
|
52
|
+
'connector-component': ArkCmgrGetConnectorComponent,
|
|
53
|
+
'connector-setup-script': ArkCmgrGetConnectorSetupScript,
|
|
54
|
+
'install-connector': ArkCmgrInstallConnector,
|
|
55
|
+
'install-component': ArkCmgrInstallComponent,
|
|
56
|
+
'rescan-components': ArkCmgrRescanComponents,
|
|
57
|
+
'uninstall-component': ArkCmgrUninstallComponent,
|
|
58
|
+
'uninstall-connector': ArkCmgrUninstallConnector,
|
|
59
|
+
'upgrade-component': ArkCmgrUpgradeComponent,
|
|
60
|
+
'upgrade-connector': ArkCmgrUpgradeConnector,
|
|
61
|
+
'reinstall-component': ArkCmgrReinstallComponent,
|
|
62
|
+
'components-stats': None,
|
|
63
|
+
'connectors-stats': None,
|
|
28
64
|
'add-network': ArkCmgrAddNetwork,
|
|
29
65
|
'update-network': ArkCmgrUpdateNetwork,
|
|
30
66
|
'delete-network': ArkCmgrDeleteNetwork,
|
|
@@ -49,9 +85,17 @@ CMGR_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
|
49
85
|
'list-pools-components-by': ArkCmgrPoolComponentsFilter,
|
|
50
86
|
'pool-component': ArkCmgrGetPoolComponent,
|
|
51
87
|
}
|
|
88
|
+
CMGR_ASYNC_ACTIONS: Final[List[str]] = [
|
|
89
|
+
'install-component',
|
|
90
|
+
'uninstall-component',
|
|
91
|
+
'upgrade-component',
|
|
92
|
+
'upgrade-connector',
|
|
93
|
+
'reinstall-component',
|
|
94
|
+
]
|
|
52
95
|
|
|
53
96
|
# Service Actions Definition
|
|
54
97
|
CMGR_ACTIONS: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
55
98
|
action_name='cmgr',
|
|
56
99
|
schemas=CMGR_ACTION_TO_SCHEMA_MAP,
|
|
100
|
+
async_actions=CMGR_ASYNC_ACTIONS,
|
|
57
101
|
)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Dict, Final, Optional, Type
|
|
1
|
+
from typing import Dict, Final, List, Optional, Type
|
|
2
2
|
|
|
3
3
|
from ark_sdk_python.models import ArkModel
|
|
4
4
|
from ark_sdk_python.models.actions.ark_service_action_definition import ArkServiceActionDefinition
|
|
@@ -15,10 +15,24 @@ from ark_sdk_python.models.cli_services.sia.policies_editor.common import (
|
|
|
15
15
|
from ark_sdk_python.models.cli_services.sia.policies_editor.db import ArkSIADBGeneratePolicy
|
|
16
16
|
from ark_sdk_python.models.cli_services.sia.policies_editor.vm import ArkSIAVMGeneratePolicy
|
|
17
17
|
from ark_sdk_python.models.services.sia.access import (
|
|
18
|
+
ArkSIAConnectorsFilter,
|
|
19
|
+
ArkSIADeleteConnector,
|
|
20
|
+
ArkSIADeleteHttpsRelay,
|
|
21
|
+
ArkSIAGetConnector,
|
|
18
22
|
ArkSIAGetConnectorSetupScript,
|
|
23
|
+
ArkSIAGetHttpsRelay,
|
|
24
|
+
ArkSIAGetHttpsRelaySetupScript,
|
|
25
|
+
ArkSIAHttpsRelaysFilter,
|
|
19
26
|
ArkSIAInstallConnector,
|
|
27
|
+
ArkSIAInstallRelay,
|
|
28
|
+
ArkSIARotateConnector,
|
|
29
|
+
ArkSIARotateHttpsRelay,
|
|
20
30
|
ArkSIATestConnectorReachability,
|
|
21
31
|
ArkSIAUninstallConnector,
|
|
32
|
+
ArkSIAUninstallRelay,
|
|
33
|
+
ArkSIAUpdateMaintenanceMode,
|
|
34
|
+
ArkSIAUpgradeConnector,
|
|
35
|
+
ArkSIAUpgradeHttpsRelay,
|
|
22
36
|
)
|
|
23
37
|
from ark_sdk_python.models.services.sia.certificates import (
|
|
24
38
|
ArkSIACertificatesFilter,
|
|
@@ -33,19 +47,26 @@ from ark_sdk_python.models.services.sia.db import (
|
|
|
33
47
|
ArkSIADBProxyFullchainGenerateAssets,
|
|
34
48
|
ArkSIADBPsqlExecution,
|
|
35
49
|
)
|
|
50
|
+
from ark_sdk_python.models.services.sia.k8s.ark_sia_k8s_generate_cluster_config import ArkSIAK8SGenerateClusterConfig
|
|
36
51
|
from ark_sdk_python.models.services.sia.k8s.ark_sia_k8s_generate_kubeconfig import ArkSIAK8SGenerateKubeConfig
|
|
52
|
+
from ark_sdk_python.models.services.sia.k8s.ark_sia_k8s_list_clusters import ArkSIAK8SListClusters
|
|
37
53
|
from ark_sdk_python.models.services.sia.policies.common import ArkSIADeletePolicy, ArkSIAGetPolicy, ArkSIAUpdatePolicyStatus
|
|
38
54
|
from ark_sdk_python.models.services.sia.policies.db import ArkSIADBAddPolicy, ArkSIADBPoliciesFilter, ArkSIADBUpdatePolicy
|
|
39
55
|
from ark_sdk_python.models.services.sia.policies.vm import ArkSIAVMAddPolicy, ArkSIAVMPoliciesFilter, ArkSIAVMUpdatePolicy
|
|
40
56
|
from ark_sdk_python.models.services.sia.policies.vm.ark_sia_vm_policies_filter_by_query import ArkSIAVMQueryPolicies
|
|
41
57
|
from ark_sdk_python.models.services.sia.secrets.db import (
|
|
42
58
|
ArkSIADBAddSecret,
|
|
59
|
+
ArkSIADBAddStrongAccount,
|
|
43
60
|
ArkSIADBDeleteSecret,
|
|
61
|
+
ArkSIADBDeleteStrongAccount,
|
|
44
62
|
ArkSIADBDisableSecret,
|
|
45
63
|
ArkSIADBEnableSecret,
|
|
46
64
|
ArkSIADBGetSecret,
|
|
65
|
+
ArkSIADBGetStrongAccount,
|
|
47
66
|
ArkSIADBSecretsFilter,
|
|
67
|
+
ArkSIADBStrongAccountsFilter,
|
|
48
68
|
ArkSIADBUpdateSecret,
|
|
69
|
+
ArkSIADBUpdateStrongAccount,
|
|
49
70
|
)
|
|
50
71
|
from ark_sdk_python.models.services.sia.secrets.vm import (
|
|
51
72
|
ArkSIAVMAddSecret,
|
|
@@ -55,6 +76,7 @@ from ark_sdk_python.models.services.sia.secrets.vm import (
|
|
|
55
76
|
ArkSIAVMSecretsFilter,
|
|
56
77
|
)
|
|
57
78
|
from ark_sdk_python.models.services.sia.settings import ArkSIASettingsGetSetting, ArkSIASettingsListSettings, ArkSIASettingsSetSettings
|
|
79
|
+
from ark_sdk_python.models.services.sia.shortened_connection_string import ArkSIAGenerateShortenedConnectionString
|
|
58
80
|
from ark_sdk_python.models.services.sia.ssh_ca import ArkSIASSHCAGetSSHPublicKey
|
|
59
81
|
from ark_sdk_python.models.services.sia.sso import (
|
|
60
82
|
ArkSIASSOGetShortLivedClientCertificate,
|
|
@@ -66,10 +88,15 @@ from ark_sdk_python.models.services.sia.sso import (
|
|
|
66
88
|
)
|
|
67
89
|
from ark_sdk_python.models.services.sia.workspaces.db import (
|
|
68
90
|
ArkSIADBAddDatabase,
|
|
91
|
+
ArkSIADBAddDatabaseTarget,
|
|
69
92
|
ArkSIADBDatabasesFilter,
|
|
93
|
+
ArkSIADBDatabaseTargetsFilter,
|
|
70
94
|
ArkSIADBDeleteDatabase,
|
|
95
|
+
ArkSIADBDeleteDatabaseTarget,
|
|
71
96
|
ArkSIADBGetDatabase,
|
|
97
|
+
ArkSIADBGetDatabaseTarget,
|
|
72
98
|
ArkSIADBUpdateDatabase,
|
|
99
|
+
ArkSIADBUpdateDatabaseTarget,
|
|
73
100
|
)
|
|
74
101
|
from ark_sdk_python.models.services.sia.workspaces.targetsets import (
|
|
75
102
|
ArkSIAAddTargetSet,
|
|
@@ -106,6 +133,13 @@ WORKSPACES_DB_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] =
|
|
|
106
133
|
'list-databases-by': ArkSIADBDatabasesFilter,
|
|
107
134
|
'database': ArkSIADBGetDatabase,
|
|
108
135
|
'databases-stats': None,
|
|
136
|
+
'add-database-target': ArkSIADBAddDatabaseTarget,
|
|
137
|
+
'delete-database-target': ArkSIADBDeleteDatabaseTarget,
|
|
138
|
+
'update-database-target': ArkSIADBUpdateDatabaseTarget,
|
|
139
|
+
'list-database-targets': None,
|
|
140
|
+
'list-database-targets-by': ArkSIADBDatabaseTargetsFilter,
|
|
141
|
+
'database-target': ArkSIADBGetDatabaseTarget,
|
|
142
|
+
'database-targets-stats': None,
|
|
109
143
|
}
|
|
110
144
|
WORKSPACES_DB_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
111
145
|
action_name='db',
|
|
@@ -133,7 +167,7 @@ POLICIES_VM_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
|
133
167
|
'list-policies-by': ArkSIAVMPoliciesFilter,
|
|
134
168
|
'policies-stats': None,
|
|
135
169
|
}
|
|
136
|
-
POLICIES_VM_EDITOR_ACTION_TO_SCHEMA_MAP: Final[Dict[
|
|
170
|
+
POLICIES_VM_EDITOR_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
137
171
|
'load-policies': ArkSIALoadPolicies,
|
|
138
172
|
'generate-policy': ArkSIAVMGeneratePolicy,
|
|
139
173
|
'edit-policies': ArkSIAEditPolicies,
|
|
@@ -235,6 +269,12 @@ SECRETS_DB_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
|
235
269
|
'list-secrets': None,
|
|
236
270
|
'list-secrets-by': ArkSIADBSecretsFilter,
|
|
237
271
|
'secrets-stats': None,
|
|
272
|
+
'add-strong-account': ArkSIADBAddStrongAccount,
|
|
273
|
+
'update-strong-account': ArkSIADBUpdateStrongAccount,
|
|
274
|
+
'delete-strong-account': ArkSIADBDeleteStrongAccount,
|
|
275
|
+
'get-strong-account': ArkSIADBGetStrongAccount,
|
|
276
|
+
'list-strong-accounts': None,
|
|
277
|
+
'list-strong-accounts-by': ArkSIADBStrongAccountsFilter,
|
|
238
278
|
}
|
|
239
279
|
SECRETS_DB_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
240
280
|
action_name='db',
|
|
@@ -251,14 +291,33 @@ SECRETS_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
|
251
291
|
|
|
252
292
|
# SIA Access Definitions
|
|
253
293
|
ACCESS_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
294
|
+
'list-connectors': None,
|
|
295
|
+
'list-connectors-by': ArkSIAConnectorsFilter,
|
|
296
|
+
'delete-connector': ArkSIADeleteConnector,
|
|
297
|
+
'upgrade-connector': ArkSIAUpgradeConnector,
|
|
298
|
+
'rotate-connector': ArkSIARotateConnector,
|
|
299
|
+
'update-connector-maintenance-mode': ArkSIAUpdateMaintenanceMode,
|
|
300
|
+
'connector': ArkSIAGetConnector,
|
|
254
301
|
'connector-setup-script': ArkSIAGetConnectorSetupScript,
|
|
302
|
+
'connectors-stats': None,
|
|
255
303
|
'install-connector': ArkSIAInstallConnector,
|
|
256
304
|
'uninstall-connector': ArkSIAUninstallConnector,
|
|
257
305
|
'test-connector-reachability': ArkSIATestConnectorReachability,
|
|
306
|
+
'list-relays': None,
|
|
307
|
+
'list-relays-by': ArkSIAHttpsRelaysFilter,
|
|
308
|
+
'relay': ArkSIAGetHttpsRelay,
|
|
309
|
+
'delete-relay': ArkSIADeleteHttpsRelay,
|
|
310
|
+
'relay-setup-script': ArkSIAGetHttpsRelaySetupScript,
|
|
311
|
+
'install-relay': ArkSIAInstallRelay,
|
|
312
|
+
'uninstall-relay': ArkSIAUninstallRelay,
|
|
313
|
+
'upgrade-relay': ArkSIAUpgradeHttpsRelay,
|
|
314
|
+
'rotate-relay': ArkSIARotateHttpsRelay,
|
|
258
315
|
}
|
|
316
|
+
ACCESS_ASYNC_ACTIONS: Final[List[str]] = ['upgrade-connector']
|
|
259
317
|
ACCESS_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
260
318
|
action_name='access',
|
|
261
319
|
schemas=ACCESS_ACTION_TO_SCHEMA_MAP,
|
|
320
|
+
async_actions=ACCESS_ASYNC_ACTIONS,
|
|
262
321
|
)
|
|
263
322
|
|
|
264
323
|
# SIA SSH CA Definitions
|
|
@@ -273,7 +332,6 @@ SSH_CA_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
|
273
332
|
action_name='ssh-ca',
|
|
274
333
|
schemas=SSH_CA_ACTION_TO_SCHEMA_MAP,
|
|
275
334
|
)
|
|
276
|
-
|
|
277
335
|
# SIA SSO Definitions
|
|
278
336
|
SSO_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
279
337
|
'short-lived-password': ArkSIASSOGetShortLivedPassword,
|
|
@@ -301,7 +359,11 @@ DB_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
|
301
359
|
)
|
|
302
360
|
|
|
303
361
|
# SIA K8S Definitions
|
|
304
|
-
K8S_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
362
|
+
K8S_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
363
|
+
'generate-kubeconfig': ArkSIAK8SGenerateKubeConfig,
|
|
364
|
+
'list-clusters': ArkSIAK8SListClusters,
|
|
365
|
+
'generate-cluster-config': ArkSIAK8SGenerateClusterConfig,
|
|
366
|
+
}
|
|
305
367
|
K8S_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
306
368
|
action_name='k8s',
|
|
307
369
|
schemas=K8S_ACTION_TO_SCHEMA_MAP,
|
|
@@ -319,6 +381,19 @@ SETTINGS_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
|
319
381
|
action_name='settings',
|
|
320
382
|
schemas=SETTINGS_ACTION_TO_SCHEMA_MAP,
|
|
321
383
|
)
|
|
384
|
+
|
|
385
|
+
# SIA Shortened-Connection-String Definitions
|
|
386
|
+
SHORTENED_CONNECTION_STRING_ACTION_TO_SCHEMA_MAP: Final[Dict[str, Optional[Type[ArkModel]]]] = {
|
|
387
|
+
'generate': ArkSIAGenerateShortenedConnectionString,
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
SHORTENED_CONNECTION_STRING_ACTION: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
391
|
+
action_name='shortened-connection-string',
|
|
392
|
+
schemas=SHORTENED_CONNECTION_STRING_ACTION_TO_SCHEMA_MAP,
|
|
393
|
+
)
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
# Service Actions Definition
|
|
322
397
|
SIA_ACTIONS: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
323
398
|
action_name='sia',
|
|
324
399
|
subactions=[
|
|
@@ -332,5 +407,6 @@ SIA_ACTIONS: Final[ArkServiceActionDefinition] = ArkServiceActionDefinition(
|
|
|
332
407
|
CERTIFICATES_ACTION,
|
|
333
408
|
K8S_ACTION,
|
|
334
409
|
SETTINGS_ACTION,
|
|
410
|
+
SHORTENED_CONNECTION_STRING_ACTION,
|
|
335
411
|
],
|
|
336
412
|
)
|
|
@@ -93,7 +93,7 @@ platform_region_dict = {
|
|
|
93
93
|
'India': 'ap-south-1',
|
|
94
94
|
'Australia': 'ap-southeast-2',
|
|
95
95
|
'GovCloud (US East)': 'us-gov-east-1',
|
|
96
|
-
'GovCloud (US West)': 'us-gov-
|
|
96
|
+
'GovCloud (US West)': 'us-gov-west-1',
|
|
97
97
|
'US-East-Perf': 'us-east-perf',
|
|
98
98
|
'us-east-perf': 'US-East-Perf',
|
|
99
99
|
'US-East-Pod': 'us-east-pod',
|
|
@@ -104,6 +104,7 @@ platform_region_dict = {
|
|
|
104
104
|
'Melbourne': 'ap-southeast-4',
|
|
105
105
|
'UAE': 'me-central-1',
|
|
106
106
|
'Israel': 'il-central-1',
|
|
107
|
+
'Brazil': 'sa-east-1',
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from ark_sdk_python.models.services.access.assets import (
|
|
2
|
+
ArkAccessAssetsAsset,
|
|
3
|
+
ArkAccessAssetsAssets,
|
|
4
|
+
ArkAccessAssetsListAssets,
|
|
5
|
+
ArkAccessAssetsSecretRequest,
|
|
6
|
+
ArkAccessAssetsSecretResponse,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
'ArkAccessAssetsAsset',
|
|
11
|
+
'ArkAccessAssetsAssets',
|
|
12
|
+
'ArkAccessAssetsListAssets',
|
|
13
|
+
'ArkAccessAssetsSecretRequest',
|
|
14
|
+
'ArkAccessAssetsSecretResponse',
|
|
15
|
+
]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from ark_sdk_python.models.services.access.assets.ark_access_assets_asset import ArkAccessAssetsAsset
|
|
2
|
+
from ark_sdk_python.models.services.access.assets.ark_access_assets_assets import ArkAccessAssetsAssets
|
|
3
|
+
from ark_sdk_python.models.services.access.assets.ark_access_assets_list_assets import ArkAccessAssetsListAssets
|
|
4
|
+
from ark_sdk_python.models.services.access.assets.ark_access_assets_secret import ArkAccessAssetsSecretRequest
|
|
5
|
+
from ark_sdk_python.models.services.access.assets.ark_access_assets_secret import ArkAccessAssetsSecretResponse
|
|
6
|
+
|
|
7
|
+
__all__ = [
|
|
8
|
+
'ArkAccessAssetsAsset',
|
|
9
|
+
'ArkAccessAssetsAssets',
|
|
10
|
+
'ArkAccessAssetsListAssets',
|
|
11
|
+
'ArkAccessAssetsSecretRequest',
|
|
12
|
+
'ArkAccessAssetsSecretResponse',
|
|
13
|
+
]
|