stackit-redis 0.0.1a0__tar.gz → 0.2.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 (40) hide show
  1. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/PKG-INFO +1 -1
  2. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/pyproject.toml +4 -1
  3. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/configuration.py +28 -1
  4. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/README.md +0 -0
  5. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/__init__.py +0 -0
  6. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/api/__init__.py +0 -0
  7. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/api/default_api.py +0 -0
  8. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/api_client.py +0 -0
  9. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/api_response.py +0 -0
  10. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/exceptions.py +0 -0
  11. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/__init__.py +0 -0
  12. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/backup.py +0 -0
  13. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/create_backup_response_item.py +0 -0
  14. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/create_instance_payload.py +0 -0
  15. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/create_instance_response.py +0 -0
  16. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/credentials.py +0 -0
  17. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/credentials_list_item.py +0 -0
  18. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/credentials_response.py +0 -0
  19. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/error.py +0 -0
  20. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/get_metrics_response.py +0 -0
  21. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/instance.py +0 -0
  22. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/instance_last_operation.py +0 -0
  23. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/instance_parameters.py +0 -0
  24. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/instance_schema.py +0 -0
  25. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/list_backups_response.py +0 -0
  26. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/list_credentials_response.py +0 -0
  27. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/list_instances_response.py +0 -0
  28. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/list_offerings_response.py +0 -0
  29. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/list_restores_response.py +0 -0
  30. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/model_schema.py +0 -0
  31. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/offering.py +0 -0
  32. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/partial_update_instance_payload.py +0 -0
  33. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/plan.py +0 -0
  34. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/raw_credentials.py +0 -0
  35. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/restore.py +0 -0
  36. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/trigger_restore_response.py +0 -0
  37. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/update_backups_config_payload.py +0 -0
  38. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/models/update_backups_config_response.py +0 -0
  39. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/py.typed +0 -0
  40. {stackit_redis-0.0.1a0 → stackit_redis-0.2.0}/src/stackit/redis/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stackit-redis
3
- Version: 0.0.1a0
3
+ Version: 0.2.0
4
4
  Summary: STACKIT Redis API
5
5
  Author: STACKIT Developer Tools
6
6
  Author-email: developer-tools@stackit.cloud
@@ -1,6 +1,9 @@
1
+ [project]
2
+ name = "stackit-redis"
3
+
1
4
  [tool.poetry]
2
5
  name = "stackit-redis"
3
- version = "v0.0.1a"
6
+ version = "v0.2.0"
4
7
  authors = [
5
8
  "STACKIT Developer Tools <developer-tools@stackit.cloud>",
6
9
  ]
@@ -11,6 +11,8 @@
11
11
  Do not edit the class manually.
12
12
  """ # noqa: E501 docstring might be too long
13
13
 
14
+ import os
15
+
14
16
 
15
17
  class HostConfiguration:
16
18
  def __init__(
@@ -22,7 +24,14 @@ class HostConfiguration:
22
24
  server_operation_variables=None,
23
25
  ignore_operation_servers=False,
24
26
  ) -> None:
25
- """Constructor"""
27
+ print(
28
+ "WARNING: STACKIT will move to a new way of specifying regions, where the region is provided\n",
29
+ "as a function argument instead of being set in the client configuration.\n"
30
+ "Once all services have migrated, the methods to specify the region in the client configuration "
31
+ "will be removed.",
32
+ )
33
+ """Constructor
34
+ """
26
35
  self._base_path = "https://redis.api.eu01.stackit.cloud"
27
36
  """Default Base url
28
37
  """
@@ -64,6 +73,7 @@ class HostConfiguration:
64
73
  :param index: array index of the host settings
65
74
  :param variables: hash of variable and the corresponding value
66
75
  :param servers: an array of host settings or None
76
+ :error: if a region is given for a global url
67
77
  :return: URL based on host settings
68
78
  """
69
79
  if index is None:
@@ -82,8 +92,25 @@ class HostConfiguration:
82
92
 
83
93
  url = server["url"]
84
94
 
95
+ # check if environment variable was provided for region
96
+ # if nothing was set this is None
97
+ region_env = os.environ.get("STACKIT_REGION")
98
+
85
99
  # go through variables and replace placeholders
86
100
  for variable_name, variable in server.get("variables", {}).items():
101
+ # If a region is provided by the user for a global url
102
+ # return an error (except for providing via environment variable).
103
+ # The region is provided as a function argument instead of being set in the client configuration.
104
+ if (
105
+ variable_name == "region"
106
+ and (variable["default_value"] == "global" or variable["default_value"] == "")
107
+ and region_env is None
108
+ and variables.get(variable_name) is not None
109
+ ):
110
+ raise ValueError(
111
+ "this API does not support setting a region in the the client configuration, "
112
+ "please check if the region can be specified as a function parameter"
113
+ )
87
114
  used_value = variables.get(variable_name, variable["default_value"])
88
115
 
89
116
  if "enum_values" in variable and used_value not in variable["enum_values"]:
File without changes