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.
Files changed (166) hide show
  1. ark_sdk_python/actions/ark_exec_action.py +1 -0
  2. ark_sdk_python/ark_api.py +36 -0
  3. ark_sdk_python/auth/ark_auth.py +6 -1
  4. ark_sdk_python/auth/identity/ark_identity_fqdn_resolver.py +4 -4
  5. ark_sdk_python/common/ark_version.py +1 -1
  6. ark_sdk_python/common/isp/ark_isp_service_client.py +3 -1
  7. ark_sdk_python/examples/validate_ssh_connection.py +11 -4
  8. ark_sdk_python/models/actions/services/__init__.py +6 -0
  9. ark_sdk_python/models/actions/services/ark_access_exec_action_consts.py +20 -0
  10. ark_sdk_python/models/actions/services/ark_ars_exec_action_consts.py +40 -0
  11. ark_sdk_python/models/actions/services/ark_cmgr_exec_action_consts.py +45 -1
  12. ark_sdk_python/models/actions/services/ark_sia_exec_action_consts.py +80 -4
  13. ark_sdk_python/models/common/ark_application_code.py +5 -0
  14. ark_sdk_python/models/common/ark_os_type.py +1 -0
  15. ark_sdk_python/models/common/ark_region.py +2 -1
  16. ark_sdk_python/models/services/access/__init__.py +15 -0
  17. ark_sdk_python/models/services/access/assets/__init__.py +13 -0
  18. ark_sdk_python/models/services/access/assets/ark_access_assets_asset.py +61 -0
  19. ark_sdk_python/models/services/access/assets/ark_access_assets_assets.py +15 -0
  20. ark_sdk_python/models/services/access/assets/ark_access_assets_list_assets.py +32 -0
  21. ark_sdk_python/models/services/access/assets/ark_access_assets_secret.py +15 -0
  22. ark_sdk_python/models/services/ars/__init__.py +0 -0
  23. ark_sdk_python/models/services/ars/common/__init__.py +9 -0
  24. ark_sdk_python/models/services/ars/common/ark_ars_filter.py +14 -0
  25. ark_sdk_python/models/services/ars/common/ark_ars_query.py +22 -0
  26. ark_sdk_python/models/services/ars/requests/__init__.py +31 -0
  27. ark_sdk_python/models/services/ars/requests/ark_ars_access_request.py +82 -0
  28. ark_sdk_python/models/services/ars/requests/ark_ars_access_request_async_task.py +44 -0
  29. ark_sdk_python/models/services/ars/requests/ark_ars_access_request_form.py +67 -0
  30. ark_sdk_python/models/services/ars/requests/ark_ars_access_request_info.py +23 -0
  31. ark_sdk_python/models/services/ars/requests/ark_ars_access_requests_stats.py +17 -0
  32. ark_sdk_python/models/services/ars/requests/ark_ars_cancel_access_request.py +8 -0
  33. ark_sdk_python/models/services/ars/requests/ark_ars_finalize_access_request.py +20 -0
  34. ark_sdk_python/models/services/ars/requests/ark_ars_get_access_request.py +7 -0
  35. ark_sdk_python/models/services/ars/requests/ark_ars_list_access_request_forms.py +12 -0
  36. ark_sdk_python/models/services/ars/requests/ark_ars_request_type.py +6 -0
  37. ark_sdk_python/models/services/ars/requests/ark_ars_submit_access_request.py +18 -0
  38. ark_sdk_python/models/services/ars/requests/ark_target_category.py +32 -0
  39. ark_sdk_python/models/services/cmgr/__init__.py +59 -3
  40. ark_sdk_python/models/services/cmgr/ark_cmgr_component.py +82 -0
  41. ark_sdk_python/models/services/cmgr/ark_cmgr_component_operation_async_task.py +31 -0
  42. ark_sdk_python/models/services/cmgr/ark_cmgr_components_filter.py +16 -0
  43. ark_sdk_python/models/services/cmgr/ark_cmgr_components_stats.py +15 -0
  44. ark_sdk_python/models/services/cmgr/ark_cmgr_connector.py +52 -0
  45. ark_sdk_python/models/services/cmgr/ark_cmgr_connector_components_filter.py +7 -0
  46. ark_sdk_python/models/services/cmgr/ark_cmgr_connector_setup_script.py +8 -0
  47. ark_sdk_python/models/services/cmgr/ark_cmgr_connectors_filter.py +34 -0
  48. ark_sdk_python/models/services/cmgr/ark_cmgr_connectors_stats.py +31 -0
  49. ark_sdk_python/models/services/cmgr/ark_cmgr_delete_connector.py +24 -0
  50. ark_sdk_python/models/services/cmgr/ark_cmgr_get_connector.py +7 -0
  51. ark_sdk_python/models/services/cmgr/ark_cmgr_get_connector_component.py +8 -0
  52. ark_sdk_python/models/services/cmgr/ark_cmgr_get_connector_setup_script.py +23 -0
  53. ark_sdk_python/models/services/cmgr/ark_cmgr_install_component.py +12 -0
  54. ark_sdk_python/models/services/cmgr/ark_cmgr_install_connector.py +28 -0
  55. ark_sdk_python/models/services/cmgr/ark_cmgr_list_connector_components.py +7 -0
  56. ark_sdk_python/models/services/cmgr/ark_cmgr_reinstall_component.py +8 -0
  57. ark_sdk_python/models/services/cmgr/ark_cmgr_rescan_components.py +7 -0
  58. ark_sdk_python/models/services/cmgr/ark_cmgr_uninstall_component.py +16 -0
  59. ark_sdk_python/models/services/cmgr/ark_cmgr_uninstall_connector.py +21 -0
  60. ark_sdk_python/models/services/cmgr/ark_cmgr_upgrade_component.py +9 -0
  61. ark_sdk_python/models/services/cmgr/ark_cmgr_upgrade_connector.py +7 -0
  62. ark_sdk_python/models/services/cmgr/ark_cmgr_workspace_type_serializer.py +18 -0
  63. ark_sdk_python/models/services/sia/access/__init__.py +54 -0
  64. ark_sdk_python/models/services/sia/access/ark_sia_connector.py +119 -0
  65. ark_sdk_python/models/services/sia/access/ark_sia_connectors_filter.py +39 -0
  66. ark_sdk_python/models/services/sia/access/ark_sia_connectors_stats.py +33 -0
  67. ark_sdk_python/models/services/sia/access/ark_sia_delete_connector.py +25 -0
  68. ark_sdk_python/models/services/sia/access/ark_sia_delete_https_relay.py +31 -0
  69. ark_sdk_python/models/services/sia/access/ark_sia_get_connector.py +7 -0
  70. ark_sdk_python/models/services/sia/access/ark_sia_get_connector_setup_script.py +4 -0
  71. ark_sdk_python/models/services/sia/access/ark_sia_get_https_relay.py +7 -0
  72. ark_sdk_python/models/services/sia/access/ark_sia_get_https_relay_setup_script.py +19 -0
  73. ark_sdk_python/models/services/sia/access/ark_sia_https_relay.py +34 -0
  74. ark_sdk_python/models/services/sia/access/ark_sia_https_relay_setup_script.py +8 -0
  75. ark_sdk_python/models/services/sia/access/ark_sia_https_relay_status_codes.py +14 -0
  76. ark_sdk_python/models/services/sia/access/ark_sia_https_relays_filter.py +13 -0
  77. ark_sdk_python/models/services/sia/access/ark_sia_install_connector.py +13 -2
  78. ark_sdk_python/models/services/sia/access/ark_sia_install_relay.py +32 -0
  79. ark_sdk_python/models/services/sia/access/ark_sia_k8s_details.py +36 -0
  80. ark_sdk_python/models/services/sia/access/ark_sia_rotate_connector.py +7 -0
  81. ark_sdk_python/models/services/sia/access/ark_sia_rotate_https_relay.py +7 -0
  82. ark_sdk_python/models/services/sia/access/ark_sia_uninstall_connector.py +15 -3
  83. ark_sdk_python/models/services/sia/access/ark_sia_uninstall_relay.py +23 -0
  84. ark_sdk_python/models/services/sia/access/ark_sia_update_connector_maintenance_mode.py +23 -0
  85. ark_sdk_python/models/services/sia/access/ark_sia_upgrade_connector.py +7 -0
  86. ark_sdk_python/models/services/sia/access/ark_sia_upgrade_connector_async_task.py +32 -0
  87. ark_sdk_python/models/services/sia/access/ark_sia_upgrade_https_relay.py +7 -0
  88. ark_sdk_python/models/services/sia/k8s/__init__.py +11 -1
  89. ark_sdk_python/models/services/sia/k8s/ark_sia_k8s_cluster.py +22 -0
  90. ark_sdk_python/models/services/sia/k8s/ark_sia_k8s_clusters.py +10 -0
  91. ark_sdk_python/models/services/sia/k8s/ark_sia_k8s_generate_cluster_config.py +13 -0
  92. ark_sdk_python/models/services/sia/k8s/ark_sia_k8s_list_clusters.py +9 -0
  93. ark_sdk_python/models/services/sia/secrets/db/__init__.py +22 -6
  94. ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_add_secret.py +54 -3
  95. ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_delete_secret.py +4 -0
  96. ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_get_secret.py +4 -0
  97. ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_list_strong_accounts_response.py +16 -0
  98. ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_secret_metadata.py +27 -2
  99. ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_secrets_filter.py +7 -0
  100. ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_strong_accounts_filter.py +29 -0
  101. ark_sdk_python/models/services/sia/secrets/db/ark_sia_db_update_secret.py +51 -3
  102. ark_sdk_python/models/services/sia/settings/__init__.py +2 -0
  103. ark_sdk_python/models/services/sia/settings/ark_sia_settings_feature_name.py +1 -0
  104. ark_sdk_python/models/services/sia/settings/ark_sia_settings_https_relay.py +11 -0
  105. ark_sdk_python/models/services/sia/settings/ark_sia_settings_list_settings.py +4 -1
  106. ark_sdk_python/models/services/sia/settings/ark_sia_settings_set_settings.py +2 -0
  107. ark_sdk_python/models/services/sia/settings/ark_sia_settings_setting_types.py +2 -0
  108. ark_sdk_python/models/services/sia/settings/ark_sia_settings_settings.py +2 -0
  109. ark_sdk_python/models/services/sia/shortened_connection_string/__init__.py +11 -0
  110. ark_sdk_python/models/services/sia/shortened_connection_string/ark_sia_generate_shortened_connection_string.py +7 -0
  111. ark_sdk_python/models/services/sia/shortened_connection_string/ark_sia_generate_shortened_connection_string_response.py +8 -0
  112. ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_short_lived_rdp_file.py +16 -2
  113. ark_sdk_python/models/services/sia/sso/ark_sia_sso_get_ssh_key.py +1 -0
  114. ark_sdk_python/models/services/sia/workspaces/db/__init__.py +27 -8
  115. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_add_database.py +152 -0
  116. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_database.py +101 -2
  117. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_database_info.py +47 -1
  118. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_databases_filter.py +13 -0
  119. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_databases_stats.py +12 -0
  120. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_delete_database.py +13 -0
  121. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_get_database.py +13 -0
  122. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_provider.py +25 -1
  123. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_target_constraints.py +39 -0
  124. ark_sdk_python/models/services/sia/workspaces/db/ark_sia_db_update_database.py +166 -0
  125. ark_sdk_python/models/services/sm/ark_sm_session.py +1 -0
  126. ark_sdk_python/models/services/uap/common/__init__.py +2 -0
  127. ark_sdk_python/models/services/uap/common/ark_uap_access_approval.py +24 -0
  128. ark_sdk_python/models/services/uap/common/ark_uap_change_info.py +1 -1
  129. ark_sdk_python/models/services/uap/common/ark_uap_conditions.py +15 -1
  130. ark_sdk_python/models/services/uap/common/ark_uap_metadata.py +1 -1
  131. ark_sdk_python/models/services/uap/common/ark_uap_principal.py +2 -2
  132. ark_sdk_python/models/services/uap/sia/common/ark_uap_sia_common_conditions.py +14 -0
  133. ark_sdk_python/models/services/uap/sia/vm/__init__.py +2 -0
  134. ark_sdk_python/models/services/uap/sia/vm/ark_uap_sia_vm_access_policy.py +11 -0
  135. ark_sdk_python/models/services/uap/sia/vm/ark_uap_sia_vm_conditions.py +28 -0
  136. ark_sdk_python/services/access/__init__.py +3 -0
  137. ark_sdk_python/services/access/ark_access_api.py +17 -0
  138. ark_sdk_python/services/access/assets/__init__.py +3 -0
  139. ark_sdk_python/services/access/assets/ark_access_assets_service.py +91 -0
  140. ark_sdk_python/services/ars/__init__.py +0 -0
  141. ark_sdk_python/services/ars/requests/__init__.py +7 -0
  142. ark_sdk_python/services/ars/requests/ark_ars_requests_async_request.py +145 -0
  143. ark_sdk_python/services/ars/requests/ark_ars_requests_service.py +377 -0
  144. ark_sdk_python/services/cmgr/__init__.py +2 -1
  145. ark_sdk_python/services/cmgr/ark_cmgr_component_operation_async_request.py +139 -0
  146. ark_sdk_python/services/cmgr/ark_cmgr_service.py +754 -3
  147. ark_sdk_python/services/sia/access/__init__.py +2 -1
  148. ark_sdk_python/services/sia/access/ark_sia_access_service.py +691 -11
  149. ark_sdk_python/services/sia/access/ark_sia_upgrade_connector_async_request.py +136 -0
  150. ark_sdk_python/services/sia/ark_sia_api.py +12 -0
  151. ark_sdk_python/services/sia/k8s/ark_sia_k8s_service.py +77 -1
  152. ark_sdk_python/services/sia/secrets/db/ark_sia_db_secrets_service.py +354 -1
  153. ark_sdk_python/services/sia/settings/ark_sia_settings_service.py +60 -2
  154. ark_sdk_python/services/sia/shortened_connection_string/__init__.py +7 -0
  155. ark_sdk_python/services/sia/shortened_connection_string/ark_sia_shortened_connection_string_service.py +75 -0
  156. ark_sdk_python/services/sia/sso/ark_sia_sso_service.py +12 -2
  157. ark_sdk_python/services/sia/sso/consts.py +9 -0
  158. ark_sdk_python/services/sia/workspaces/db/ark_sia_db_workspace_service.py +346 -7
  159. ark_sdk_python/services/uap/common/ark_uap_base_service.py +13 -6
  160. ark_sdk_python/services/uap/sca/ark_uap_sca_service.py +4 -4
  161. {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/METADATA +2 -1
  162. {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/RECORD +166 -71
  163. {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/WHEEL +0 -0
  164. {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/entry_points.txt +0 -0
  165. {ark_sdk_python-2.1.7.dist-info → ark_sdk_python-2.2.0.dist-info}/licenses/LICENSE.txt +0 -0
  166. {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
  """
@@ -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
- self.__token = self._cache_keyring.load_token(profile, self._resolve_cache_postfix(auth_profile))
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
- identity_env_url = identity_env_url or (
85
- IDENTITY_ENV_URLS[AwsEnv(os.getenv('DEPLOY_ENV', None))] if os.getenv('DEPLOY_ENV', None) else IDENTITY_ENV_URLS[AwsEnv.PROD]
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://pod0.{identity_env_url}/Security/StartAuthentication',
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.7'
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
- tenant_env = list(filter(lambda e: ROOT_DOMAIN[e] == platform_domain, ROOT_DOMAIN.keys()))
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
- # Parse the CLI parameters
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[(str, Optional[Type[ArkModel]])]] = {
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]]]] = {'generate-kubeconfig': ArkSIAK8SGenerateKubeConfig}
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
  )
@@ -20,4 +20,9 @@ class ArkApplicationCode(str, Enum):
20
20
  CMS = 'CMS'
21
21
  SMS = 'SMS'
22
22
  PYC = 'PYC'
23
+ ARS = 'ARS'
24
+ IDP = 'IDP'
25
+ ITDR = 'ITDR'
26
+ INTS = 'INTS'
27
+ MSP = 'MSP'
23
28
  CCE = 'CCE'
@@ -6,6 +6,7 @@ class ArkOsType(str, Enum):
6
6
  WINDOWS = 'windows'
7
7
  DARWIN = 'darwin'
8
8
  LINUX = 'linux'
9
+ K8S_EPHEMERAL = 'k8s-ephemeral'
9
10
 
10
11
 
11
12
  def running_os() -> ArkOsType:
@@ -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-east-1',
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
+ ]