workato-platform-cli 1.0.0rc5.dev5__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 (306) hide show
  1. workato_platform_cli/__init__.py +135 -0
  2. workato_platform_cli/_version.py +34 -0
  3. workato_platform_cli/cli/__init__.py +126 -0
  4. workato_platform_cli/cli/commands/__init__.py +0 -0
  5. workato_platform_cli/cli/commands/api_clients.py +627 -0
  6. workato_platform_cli/cli/commands/api_collections.py +497 -0
  7. workato_platform_cli/cli/commands/assets.py +82 -0
  8. workato_platform_cli/cli/commands/connections.py +1205 -0
  9. workato_platform_cli/cli/commands/connectors/__init__.py +0 -0
  10. workato_platform_cli/cli/commands/connectors/command.py +178 -0
  11. workato_platform_cli/cli/commands/connectors/connector_manager.py +351 -0
  12. workato_platform_cli/cli/commands/data_tables.py +345 -0
  13. workato_platform_cli/cli/commands/guide.py +315 -0
  14. workato_platform_cli/cli/commands/init.py +229 -0
  15. workato_platform_cli/cli/commands/profiles.py +364 -0
  16. workato_platform_cli/cli/commands/projects/__init__.py +0 -0
  17. workato_platform_cli/cli/commands/projects/command.py +513 -0
  18. workato_platform_cli/cli/commands/projects/project_manager.py +338 -0
  19. workato_platform_cli/cli/commands/properties.py +174 -0
  20. workato_platform_cli/cli/commands/pull.py +327 -0
  21. workato_platform_cli/cli/commands/push/__init__.py +0 -0
  22. workato_platform_cli/cli/commands/push/command.py +320 -0
  23. workato_platform_cli/cli/commands/recipes/__init__.py +0 -0
  24. workato_platform_cli/cli/commands/recipes/command.py +847 -0
  25. workato_platform_cli/cli/commands/recipes/validator.py +1740 -0
  26. workato_platform_cli/cli/commands/workspace.py +73 -0
  27. workato_platform_cli/cli/containers.py +80 -0
  28. workato_platform_cli/cli/resources/data/connection-data.json +7364 -0
  29. workato_platform_cli/cli/resources/data/picklist-data.json +3706 -0
  30. workato_platform_cli/cli/resources/docs/README.md +178 -0
  31. workato_platform_cli/cli/resources/docs/actions.md +452 -0
  32. workato_platform_cli/cli/resources/docs/block-structure.md +424 -0
  33. workato_platform_cli/cli/resources/docs/connections-parameters.md +11946 -0
  34. workato_platform_cli/cli/resources/docs/data-mapping.md +779 -0
  35. workato_platform_cli/cli/resources/docs/formulas/array-list-formulas.md +1276 -0
  36. workato_platform_cli/cli/resources/docs/formulas/conditions.md +102 -0
  37. workato_platform_cli/cli/resources/docs/formulas/date-formulas.md +798 -0
  38. workato_platform_cli/cli/resources/docs/formulas/number-formulas.md +507 -0
  39. workato_platform_cli/cli/resources/docs/formulas/other-formulas.md +419 -0
  40. workato_platform_cli/cli/resources/docs/formulas/string-formulas.md +1353 -0
  41. workato_platform_cli/cli/resources/docs/formulas.md +214 -0
  42. workato_platform_cli/cli/resources/docs/naming-conventions.md +163 -0
  43. workato_platform_cli/cli/resources/docs/recipe-deployment-workflow.md +352 -0
  44. workato_platform_cli/cli/resources/docs/recipe-fundamentals.md +179 -0
  45. workato_platform_cli/cli/resources/docs/triggers.md +360 -0
  46. workato_platform_cli/cli/utils/__init__.py +10 -0
  47. workato_platform_cli/cli/utils/config/__init__.py +33 -0
  48. workato_platform_cli/cli/utils/config/manager.py +1001 -0
  49. workato_platform_cli/cli/utils/config/models.py +89 -0
  50. workato_platform_cli/cli/utils/config/profiles.py +491 -0
  51. workato_platform_cli/cli/utils/config/workspace.py +113 -0
  52. workato_platform_cli/cli/utils/exception_handler.py +531 -0
  53. workato_platform_cli/cli/utils/gitignore.py +32 -0
  54. workato_platform_cli/cli/utils/ignore_patterns.py +44 -0
  55. workato_platform_cli/cli/utils/spinner.py +63 -0
  56. workato_platform_cli/cli/utils/version_checker.py +237 -0
  57. workato_platform_cli/client/__init__.py +0 -0
  58. workato_platform_cli/client/workato_api/__init__.py +202 -0
  59. workato_platform_cli/client/workato_api/api/__init__.py +15 -0
  60. workato_platform_cli/client/workato_api/api/api_platform_api.py +2875 -0
  61. workato_platform_cli/client/workato_api/api/connections_api.py +1807 -0
  62. workato_platform_cli/client/workato_api/api/connectors_api.py +840 -0
  63. workato_platform_cli/client/workato_api/api/data_tables_api.py +604 -0
  64. workato_platform_cli/client/workato_api/api/export_api.py +621 -0
  65. workato_platform_cli/client/workato_api/api/folders_api.py +621 -0
  66. workato_platform_cli/client/workato_api/api/packages_api.py +1197 -0
  67. workato_platform_cli/client/workato_api/api/projects_api.py +590 -0
  68. workato_platform_cli/client/workato_api/api/properties_api.py +620 -0
  69. workato_platform_cli/client/workato_api/api/recipes_api.py +1379 -0
  70. workato_platform_cli/client/workato_api/api/users_api.py +285 -0
  71. workato_platform_cli/client/workato_api/api_client.py +807 -0
  72. workato_platform_cli/client/workato_api/api_response.py +21 -0
  73. workato_platform_cli/client/workato_api/configuration.py +601 -0
  74. workato_platform_cli/client/workato_api/docs/APIPlatformApi.md +844 -0
  75. workato_platform_cli/client/workato_api/docs/ApiClient.md +46 -0
  76. workato_platform_cli/client/workato_api/docs/ApiClientApiCollectionsInner.md +30 -0
  77. workato_platform_cli/client/workato_api/docs/ApiClientApiPoliciesInner.md +30 -0
  78. workato_platform_cli/client/workato_api/docs/ApiClientCreateRequest.md +46 -0
  79. workato_platform_cli/client/workato_api/docs/ApiClientListResponse.md +32 -0
  80. workato_platform_cli/client/workato_api/docs/ApiClientResponse.md +29 -0
  81. workato_platform_cli/client/workato_api/docs/ApiCollection.md +38 -0
  82. workato_platform_cli/client/workato_api/docs/ApiCollectionCreateRequest.md +32 -0
  83. workato_platform_cli/client/workato_api/docs/ApiEndpoint.md +41 -0
  84. workato_platform_cli/client/workato_api/docs/ApiKey.md +36 -0
  85. workato_platform_cli/client/workato_api/docs/ApiKeyCreateRequest.md +32 -0
  86. workato_platform_cli/client/workato_api/docs/ApiKeyListResponse.md +32 -0
  87. workato_platform_cli/client/workato_api/docs/ApiKeyResponse.md +29 -0
  88. workato_platform_cli/client/workato_api/docs/Asset.md +39 -0
  89. workato_platform_cli/client/workato_api/docs/AssetReference.md +37 -0
  90. workato_platform_cli/client/workato_api/docs/Connection.md +44 -0
  91. workato_platform_cli/client/workato_api/docs/ConnectionCreateRequest.md +35 -0
  92. workato_platform_cli/client/workato_api/docs/ConnectionUpdateRequest.md +34 -0
  93. workato_platform_cli/client/workato_api/docs/ConnectionsApi.md +526 -0
  94. workato_platform_cli/client/workato_api/docs/ConnectorAction.md +33 -0
  95. workato_platform_cli/client/workato_api/docs/ConnectorVersion.md +32 -0
  96. workato_platform_cli/client/workato_api/docs/ConnectorsApi.md +249 -0
  97. workato_platform_cli/client/workato_api/docs/CreateExportManifestRequest.md +29 -0
  98. workato_platform_cli/client/workato_api/docs/CreateFolderRequest.md +30 -0
  99. workato_platform_cli/client/workato_api/docs/CustomConnector.md +35 -0
  100. workato_platform_cli/client/workato_api/docs/CustomConnectorCodeResponse.md +29 -0
  101. workato_platform_cli/client/workato_api/docs/CustomConnectorCodeResponseData.md +29 -0
  102. workato_platform_cli/client/workato_api/docs/CustomConnectorListResponse.md +29 -0
  103. workato_platform_cli/client/workato_api/docs/DataTable.md +34 -0
  104. workato_platform_cli/client/workato_api/docs/DataTableColumn.md +37 -0
  105. workato_platform_cli/client/workato_api/docs/DataTableColumnRequest.md +37 -0
  106. workato_platform_cli/client/workato_api/docs/DataTableCreateRequest.md +31 -0
  107. workato_platform_cli/client/workato_api/docs/DataTableCreateResponse.md +29 -0
  108. workato_platform_cli/client/workato_api/docs/DataTableListResponse.md +29 -0
  109. workato_platform_cli/client/workato_api/docs/DataTableRelation.md +30 -0
  110. workato_platform_cli/client/workato_api/docs/DataTablesApi.md +172 -0
  111. workato_platform_cli/client/workato_api/docs/DeleteProject403Response.md +29 -0
  112. workato_platform_cli/client/workato_api/docs/Error.md +29 -0
  113. workato_platform_cli/client/workato_api/docs/ExportApi.md +175 -0
  114. workato_platform_cli/client/workato_api/docs/ExportManifestRequest.md +35 -0
  115. workato_platform_cli/client/workato_api/docs/ExportManifestResponse.md +29 -0
  116. workato_platform_cli/client/workato_api/docs/ExportManifestResponseResult.md +36 -0
  117. workato_platform_cli/client/workato_api/docs/Folder.md +35 -0
  118. workato_platform_cli/client/workato_api/docs/FolderAssetsResponse.md +29 -0
  119. workato_platform_cli/client/workato_api/docs/FolderAssetsResponseResult.md +29 -0
  120. workato_platform_cli/client/workato_api/docs/FolderCreationResponse.md +35 -0
  121. workato_platform_cli/client/workato_api/docs/FoldersApi.md +176 -0
  122. workato_platform_cli/client/workato_api/docs/ImportResults.md +32 -0
  123. workato_platform_cli/client/workato_api/docs/OAuthUrlResponse.md +29 -0
  124. workato_platform_cli/client/workato_api/docs/OAuthUrlResponseData.md +29 -0
  125. workato_platform_cli/client/workato_api/docs/OpenApiSpec.md +30 -0
  126. workato_platform_cli/client/workato_api/docs/PackageDetailsResponse.md +35 -0
  127. workato_platform_cli/client/workato_api/docs/PackageDetailsResponseRecipeStatusInner.md +30 -0
  128. workato_platform_cli/client/workato_api/docs/PackageResponse.md +33 -0
  129. workato_platform_cli/client/workato_api/docs/PackagesApi.md +364 -0
  130. workato_platform_cli/client/workato_api/docs/PicklistRequest.md +30 -0
  131. workato_platform_cli/client/workato_api/docs/PicklistResponse.md +29 -0
  132. workato_platform_cli/client/workato_api/docs/PlatformConnector.md +36 -0
  133. workato_platform_cli/client/workato_api/docs/PlatformConnectorListResponse.md +32 -0
  134. workato_platform_cli/client/workato_api/docs/Project.md +32 -0
  135. workato_platform_cli/client/workato_api/docs/ProjectsApi.md +173 -0
  136. workato_platform_cli/client/workato_api/docs/PropertiesApi.md +186 -0
  137. workato_platform_cli/client/workato_api/docs/Recipe.md +58 -0
  138. workato_platform_cli/client/workato_api/docs/RecipeConfigInner.md +33 -0
  139. workato_platform_cli/client/workato_api/docs/RecipeConnectionUpdateRequest.md +30 -0
  140. workato_platform_cli/client/workato_api/docs/RecipeListResponse.md +29 -0
  141. workato_platform_cli/client/workato_api/docs/RecipeStartResponse.md +31 -0
  142. workato_platform_cli/client/workato_api/docs/RecipesApi.md +367 -0
  143. workato_platform_cli/client/workato_api/docs/RuntimeUserConnectionCreateRequest.md +34 -0
  144. workato_platform_cli/client/workato_api/docs/RuntimeUserConnectionResponse.md +29 -0
  145. workato_platform_cli/client/workato_api/docs/RuntimeUserConnectionResponseData.md +30 -0
  146. workato_platform_cli/client/workato_api/docs/SuccessResponse.md +29 -0
  147. workato_platform_cli/client/workato_api/docs/UpsertProjectPropertiesRequest.md +29 -0
  148. workato_platform_cli/client/workato_api/docs/User.md +48 -0
  149. workato_platform_cli/client/workato_api/docs/UsersApi.md +84 -0
  150. workato_platform_cli/client/workato_api/docs/ValidationError.md +30 -0
  151. workato_platform_cli/client/workato_api/docs/ValidationErrorErrorsValue.md +28 -0
  152. workato_platform_cli/client/workato_api/exceptions.py +216 -0
  153. workato_platform_cli/client/workato_api/models/__init__.py +83 -0
  154. workato_platform_cli/client/workato_api/models/api_client.py +185 -0
  155. workato_platform_cli/client/workato_api/models/api_client_api_collections_inner.py +89 -0
  156. workato_platform_cli/client/workato_api/models/api_client_api_policies_inner.py +89 -0
  157. workato_platform_cli/client/workato_api/models/api_client_create_request.py +138 -0
  158. workato_platform_cli/client/workato_api/models/api_client_list_response.py +101 -0
  159. workato_platform_cli/client/workato_api/models/api_client_response.py +91 -0
  160. workato_platform_cli/client/workato_api/models/api_collection.py +110 -0
  161. workato_platform_cli/client/workato_api/models/api_collection_create_request.py +97 -0
  162. workato_platform_cli/client/workato_api/models/api_endpoint.py +117 -0
  163. workato_platform_cli/client/workato_api/models/api_key.py +102 -0
  164. workato_platform_cli/client/workato_api/models/api_key_create_request.py +93 -0
  165. workato_platform_cli/client/workato_api/models/api_key_list_response.py +101 -0
  166. workato_platform_cli/client/workato_api/models/api_key_response.py +91 -0
  167. workato_platform_cli/client/workato_api/models/asset.py +124 -0
  168. workato_platform_cli/client/workato_api/models/asset_reference.py +110 -0
  169. workato_platform_cli/client/workato_api/models/connection.py +173 -0
  170. workato_platform_cli/client/workato_api/models/connection_create_request.py +99 -0
  171. workato_platform_cli/client/workato_api/models/connection_update_request.py +97 -0
  172. workato_platform_cli/client/workato_api/models/connector_action.py +100 -0
  173. workato_platform_cli/client/workato_api/models/connector_version.py +99 -0
  174. workato_platform_cli/client/workato_api/models/create_export_manifest_request.py +91 -0
  175. workato_platform_cli/client/workato_api/models/create_folder_request.py +89 -0
  176. workato_platform_cli/client/workato_api/models/custom_connector.py +117 -0
  177. workato_platform_cli/client/workato_api/models/custom_connector_code_response.py +91 -0
  178. workato_platform_cli/client/workato_api/models/custom_connector_code_response_data.py +87 -0
  179. workato_platform_cli/client/workato_api/models/custom_connector_list_response.py +95 -0
  180. workato_platform_cli/client/workato_api/models/data_table.py +107 -0
  181. workato_platform_cli/client/workato_api/models/data_table_column.py +125 -0
  182. workato_platform_cli/client/workato_api/models/data_table_column_request.py +130 -0
  183. workato_platform_cli/client/workato_api/models/data_table_create_request.py +99 -0
  184. workato_platform_cli/client/workato_api/models/data_table_create_response.py +91 -0
  185. workato_platform_cli/client/workato_api/models/data_table_list_response.py +95 -0
  186. workato_platform_cli/client/workato_api/models/data_table_relation.py +90 -0
  187. workato_platform_cli/client/workato_api/models/delete_project403_response.py +87 -0
  188. workato_platform_cli/client/workato_api/models/error.py +87 -0
  189. workato_platform_cli/client/workato_api/models/export_manifest_request.py +107 -0
  190. workato_platform_cli/client/workato_api/models/export_manifest_response.py +91 -0
  191. workato_platform_cli/client/workato_api/models/export_manifest_response_result.py +112 -0
  192. workato_platform_cli/client/workato_api/models/folder.py +110 -0
  193. workato_platform_cli/client/workato_api/models/folder_assets_response.py +91 -0
  194. workato_platform_cli/client/workato_api/models/folder_assets_response_result.py +95 -0
  195. workato_platform_cli/client/workato_api/models/folder_creation_response.py +110 -0
  196. workato_platform_cli/client/workato_api/models/import_results.py +93 -0
  197. workato_platform_cli/client/workato_api/models/o_auth_url_response.py +91 -0
  198. workato_platform_cli/client/workato_api/models/o_auth_url_response_data.py +87 -0
  199. workato_platform_cli/client/workato_api/models/open_api_spec.py +96 -0
  200. workato_platform_cli/client/workato_api/models/package_details_response.py +126 -0
  201. workato_platform_cli/client/workato_api/models/package_details_response_recipe_status_inner.py +99 -0
  202. workato_platform_cli/client/workato_api/models/package_response.py +109 -0
  203. workato_platform_cli/client/workato_api/models/picklist_request.py +89 -0
  204. workato_platform_cli/client/workato_api/models/picklist_response.py +88 -0
  205. workato_platform_cli/client/workato_api/models/platform_connector.py +116 -0
  206. workato_platform_cli/client/workato_api/models/platform_connector_list_response.py +101 -0
  207. workato_platform_cli/client/workato_api/models/project.py +93 -0
  208. workato_platform_cli/client/workato_api/models/recipe.py +174 -0
  209. workato_platform_cli/client/workato_api/models/recipe_config_inner.py +100 -0
  210. workato_platform_cli/client/workato_api/models/recipe_connection_update_request.py +89 -0
  211. workato_platform_cli/client/workato_api/models/recipe_list_response.py +95 -0
  212. workato_platform_cli/client/workato_api/models/recipe_start_response.py +91 -0
  213. workato_platform_cli/client/workato_api/models/runtime_user_connection_create_request.py +97 -0
  214. workato_platform_cli/client/workato_api/models/runtime_user_connection_response.py +91 -0
  215. workato_platform_cli/client/workato_api/models/runtime_user_connection_response_data.py +89 -0
  216. workato_platform_cli/client/workato_api/models/success_response.py +87 -0
  217. workato_platform_cli/client/workato_api/models/upsert_project_properties_request.py +88 -0
  218. workato_platform_cli/client/workato_api/models/user.py +151 -0
  219. workato_platform_cli/client/workato_api/models/validation_error.py +102 -0
  220. workato_platform_cli/client/workato_api/models/validation_error_errors_value.py +143 -0
  221. workato_platform_cli/client/workato_api/rest.py +213 -0
  222. workato_platform_cli/client/workato_api/test/__init__.py +0 -0
  223. workato_platform_cli/client/workato_api/test/test_api_client.py +94 -0
  224. workato_platform_cli/client/workato_api/test/test_api_client_api_collections_inner.py +52 -0
  225. workato_platform_cli/client/workato_api/test/test_api_client_api_policies_inner.py +52 -0
  226. workato_platform_cli/client/workato_api/test/test_api_client_create_request.py +75 -0
  227. workato_platform_cli/client/workato_api/test/test_api_client_list_response.py +114 -0
  228. workato_platform_cli/client/workato_api/test/test_api_client_response.py +104 -0
  229. workato_platform_cli/client/workato_api/test/test_api_collection.py +72 -0
  230. workato_platform_cli/client/workato_api/test/test_api_collection_create_request.py +57 -0
  231. workato_platform_cli/client/workato_api/test/test_api_endpoint.py +75 -0
  232. workato_platform_cli/client/workato_api/test/test_api_key.py +64 -0
  233. workato_platform_cli/client/workato_api/test/test_api_key_create_request.py +56 -0
  234. workato_platform_cli/client/workato_api/test/test_api_key_list_response.py +78 -0
  235. workato_platform_cli/client/workato_api/test/test_api_key_response.py +68 -0
  236. workato_platform_cli/client/workato_api/test/test_api_platform_api.py +101 -0
  237. workato_platform_cli/client/workato_api/test/test_asset.py +67 -0
  238. workato_platform_cli/client/workato_api/test/test_asset_reference.py +62 -0
  239. workato_platform_cli/client/workato_api/test/test_connection.py +81 -0
  240. workato_platform_cli/client/workato_api/test/test_connection_create_request.py +59 -0
  241. workato_platform_cli/client/workato_api/test/test_connection_update_request.py +56 -0
  242. workato_platform_cli/client/workato_api/test/test_connections_api.py +73 -0
  243. workato_platform_cli/client/workato_api/test/test_connector_action.py +59 -0
  244. workato_platform_cli/client/workato_api/test/test_connector_version.py +58 -0
  245. workato_platform_cli/client/workato_api/test/test_connectors_api.py +52 -0
  246. workato_platform_cli/client/workato_api/test/test_create_export_manifest_request.py +88 -0
  247. workato_platform_cli/client/workato_api/test/test_create_folder_request.py +53 -0
  248. workato_platform_cli/client/workato_api/test/test_custom_connector.py +76 -0
  249. workato_platform_cli/client/workato_api/test/test_custom_connector_code_response.py +54 -0
  250. workato_platform_cli/client/workato_api/test/test_custom_connector_code_response_data.py +52 -0
  251. workato_platform_cli/client/workato_api/test/test_custom_connector_list_response.py +82 -0
  252. workato_platform_cli/client/workato_api/test/test_data_table.py +88 -0
  253. workato_platform_cli/client/workato_api/test/test_data_table_column.py +72 -0
  254. workato_platform_cli/client/workato_api/test/test_data_table_column_request.py +64 -0
  255. workato_platform_cli/client/workato_api/test/test_data_table_create_request.py +82 -0
  256. workato_platform_cli/client/workato_api/test/test_data_table_create_response.py +90 -0
  257. workato_platform_cli/client/workato_api/test/test_data_table_list_response.py +94 -0
  258. workato_platform_cli/client/workato_api/test/test_data_table_relation.py +54 -0
  259. workato_platform_cli/client/workato_api/test/test_data_tables_api.py +45 -0
  260. workato_platform_cli/client/workato_api/test/test_delete_project403_response.py +51 -0
  261. workato_platform_cli/client/workato_api/test/test_error.py +52 -0
  262. workato_platform_cli/client/workato_api/test/test_export_api.py +45 -0
  263. workato_platform_cli/client/workato_api/test/test_export_manifest_request.py +69 -0
  264. workato_platform_cli/client/workato_api/test/test_export_manifest_response.py +68 -0
  265. workato_platform_cli/client/workato_api/test/test_export_manifest_response_result.py +66 -0
  266. workato_platform_cli/client/workato_api/test/test_folder.py +64 -0
  267. workato_platform_cli/client/workato_api/test/test_folder_assets_response.py +80 -0
  268. workato_platform_cli/client/workato_api/test/test_folder_assets_response_result.py +78 -0
  269. workato_platform_cli/client/workato_api/test/test_folder_creation_response.py +64 -0
  270. workato_platform_cli/client/workato_api/test/test_folders_api.py +45 -0
  271. workato_platform_cli/client/workato_api/test/test_import_results.py +58 -0
  272. workato_platform_cli/client/workato_api/test/test_o_auth_url_response.py +54 -0
  273. workato_platform_cli/client/workato_api/test/test_o_auth_url_response_data.py +52 -0
  274. workato_platform_cli/client/workato_api/test/test_open_api_spec.py +54 -0
  275. workato_platform_cli/client/workato_api/test/test_package_details_response.py +64 -0
  276. workato_platform_cli/client/workato_api/test/test_package_details_response_recipe_status_inner.py +52 -0
  277. workato_platform_cli/client/workato_api/test/test_package_response.py +58 -0
  278. workato_platform_cli/client/workato_api/test/test_packages_api.py +59 -0
  279. workato_platform_cli/client/workato_api/test/test_picklist_request.py +53 -0
  280. workato_platform_cli/client/workato_api/test/test_picklist_response.py +52 -0
  281. workato_platform_cli/client/workato_api/test/test_platform_connector.py +94 -0
  282. workato_platform_cli/client/workato_api/test/test_platform_connector_list_response.py +106 -0
  283. workato_platform_cli/client/workato_api/test/test_project.py +57 -0
  284. workato_platform_cli/client/workato_api/test/test_projects_api.py +45 -0
  285. workato_platform_cli/client/workato_api/test/test_properties_api.py +45 -0
  286. workato_platform_cli/client/workato_api/test/test_recipe.py +124 -0
  287. workato_platform_cli/client/workato_api/test/test_recipe_config_inner.py +55 -0
  288. workato_platform_cli/client/workato_api/test/test_recipe_connection_update_request.py +54 -0
  289. workato_platform_cli/client/workato_api/test/test_recipe_list_response.py +134 -0
  290. workato_platform_cli/client/workato_api/test/test_recipe_start_response.py +54 -0
  291. workato_platform_cli/client/workato_api/test/test_recipes_api.py +59 -0
  292. workato_platform_cli/client/workato_api/test/test_runtime_user_connection_create_request.py +59 -0
  293. workato_platform_cli/client/workato_api/test/test_runtime_user_connection_response.py +56 -0
  294. workato_platform_cli/client/workato_api/test/test_runtime_user_connection_response_data.py +54 -0
  295. workato_platform_cli/client/workato_api/test/test_success_response.py +52 -0
  296. workato_platform_cli/client/workato_api/test/test_upsert_project_properties_request.py +52 -0
  297. workato_platform_cli/client/workato_api/test/test_user.py +85 -0
  298. workato_platform_cli/client/workato_api/test/test_users_api.py +38 -0
  299. workato_platform_cli/client/workato_api/test/test_validation_error.py +52 -0
  300. workato_platform_cli/client/workato_api/test/test_validation_error_errors_value.py +50 -0
  301. workato_platform_cli/client/workato_api_README.md +205 -0
  302. workato_platform_cli-1.0.0rc5.dev5.dist-info/METADATA +185 -0
  303. workato_platform_cli-1.0.0rc5.dev5.dist-info/RECORD +306 -0
  304. workato_platform_cli-1.0.0rc5.dev5.dist-info/WHEEL +4 -0
  305. workato_platform_cli-1.0.0rc5.dev5.dist-info/entry_points.txt +2 -0
  306. workato_platform_cli-1.0.0rc5.dev5.dist-info/licenses/LICENSE +7 -0
@@ -0,0 +1,419 @@
1
+ ---
2
+ title: Other formulas
3
+ date: 2017-03-30 05:00:00 Z
4
+ ---
5
+
6
+ # Other formulas
7
+
8
+ This section covers formulas that work with a number of data types.
9
+
10
+ Formulas in Workato are allowlisted Ruby methods. Syntax and functionality for these formulas are generally unchanged. Most formulas return an error and stop the job if the formula operates on nulls (expressed as `nil` in Ruby), except for `present?`, `presence`, and `blank?`.
11
+
12
+ If a Ruby method is not found in the Workato documentation, it is not included in the allowlist and is therefore unsupported. To request the addition of new formulas to the allowlist, [submit a support ticket](https://support.workato.com/en/support/tickets/new).
13
+
14
+ ## Access nested values using square brackets {: #square-brackets :}
15
+
16
+ Square brackets (`[]`) allow you to access values in a hash in Workato. For nested hashes, you can chain lookups like `data["a"]["b"]["c"]`. However, this method raises a `NoMethodError` if any part of the chain doesn't exist (for example, if `"b"` is missing).
17
+
18
+ Use the [safe navigation operator](/en/formulas/conditions.md#safe-navigation-operator) (`&.`) instead to safely access nested values without errors. For example, `data["a"]&.[]("b")&.[]("c")`. This returns `nil` if any part of the chain is `nil`.
19
+
20
+ ## null
21
+
22
+ Gives a null/nil value.
23
+
24
+ :::note USE FORMULAS TO CLEAR A FIELD
25
+ Passing `null` into an input field does not update the field value to null. Toggle the field to formula mode and use the [clear](#clear) formula to update a field value to null.
26
+ :::
27
+
28
+ ![Null formula in input field](~@img/formula-docs/null-formula.png)
29
+
30
+ ---
31
+
32
+ ## clear
33
+
34
+ Clears the value of the field in the target app to null/nil. Remember to toggle the field to formula mode.
35
+
36
+ ![Clear formula in input field](~@img/formula-docs/clear-formula.png)
37
+ _Use clear formula instead of null when looking to clear field in target app_
38
+
39
+ ---
40
+
41
+ ## skip
42
+
43
+ Passes nothing to the destination app for this field. If the field has an existing value, it will be left untouched.
44
+
45
+ ### Example
46
+
47
+ This example attempts use an updated Salesforce record to update a lead in Marketo. It checks if the Salesforce <kbd>Company</kbd> is present. If yes, it will output the Salesforce <kbd>Company</kbd> into Marketo. Otherwise, the Marketo record is left untouched.
48
+
49
+ ![skip formula in input field](~@img/formula-docs/skip-formula.png)
50
+ _Skip formula example use case_
51
+
52
+ ::: tip Skip this field if update datapill is empty
53
+ Use skip formula to leave existing values untouched in an update action.
54
+ :::
55
+
56
+ ---
57
+
58
+ ## uuid
59
+
60
+ Generates an UUID.
61
+
62
+ ### Example
63
+
64
+ | Example | Result |
65
+ | ------- | -------------------------------------- |
66
+ | uuid | "c52d735a-aee4-4d44-ba1e-bcfa3734f553" |
67
+
68
+ ---
69
+
70
+ ## encrypt
71
+
72
+ Encrypts the input string with a secret key using AES-256-CBC algorithm. Encrypted output string is packed in [RNCryptor V3](https://github.com/RNCryptor/RNCryptor-Spec/blob/master/RNCryptor-Spec-v3.md) format and base64 encoded.
73
+
74
+ :::note STORE ENCRYPTION KEYS USING ENVIRONMENT PROPERTIES
75
+ Do not hard code your encryption key in the recipe. Instead, use environment properties (with `key` or `password` in the name) to store encryption keys.
76
+ :::
77
+
78
+ ### Example
79
+
80
+ `encrypt([ssn], [encryption_key])`
81
+
82
+ ---
83
+
84
+ ## decrypt
85
+
86
+ Decrypts the encrypted input string with a secret key using the AES-256-CBC algorithm. The encrypted input string should be packed in [RNCryptor V3](https://github.com/RNCryptor/RNCryptor-Spec/blob/master/RNCryptor-Spec-v3.md) format and base64 encoded.
87
+
88
+ The [Ruby decrypt method](/developing-connectors/sdk/sdk-reference/ruby_methods.md#decrypt) returns a byte array instead of a string by default. You can convert the decrypt method output to a string by appending the `.as_string()` or `.as_utf8` function to your formula.
89
+
90
+ ::: danger DON'T HARDCODE ENCRYPTION KEYS IN A RECIPE
91
+
92
+ The encryption key should not be hardcoded in the recipe. Use [environment properties](/features/account-properties.html) (with `key` or `password` in the name) to store the encryption keys.
93
+
94
+ :::
95
+
96
+ ### Example
97
+
98
+ `decrypt([encrypted_ssn], [encryption_key])`
99
+
100
+ ---
101
+
102
+ ## encode_sha256
103
+
104
+ Encodes a string or binary array using SHA256 algorithm
105
+
106
+ ### Example
107
+
108
+ `"hello".encode_sha256`
109
+
110
+ ---
111
+
112
+ ## encode_hex
113
+
114
+ Converts binary string to its hex representation
115
+
116
+ ### Example
117
+
118
+ | Example | Result |
119
+ | ------------------------------- | ---------------------------------- |
120
+ | `"0101010101011010".encode_hex` | "30313031303130313031303131303130" |
121
+
122
+ ---
123
+
124
+ ## decode_hex
125
+
126
+ Decode hexadecimal into binary string
127
+
128
+ ### Example
129
+
130
+ | Example | Result |
131
+ | ----------------------------------------------- | ------------------ |
132
+ | `"30313031303130313031303131303130".decode_hex` | "0101010101011010" |
133
+
134
+ ---
135
+
136
+ ## decode_url
137
+
138
+ URL decode a string. This formula uses `CGI.unescape` to URL decoding.
139
+
140
+ ### Example
141
+
142
+ | Example | Result |
143
+ | ------------------------------------------------------------------ | --------------------------------------- |
144
+ | `'https%3A%2F%2Fworkato.com%2Ffoo%3Fbar%3Dat%23anchor'.decode_url` | "https://workato.com/foo?bar=at#anchor" |
145
+ | `'%27Stop%21%27+said+Fred"'.decode_url` | "'Stop!' said Fred" |
146
+
147
+ ---
148
+
149
+ ## encode_base64
150
+
151
+ Encode using Base64 algorithm
152
+
153
+ ### Example
154
+
155
+ | Example | Result |
156
+ | ------------------------------ | ------------------ |
157
+ | `"Hello World!".encode_base64` | "aGVsbG8gd29ybGQh" |
158
+
159
+ ---
160
+
161
+ ## decode_base64
162
+
163
+ Decode using Base64 algorithm
164
+
165
+ ### Example
166
+
167
+ | Example | Result |
168
+ | ------------------------------------------ | -------------- |
169
+ | `"aGVsbG8gd29ybGQh".decode_base64.as_utf8` | "Hello World!" |
170
+
171
+ ---
172
+
173
+ ## encode_url
174
+
175
+ URL encode a string
176
+
177
+ ### Example
178
+
179
+ | Example | Result |
180
+ | -------------------------- | --------------- |
181
+ | `"Hello World".encode_url` | "Hello%20World" |
182
+
183
+ ---
184
+
185
+ ## encode_urlsafe_base64
186
+
187
+ Encode using urlsafe modification of Base64 algorithm
188
+
189
+ ### Example
190
+
191
+ | Example | Result |
192
+ | ------------------------------------- | ------------------ |
193
+ | `"Hello World".encode_urlsafe_base64` | "SGVsbG8gV29ybGQ=" |
194
+
195
+ ---
196
+
197
+ ## decode_urlsafe_base64
198
+
199
+ Decode using urlsafe modification of Base64 algorithm
200
+
201
+ ### Example
202
+
203
+ | Example | Result |
204
+ | ----------------------------------------- | ------------- |
205
+ | `"SGVsbG8gV29ybGQ".decode_urlsafe_base64` | "Hello World" |
206
+
207
+ ---
208
+
209
+ ## as_string
210
+
211
+ Decode byte sequence as string in given encoding
212
+
213
+ ### Example
214
+
215
+ | Example | Result |
216
+ | ----------------------------------------------------- | ------------- |
217
+ | `"SGVsbG8gV29ybGQ=".decode_base64.as_string('utf-8')` | "Hello World" |
218
+
219
+ ---
220
+
221
+ ## as_utf8
222
+
223
+ Decode byte sequence as UTF-8 string
224
+
225
+ ### Example
226
+
227
+ | Example | Result |
228
+ | ------------------------------------------ | ------------- |
229
+ | `"SGVsbG8gV29ybGQ=".decode_base64.as_utf8` | "Hello World" |
230
+
231
+ ---
232
+
233
+ ## to_hex
234
+
235
+ Converts binary string to its hex representation
236
+
237
+ ### Example
238
+
239
+ | Example | Result |
240
+ | ----------------------------------------- | ------------------------ |
241
+ | `"SGVsbG8gV29ybGQ=".decode_base64.to_hex` | "48656c6c6f20576f726c64" |
242
+
243
+ ---
244
+
245
+ ## SHA1
246
+
247
+ Encrypts a given string using the SHA1 encryption algorithm. [Details here](https://ruby-doc.org/stdlib-2.4.0/libdoc/digest/rdoc/Digest/SHA1.html)
248
+
249
+ ### Example
250
+
251
+ | Example | Result |
252
+ | ----------------------------- | ------------------------------ |
253
+ | `"abcdef".sha1.encode_base64` | "H4rBDyPFtbwRZ72oS4M+XAV6d9I=" |
254
+
255
+ ---
256
+
257
+ ## HMAC formulae
258
+
259
+ Creates a HMAC signatures with a variety of signing algorithms
260
+
261
+ ### Example
262
+
263
+ | Signing algorithm | Example |
264
+ | ----------------- | -------------------------------------------- |
265
+ | SHA-256 | "username:password:nonce".hmac_sha256("key") |
266
+ | SHA-1 | "username:password:nonce".hmac_sha1("key") |
267
+ | SHA-512 | "username:password:nonce".hmac_sha512("key") |
268
+ | MD5 | "username:password:nonce".hmac_md5("key") |
269
+
270
+ ---
271
+
272
+ ## md5_hexdigest
273
+
274
+ Accepts a string and creates message digest using the MD5 Message-Digest Algorithm
275
+
276
+ ### Example
277
+
278
+ | Example | Result |
279
+ | ----------------------- | ---------------------------------- |
280
+ | `"hello".md5_hexdigest` | "5d41402abc4b2a76b9719d911017c592" |
281
+
282
+ ---
283
+
284
+ ## jwt_decode
285
+
286
+ Decodes a JSON web token (JWT) using one of the following algorithms - RS256, RS384, RS512, HS256, HS384, HS512, ES256, ES384, or ES512.
287
+
288
+ ### Example
289
+
290
+ | Example | Result |
291
+ | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
292
+ | `workato.jwt_decode( "eyJhbGciO...", "PEM key", 'RS256')` | "{"payload" => {"sub"=>"123", "name"=>"John", ...}, "header" => {"typ"=>"JWT", "alg"=>"RS256"}}" |
293
+ | `workato.jwt_decode( "eyJhbGciO...", "PEM key", 'RS512')` | "{"payload" => {"sub"=>"123", "name"=>"John", ...}, "header" => {"typ"=>"JWT", "alg"=>"RS512"}}" |
294
+ | `workato.jwt_decode( "eyJhbGciO...", "my$ecretK3y", 'HS256')` | "{"payload" => {"sub"=>"123", "name"=>"John", ...}, "header" => {"typ"=>"JWT", "alg"=>"HS256"}}" |
295
+
296
+ ---
297
+
298
+ ## jwt_encode
299
+
300
+ Creates a Jason web token (JWT) using one of the following algorithms - RS256, RS384, RS512, HS256, HS384, HS512, ES256, ES384, or ES512. Adds other named parameters to the header, such as `kid` in the following example:
301
+
302
+ ### Example
303
+
304
+ | Example | Result |
305
+ | -------------------------------------------------------------------------------- | ---------------- |
306
+ | `workato.jwt_encode({ name: "John Doe" }, "PEM key", 'RS256')` | "eyJhbGciO..." |
307
+ | `workato.jwt_encode({ name: "John Doe" }, "PEM key", 'RS512', kid: "24668")` | "eyJ0eXAiO..." |
308
+ | `workato.jwt_encode({ name: "John Doe" }, "my$ecretK3y", 'HS256', kid: "24668")` | "eyJ0eXAiO..." |
309
+ | `workato.jwt_encode({ name: "John Doe" }, "my$ecretK3y", 'HS256')` | "eyJ0eXAiO..." |
310
+ | `workato.jwt_encode({ name: "John Doe" }, "ECDSA Key", 'ES256')` | "eyJhbGciOiJ..." |
311
+
312
+ ---
313
+
314
+ ## parse_yaml
315
+
316
+ Parse a YAML string. Supports true, false, nil, numbers, strings, arrays, hashes
317
+
318
+ ### Example
319
+
320
+ | Example | Result |
321
+ | -------------------------------------------- | -------------------- |
322
+ | `workato.parse_yaml("---\nfoo: bar")` | "{ "foo" => "bar" }" |
323
+ | `workato.parse_yaml("---\n- 1\n- 2\n- 3\n")` | "[1, 2, 3]" |
324
+
325
+ ---
326
+
327
+ ## render_yaml
328
+
329
+ Render an object into a YAML string.
330
+
331
+ ### Example
332
+
333
+ | Example | Result |
334
+ | ----------------------------------------- | ---------------------- |
335
+ | `workato.render_yaml({ "foo" => "bar" })` | "---\nfoo: bar\n" |
336
+ | `workato.render_yaml([1,2,3])` | "---\n- 1\n- 2\n- 3\n" |
337
+
338
+ ---
339
+
340
+ ## lookup
341
+
342
+ This formula allows you to lookup values from your Workato lookup tables using a key. The lookup formula is data type sensitive, but is not case sensitive.
343
+
344
+ If you use a datapill in the lookup formula, we recommended that you convert the data to the correct format. For example, integer-type datapills must be converted to a string with a `.to_s` formula if you plan to compare a column that contains both integers and strings.
345
+
346
+ ### Example
347
+
348
+ For example, let's use the following lookup table with name `Department Codes` with an ID of 6:
349
+
350
+ ![Sample department codes lookup table](~@img/formula-docs/department-codes-lookup-table.png)
351
+ _Sample department codes lookup table_
352
+
353
+ | Example | Result |
354
+ | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
355
+ | `lookup('Department Lookup table', 'Department code': 'ACC')['Department']` | "Accounting" |
356
+ | `lookup('Department Lookup table', 'Department code': 'SLS')['Department']` | "Sales" |
357
+ | `lookup('Department Lookup table', 'Department': 'Marketing')['Department code']` | "MKT" |
358
+ | `lookup('Department Lookup table', 'Department': 'marketing')['Department code']` | nil <br>Matching is case sensitive, unable to find value "Marketing" |
359
+ | `lookup('Department Lookup table', 'Department': 'Marketing')['Department Code']` | nil <br>Matching is case sensitive, unable to find column "Department Code" |
360
+ | `lookup('6', 'Department code': 'ACC')['Department']` | "Accounting" <br>Note: Remember to enclose the lookup table ID in quotes `""`. |
361
+
362
+ ::: tip Using Lookup ID
363
+ You can using the lookup table name and lookup table ID interchangeability. You can find the lookup table ID in the URL.
364
+
365
+ For example:
366
+
367
+ ```
368
+ https://app.workato.com/lookup_tables/<lookup_table_id>
369
+ ```
370
+
371
+ :::
372
+
373
+ ---
374
+
375
+ ## lookup_table
376
+
377
+ This formula allows you to create a static lookup table and define the keys and values. It is case-sensitive and datatype-sensitive.
378
+
379
+ ### Example
380
+
381
+ | Example | Result |
382
+ | ---------------------------------------------------------------------- | -------- |
383
+ | `{"key1" => "value1", "key2" => "value2", "key3" => "value3"}["key2"]` | "value2" |
384
+ | `{"High" => "urgent", "Medium" => "mid", "Low" => "normal"}["Low"]` | "normal" |
385
+ | `{"High" => "urgent", "Medium" => "mid", "Low" => "normal"}["low"]` | nil |
386
+ | `{"High" => "urgent", "Medium" => "mid", "Low" => "normal"}["normal"]` | nil |
387
+ | `{1 => "1", 2 => "2", 3 => "3"}[2]` | "2" |
388
+ | `{1 => "1", 2 => "2", 3 => "3"}[2.0]` | nil |
389
+ | `{1 => "1", 2 => "2", 3 => "3"}["2"]` | nil |
390
+
391
+ ---
392
+
393
+ ## data_table_lookup {:#data-table-lookup:}
394
+
395
+ This formula allows you to look up values from your [data tables](/data-tables.md) using a key. The lookup formula is case-sensitive and datatype-sensitive.
396
+
397
+ If you use a datapill in the lookup formula, we recommended that you convert the data to the correct format. For example, integer-type datapills must be converted to a string with a `.to_s` formula if you plan to compare a string-typed column.
398
+
399
+ You also need to ensure that project name, table name, lookup key, and lookup criteria are written exactly the way they are stored in the data table, including proper capitalization.
400
+
401
+ ### Example
402
+
403
+ For example, let's use the following data table with name `Wedding Guests` inside the `Wedding` project:
404
+
405
+ ![Sample "Wedding Guests" Data table](~@img/formula-docs/wedding-guests-data-table.png)
406
+ _Sample "Wedding Guests" Data table_
407
+
408
+ | Example | Result |
409
+ | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
410
+ | `data_table_lookup('Wedding', 'Wedding Guests', 'Transport': 'Yes')['Seat No.']` | "10" |
411
+ | `data_table_lookup('Wedding', 'Wedding Guests', 'Lunch': 'No')['First Name']` | "A little" |
412
+ | `data_table_lookup('Wedding', 'Wedding Guests', 'First Name': 'Angela')['Table No.']` | 1 |
413
+ | `data_table_lookup('Wedding', 'Wedding Guests', 'First Name': 'angela')['Table No.']` | nil <br>Matching is case sensitive, unable to find value "angela" |
414
+ | `data_table_lookup('Wedding', 'Wedding Guests', 'First Name': 'Angela')['Table no.']` | nil <br>Matching is case sensitive, unable to find column "Table no." |
415
+ | `data_table_lookup('Wedding', 'Wedding Guests', 'first name': 'Angela')['Table No.']` | nil <br>Matching is case sensitive, unable to find column "first name" |
416
+
417
+ :::
418
+
419
+ ---