peak-sdk 1.8.0__tar.gz → 1.9.0__tar.gz

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 (117) hide show
  1. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/PKG-INFO +1 -1
  2. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/_version.py +1 -1
  3. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/tenants.py +53 -3
  4. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/resources/tenants.py +37 -2
  5. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/pyproject.toml +1 -1
  6. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/LICENSE +0 -0
  7. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/__init__.py +0 -0
  8. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/_metadata.py +0 -0
  9. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/auth.py +0 -0
  10. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/base_client.py +0 -0
  11. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/callbacks.py +0 -0
  12. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/__init_.py +0 -0
  13. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/args.py +0 -0
  14. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/cli.py +0 -0
  15. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/helpers.py +0 -0
  16. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/press/__init__.py +0 -0
  17. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/press/apps/__init__.py +0 -0
  18. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/press/apps/deployments.py +0 -0
  19. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/press/apps/specs.py +0 -0
  20. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/press/blocks/__init__.py +0 -0
  21. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/press/blocks/deployments.py +0 -0
  22. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/press/blocks/specs.py +0 -0
  23. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/press/deployments.py +0 -0
  24. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/press/specs.py +0 -0
  25. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/__init__.py +0 -0
  26. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/alerts/__init__.py +0 -0
  27. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/alerts/emails.py +0 -0
  28. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/artifacts.py +0 -0
  29. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/images.py +0 -0
  30. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/services.py +0 -0
  31. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/users.py +0 -0
  32. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/webapps.py +0 -0
  33. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/resources/workflows.py +0 -0
  34. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/ruff.toml +0 -0
  35. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/cli/version.py +0 -0
  36. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/compression.py +0 -0
  37. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/config.py +0 -0
  38. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/constants.py +0 -0
  39. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/exceptions.py +0 -0
  40. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/handler.py +0 -0
  41. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/helpers.py +0 -0
  42. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/logger.py +0 -0
  43. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/output.py +0 -0
  44. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/press/__init__.py +0 -0
  45. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/press/apps.py +0 -0
  46. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/press/blocks.py +0 -0
  47. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/press/deployments.py +0 -0
  48. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/press/specs.py +0 -0
  49. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/py.typed +0 -0
  50. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/resources/__init__.py +0 -0
  51. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/resources/alerts.py +0 -0
  52. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/resources/artifacts.py +0 -0
  53. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/resources/images.py +0 -0
  54. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/resources/services.py +0 -0
  55. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/resources/users.py +0 -0
  56. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/resources/webapps.py +0 -0
  57. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/resources/workflows.py +0 -0
  58. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/apps/deployments/create_app_deployment.yaml +0 -0
  59. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/apps/deployments/create_app_deployment_revision.yaml +0 -0
  60. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/apps/deployments/update_app_deployment_metadata.yaml +0 -0
  61. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/apps/specs/create_app_spec.yaml +0 -0
  62. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/apps/specs/create_app_spec_release.yaml +0 -0
  63. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/apps/specs/update_app_spec_metadata.yaml +0 -0
  64. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/deployments/create_block_deployment.yaml +0 -0
  65. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/deployments/create_block_deployment_revision.yaml +0 -0
  66. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/deployments/patch_block_parameters.yaml +0 -0
  67. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/deployments/update_block_deployment_metadata.yaml +0 -0
  68. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/specs/service/api/create_block_spec.yaml +0 -0
  69. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/specs/service/api/create_block_spec_release.yaml +0 -0
  70. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/specs/service/webapp/create_block_spec.yaml +0 -0
  71. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/specs/service/webapp/create_block_spec_release.yaml +0 -0
  72. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/specs/update_block_spec_metadata.yaml +0 -0
  73. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/specs/workflow/create_block_spec.yaml +0 -0
  74. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/press/blocks/specs/workflow/create_block_spec_release.yaml +0 -0
  75. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/artifacts/create_artifact.yaml +0 -0
  76. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/artifacts/create_artifact_version.yaml +0 -0
  77. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/artifacts/update_artifact_metadata.yaml +0 -0
  78. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/emails/send_email.yaml +0 -0
  79. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/dockerfile/create_image.yaml +0 -0
  80. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/dockerfile/create_image_version.yaml +0 -0
  81. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/dockerfile/update_version.yaml +0 -0
  82. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/github/create_image.yaml +0 -0
  83. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/github/create_image_version.yaml +0 -0
  84. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/github/update_version.yaml +0 -0
  85. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/upload/create_image.yaml +0 -0
  86. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/upload/create_image_version.yaml +0 -0
  87. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/upload/create_or_update_image.yaml +0 -0
  88. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/images/upload/update_version.yaml +0 -0
  89. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/services/create_or_update_service.yaml +0 -0
  90. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/services/create_service.yaml +0 -0
  91. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/services/test_service.yaml +0 -0
  92. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/services/update_service.yaml +0 -0
  93. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/webapps/create_or_update_webapp.yaml +0 -0
  94. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/webapps/create_webapp.yaml +0 -0
  95. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/webapps/update_webapp.yaml +0 -0
  96. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/create_or_update_workflow.yaml +0 -0
  97. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/create_workflow.yaml +0 -0
  98. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/execute_partial_workflow.yaml +0 -0
  99. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/execute_workflow.yaml +0 -0
  100. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/patch_workflow.yaml +0 -0
  101. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/update_workflow.yaml +0 -0
  102. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/workflow_auto_retry.yaml +0 -0
  103. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/workflow_execution_parameters.yaml +0 -0
  104. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/workflow_input_parameters.yaml +0 -0
  105. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/workflow_output_parameters.yaml +0 -0
  106. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/sample_yaml/resources/workflows/workflow_skippable_steps.yaml +0 -0
  107. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/session.py +0 -0
  108. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/telemetry.py +0 -0
  109. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/template.py +0 -0
  110. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/tools/__init__.py +0 -0
  111. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/tools/logging/__init__.py +0 -0
  112. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/tools/logging/log_handler.py +0 -0
  113. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/tools/logging/log_level.py +0 -0
  114. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/tools/logging/logger.py +0 -0
  115. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/tools/logging/utils.py +0 -0
  116. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/peak/validators.py +0 -0
  117. {peak_sdk-1.8.0 → peak_sdk-1.9.0}/pypi-home.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: peak-sdk
3
- Version: 1.8.0
3
+ Version: 1.9.0
4
4
  Summary: Python SDK for interacting with the Peak platform
5
5
  Home-page: https://docs.peak.ai/sdk/latest/
6
6
  License: Apache-2.0
@@ -18,4 +18,4 @@
18
18
  # # You should have received a copy of the APACHE LICENSE, VERSION 2.0
19
19
  # # along with this program. If not, see <https://apache.org/licenses/LICENSE-2.0>
20
20
  #
21
- __version__: str = "1.8.0"
21
+ __version__: str = "1.9.0"
@@ -23,7 +23,7 @@ from typing import Optional
23
23
 
24
24
  import typer
25
25
  from peak.cli.args import OUTPUT_TYPES, PAGING
26
- from peak.constants import OutputTypes
26
+ from peak.constants import OutputTypes, OutputTypesNoTable
27
27
  from peak.output import Writer
28
28
  from peak.resources.tenants import Tenant
29
29
 
@@ -37,6 +37,11 @@ _ENTITY_TYPE = typer.Option(
37
37
  help="Entity type to be used in this operation (e.g. - `workflow`, `webapp`, `api-deployment`).",
38
38
  )
39
39
 
40
+ _DATA_STORE_TYPE = typer.Option(
41
+ None,
42
+ help="Data store type. The only allowed values is data-warehouse.",
43
+ )
44
+
40
45
 
41
46
  @app.command(
42
47
  "list-instance-options",
@@ -58,7 +63,7 @@ def list_instance_options(
58
63
 
59
64
  \b
60
65
  🆗 ***Response:***
61
- ```
66
+ ```json
62
67
  {
63
68
  "data": [
64
69
  {
@@ -66,7 +71,7 @@ def list_instance_options(
66
71
  "gpu": null,
67
72
  "gpuMemory": null,
68
73
  "id": 20,
69
- "instanceClass": "Genaeral Purpose",
74
+ "instanceClass": "General Purpose",
70
75
  "memory": 125,
71
76
  "name": "Pico (0.125CPU, 0.125GB RAM)",
72
77
  "provider": "k8s",
@@ -84,3 +89,48 @@ def list_instance_options(
84
89
  with writer.pager():
85
90
  response = tenants_client.list_instance_options(entity_type=entity_type)
86
91
  writer.write(response)
92
+
93
+
94
+ @app.command(
95
+ short_help="Get credentails for a data store.",
96
+ )
97
+ def get_credentials(
98
+ ctx: typer.Context,
99
+ data_store_type: Optional[str] = _DATA_STORE_TYPE,
100
+ output_type: Optional[OutputTypesNoTable] = OUTPUT_TYPES, # noqa: ARG001
101
+ ) -> None:
102
+ """***Get*** credentials for the given data store type.
103
+
104
+ \b
105
+ 📝 ***Example Usage:***<br/>
106
+ ```bash
107
+ peak tenants get-credentials --data-store-type data-warehouse
108
+ ```
109
+
110
+ \b
111
+ 🆗 ***Response:***
112
+ ```json
113
+ {
114
+ "application": "application",
115
+ "connectionString": "snowflake://host/database?authenticator=OAUTH&token=generated-access-token",
116
+ "integration": "integration_name",
117
+ "port": 443,
118
+ "role": "role_name",
119
+ "schema": "schema",
120
+ "warehouse": "warehouse",
121
+ "accessToken": "generated-access-token",
122
+ "authType": "oauth",
123
+ "database": "database",
124
+ "host": "host",
125
+ "dataWarehouseType": "snowflake"
126
+ }
127
+ ```
128
+
129
+ 🔗 [**API Documentation**](https://service.peak.ai/connections/api-docs/index.htm#/connections/get_api_v1_connections_credentials)
130
+ """
131
+ tenants_client: Tenant = ctx.obj["client"]
132
+ writer = Writer()
133
+
134
+ with writer.pager():
135
+ response = tenants_client.get_credentials(data_store_type=data_store_type)
136
+ writer.write(response)
@@ -31,7 +31,8 @@ from peak.session import Session
31
31
  class Tenant(BaseClient):
32
32
  """Tenant client class."""
33
33
 
34
- BASE_ENDPOINT = "quota/api/v1"
34
+ QUOTA_BASE_ENDPOINT = "quota/api/v1"
35
+ CONNECTIONS_BASE_ENDPOINT = "connections/api/v1"
35
36
 
36
37
  def list_instance_options(
37
38
  self,
@@ -56,7 +57,7 @@ class Tenant(BaseClient):
56
57
  NotFoundException: The given image does not exist.
57
58
  InternalServerErrorException: The server failed to process the request.
58
59
  """
59
- method, endpoint = HttpMethods.GET, f"{self.BASE_ENDPOINT}/settings/tenant-instance-options"
60
+ method, endpoint = HttpMethods.GET, f"{self.QUOTA_BASE_ENDPOINT}/settings/tenant-instance-options"
60
61
  params = {"entityType": entity_type}
61
62
 
62
63
  return self.session.create_request( # type: ignore[no-any-return]
@@ -66,6 +67,40 @@ class Tenant(BaseClient):
66
67
  params=params,
67
68
  )
68
69
 
70
+ def get_credentials(
71
+ self,
72
+ data_store_type: Optional[str] = None,
73
+ ) -> Dict[str, Any]:
74
+ """Retrieve credentials for a given data store type.
75
+
76
+ REFERENCE:
77
+ 🔗 `API Documentation <https://service.peak.ai/connections/api-docs/index.htm#/connections/get_api_v1_connections_credentials>`__
78
+
79
+ Args:
80
+ data_store_type (str): The type of the data store.
81
+ Allowed values are - data-warehouse.
82
+ Default - data-warehouse
83
+
84
+ Returns:
85
+ Dict[str, Any]: a dictionary containing the credentials for the data store.
86
+
87
+ Raises:
88
+ BadRequestException: The given request parameters are invalid.
89
+ UnauthorizedException: The credentials are invalid.
90
+ ForbiddenException: The user does not have permission to perform the operation.
91
+ NotFoundException: The given image does not exist.
92
+ InternalServerErrorException: The server failed to process the request.
93
+ """
94
+ method, endpoint = HttpMethods.GET, f"{self.CONNECTIONS_BASE_ENDPOINT}/connections/credentials"
95
+ params = {"type": data_store_type}
96
+
97
+ return self.session.create_request( # type: ignore[no-any-return]
98
+ endpoint,
99
+ method,
100
+ content_type=ContentType.APPLICATION_JSON,
101
+ params=params,
102
+ )
103
+
69
104
 
70
105
  def get_client(session: Optional[Session] = None) -> Tenant:
71
106
  """Returns a Tenant client, If no session is provided, a default session is used.
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "peak-sdk"
3
- version = "1.8.0"
3
+ version = "1.9.0"
4
4
  packages = [{ include = "peak" }]
5
5
  description = "Python SDK for interacting with the Peak platform"
6
6
  authors = ["Peak <support@peak.ai>"]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes