stackit-resourcemanager 0.1.0__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 (31) hide show
  1. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/PKG-INFO +1 -1
  2. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/pyproject.toml +4 -1
  3. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/configuration.py +28 -1
  4. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/README.md +0 -0
  5. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/__init__.py +0 -0
  6. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/api/__init__.py +0 -0
  7. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/api/default_api.py +0 -0
  8. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/api_client.py +0 -0
  9. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/api_response.py +0 -0
  10. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/exceptions.py +0 -0
  11. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/__init__.py +0 -0
  12. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/create_project_payload.py +0 -0
  13. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/error_response.py +0 -0
  14. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/folder_response.py +0 -0
  15. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/get_project_response.py +0 -0
  16. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/lifecycle_state.py +0 -0
  17. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/list_organization_containers_response.py +0 -0
  18. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/list_organization_containers_response_items_inner.py +0 -0
  19. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/list_organization_containers_response_items_inner_any_of.py +0 -0
  20. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/list_organization_containers_response_items_inner_any_of1.py +0 -0
  21. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/list_organizations_response.py +0 -0
  22. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/list_organizations_response_items_inner.py +0 -0
  23. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/list_projects_response.py +0 -0
  24. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/member.py +0 -0
  25. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/organization_response.py +0 -0
  26. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/parent.py +0 -0
  27. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/parent_list_inner.py +0 -0
  28. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/partial_update_project_payload.py +0 -0
  29. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/models/project.py +0 -0
  30. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/py.typed +0 -0
  31. {stackit_resourcemanager-0.1.0 → stackit_resourcemanager-0.2.0}/src/stackit/resourcemanager/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stackit-resourcemanager
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: Resource Manager API
5
5
  Author: STACKIT Developer Tools
6
6
  Author-email: developer-tools@stackit.cloud
@@ -1,6 +1,9 @@
1
+ [project]
2
+ name = "stackit-resourcemanager"
3
+
1
4
  [tool.poetry]
2
5
  name = "stackit-resourcemanager"
3
- version = "v0.1.0"
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://resource-manager.api.stackit.cloud"
27
36
  """Default Base url
28
37
  """
@@ -63,6 +72,7 @@ class HostConfiguration:
63
72
  :param index: array index of the host settings
64
73
  :param variables: hash of variable and the corresponding value
65
74
  :param servers: an array of host settings or None
75
+ :error: if a region is given for a global url
66
76
  :return: URL based on host settings
67
77
  """
68
78
  if index is None:
@@ -81,8 +91,25 @@ class HostConfiguration:
81
91
 
82
92
  url = server["url"]
83
93
 
94
+ # check if environment variable was provided for region
95
+ # if nothing was set this is None
96
+ region_env = os.environ.get("STACKIT_REGION")
97
+
84
98
  # go through variables and replace placeholders
85
99
  for variable_name, variable in server.get("variables", {}).items():
100
+ # If a region is provided by the user for a global url
101
+ # return an error (except for providing via environment variable).
102
+ # The region is provided as a function argument instead of being set in the client configuration.
103
+ if (
104
+ variable_name == "region"
105
+ and (variable["default_value"] == "global" or variable["default_value"] == "")
106
+ and region_env is None
107
+ and variables.get(variable_name) is not None
108
+ ):
109
+ raise ValueError(
110
+ "this API does not support setting a region in the the client configuration, "
111
+ "please check if the region can be specified as a function parameter"
112
+ )
86
113
  used_value = variables.get(variable_name, variable["default_value"])
87
114
 
88
115
  if "enum_values" in variable and used_value not in variable["enum_values"]: