stackit-resourcemanager 0.7.0__tar.gz → 0.7.1__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.
- stackit_resourcemanager-0.7.1/.gitignore +267 -0
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/PKG-INFO +10 -11
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/pyproject.toml +48 -36
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/__init__.py +1 -1
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/api/default_api.py +1 -1
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/api_client.py +23 -10
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/configuration.py +1 -1
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/exceptions.py +2 -2
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/__init__.py +1 -2
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/container_search_result.py +4 -3
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/create_folder_payload.py +4 -4
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/create_project_payload.py +4 -4
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/error_response.py +1 -1
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/folder_response.py +3 -2
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/get_folder_details_response.py +6 -5
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/get_project_response.py +6 -5
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/lifecycle_state.py +1 -1
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/list_folders_response.py +4 -4
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/list_folders_response_items_inner.py +3 -2
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/list_organizations_response.py +4 -4
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/list_organizations_response_items_inner.py +3 -2
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/list_projects_response.py +4 -4
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/member.py +1 -1
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/organization_response.py +3 -2
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/parent.py +3 -2
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/parent_list_inner.py +4 -3
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/partial_update_folder_payload.py +1 -1
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/partial_update_organization_payload.py +1 -1
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/partial_update_project_payload.py +1 -1
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/models/project.py +3 -2
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/rest.py +20 -4
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/LICENSE.md +0 -0
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/NOTICE.txt +0 -0
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/README.md +0 -0
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/api/__init__.py +0 -0
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/api_response.py +0 -0
- {stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/py.typed +0 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
### VisualStudioCode template
|
|
2
|
+
.vscode/*
|
|
3
|
+
!.vscode/settings.json
|
|
4
|
+
!.vscode/tasks.json
|
|
5
|
+
!.vscode/launch.json
|
|
6
|
+
!.vscode/extensions.json
|
|
7
|
+
!.vscode/*.code-snippets
|
|
8
|
+
|
|
9
|
+
# Local History for Visual Studio Code
|
|
10
|
+
.history/
|
|
11
|
+
|
|
12
|
+
# Built Visual Studio Code Extensions
|
|
13
|
+
*.vsix
|
|
14
|
+
|
|
15
|
+
### JetBrains template
|
|
16
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
|
17
|
+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
|
18
|
+
|
|
19
|
+
# User-specific stuff
|
|
20
|
+
.idea/**/workspace.xml
|
|
21
|
+
.idea/**/tasks.xml
|
|
22
|
+
.idea/**/usage.statistics.xml
|
|
23
|
+
.idea/**/dictionaries
|
|
24
|
+
.idea/**/shelf
|
|
25
|
+
|
|
26
|
+
# AWS User-specific
|
|
27
|
+
.idea/**/aws.xml
|
|
28
|
+
|
|
29
|
+
# Generated files
|
|
30
|
+
.idea/**/contentModel.xml
|
|
31
|
+
|
|
32
|
+
# Sensitive or high-churn files
|
|
33
|
+
.idea/**/dataSources/
|
|
34
|
+
.idea/**/dataSources.ids
|
|
35
|
+
.idea/**/dataSources.local.xml
|
|
36
|
+
.idea/**/sqlDataSources.xml
|
|
37
|
+
.idea/**/dynamic.xml
|
|
38
|
+
.idea/**/uiDesigner.xml
|
|
39
|
+
.idea/**/dbnavigator.xml
|
|
40
|
+
|
|
41
|
+
# Gradle
|
|
42
|
+
.idea/**/gradle.xml
|
|
43
|
+
.idea/**/libraries
|
|
44
|
+
|
|
45
|
+
# Gradle and Maven with auto-import
|
|
46
|
+
# When using Gradle or Maven with auto-import, you should exclude module files,
|
|
47
|
+
# since they will be recreated, and may cause churn. Uncomment if using
|
|
48
|
+
# auto-import.
|
|
49
|
+
# .idea/artifacts
|
|
50
|
+
# .idea/compiler.xml
|
|
51
|
+
# .idea/jarRepositories.xml
|
|
52
|
+
# .idea/modules.xml
|
|
53
|
+
# .idea/*.iml
|
|
54
|
+
# .idea/modules
|
|
55
|
+
# *.iml
|
|
56
|
+
# *.ipr
|
|
57
|
+
|
|
58
|
+
# CMake
|
|
59
|
+
cmake-build-*/
|
|
60
|
+
|
|
61
|
+
# Mongo Explorer plugin
|
|
62
|
+
.idea/**/mongoSettings.xml
|
|
63
|
+
|
|
64
|
+
# File-based project format
|
|
65
|
+
*.iws
|
|
66
|
+
|
|
67
|
+
# IntelliJ
|
|
68
|
+
out/
|
|
69
|
+
|
|
70
|
+
# mpeltonen/sbt-idea plugin
|
|
71
|
+
.idea_modules/
|
|
72
|
+
|
|
73
|
+
# JIRA plugin
|
|
74
|
+
atlassian-ide-plugin.xml
|
|
75
|
+
|
|
76
|
+
# Cursive Clojure plugin
|
|
77
|
+
.idea/replstate.xml
|
|
78
|
+
|
|
79
|
+
# SonarLint plugin
|
|
80
|
+
.idea/sonarlint/
|
|
81
|
+
|
|
82
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
83
|
+
com_crashlytics_export_strings.xml
|
|
84
|
+
crashlytics.properties
|
|
85
|
+
crashlytics-build.properties
|
|
86
|
+
fabric.properties
|
|
87
|
+
|
|
88
|
+
# Editor-based Rest Client
|
|
89
|
+
.idea/httpRequests
|
|
90
|
+
|
|
91
|
+
# Android studio 3.1+ serialized cache file
|
|
92
|
+
.idea/caches/build_file_checksums.ser
|
|
93
|
+
|
|
94
|
+
### VirtualEnv template
|
|
95
|
+
# Virtualenv
|
|
96
|
+
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
|
|
97
|
+
.Python
|
|
98
|
+
[Bb]in
|
|
99
|
+
[Ii]nclude
|
|
100
|
+
[Ll]ib
|
|
101
|
+
[Ll]ib64
|
|
102
|
+
[Ll]ocal
|
|
103
|
+
[Ss]cripts
|
|
104
|
+
pyvenv.cfg
|
|
105
|
+
.venv
|
|
106
|
+
pip-selfcheck.json
|
|
107
|
+
|
|
108
|
+
### Python template
|
|
109
|
+
# Byte-compiled / optimized / DLL files
|
|
110
|
+
__pycache__/
|
|
111
|
+
*.py[cod]
|
|
112
|
+
*$py.class
|
|
113
|
+
|
|
114
|
+
# C extensions
|
|
115
|
+
*.so
|
|
116
|
+
|
|
117
|
+
# Distribution / packaging
|
|
118
|
+
build/
|
|
119
|
+
develop-eggs/
|
|
120
|
+
dist/
|
|
121
|
+
downloads/
|
|
122
|
+
eggs/
|
|
123
|
+
.eggs/
|
|
124
|
+
lib/
|
|
125
|
+
lib64/
|
|
126
|
+
parts/
|
|
127
|
+
sdist/
|
|
128
|
+
var/
|
|
129
|
+
wheels/
|
|
130
|
+
share/python-wheels/
|
|
131
|
+
*.egg-info/
|
|
132
|
+
.installed.cfg
|
|
133
|
+
*.egg
|
|
134
|
+
MANIFEST
|
|
135
|
+
|
|
136
|
+
# PyInstaller
|
|
137
|
+
# Usually these files are written by a python script from a template
|
|
138
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
139
|
+
*.manifest
|
|
140
|
+
*.spec
|
|
141
|
+
|
|
142
|
+
# Installer logs
|
|
143
|
+
pip-log.txt
|
|
144
|
+
pip-delete-this-directory.txt
|
|
145
|
+
|
|
146
|
+
# Unit test / coverage reports
|
|
147
|
+
htmlcov/
|
|
148
|
+
.tox/
|
|
149
|
+
.nox/
|
|
150
|
+
.coverage
|
|
151
|
+
.coverage.*
|
|
152
|
+
.cache
|
|
153
|
+
nosetests.xml
|
|
154
|
+
coverage.xml
|
|
155
|
+
*.cover
|
|
156
|
+
*.py,cover
|
|
157
|
+
.hypothesis/
|
|
158
|
+
.pytest_cache/
|
|
159
|
+
cover/
|
|
160
|
+
|
|
161
|
+
# Translations
|
|
162
|
+
*.mo
|
|
163
|
+
*.pot
|
|
164
|
+
|
|
165
|
+
# Django stuff:
|
|
166
|
+
*.log
|
|
167
|
+
local_settings.py
|
|
168
|
+
db.sqlite3
|
|
169
|
+
db.sqlite3-journal
|
|
170
|
+
|
|
171
|
+
# Flask stuff:
|
|
172
|
+
instance/
|
|
173
|
+
.webassets-cache
|
|
174
|
+
|
|
175
|
+
# Scrapy stuff:
|
|
176
|
+
.scrapy
|
|
177
|
+
|
|
178
|
+
# Sphinx documentation
|
|
179
|
+
docs/_build/
|
|
180
|
+
|
|
181
|
+
# PyBuilder
|
|
182
|
+
.pybuilder/
|
|
183
|
+
target/
|
|
184
|
+
|
|
185
|
+
# Jupyter Notebook
|
|
186
|
+
.ipynb_checkpoints
|
|
187
|
+
|
|
188
|
+
# IPython
|
|
189
|
+
profile_default/
|
|
190
|
+
ipython_config.py
|
|
191
|
+
|
|
192
|
+
# pyenv
|
|
193
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
194
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
195
|
+
# .python-version
|
|
196
|
+
|
|
197
|
+
# pipenv
|
|
198
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
199
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
200
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
201
|
+
# install all needed dependencies.
|
|
202
|
+
#Pipfile.lock
|
|
203
|
+
|
|
204
|
+
# poetry
|
|
205
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
206
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
207
|
+
# commonly ignored for libraries.
|
|
208
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
209
|
+
#poetry.lock
|
|
210
|
+
|
|
211
|
+
# pdm
|
|
212
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
213
|
+
#pdm.lock
|
|
214
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
215
|
+
# in version control.
|
|
216
|
+
# https://pdm.fming.dev/#use-with-ide
|
|
217
|
+
.pdm.toml
|
|
218
|
+
|
|
219
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
220
|
+
__pypackages__/
|
|
221
|
+
|
|
222
|
+
# Celery stuff
|
|
223
|
+
celerybeat-schedule
|
|
224
|
+
celerybeat.pid
|
|
225
|
+
|
|
226
|
+
# SageMath parsed files
|
|
227
|
+
*.sage.py
|
|
228
|
+
|
|
229
|
+
# Environments
|
|
230
|
+
.env
|
|
231
|
+
env/
|
|
232
|
+
venv/
|
|
233
|
+
ENV/
|
|
234
|
+
env.bak/
|
|
235
|
+
venv.bak/
|
|
236
|
+
|
|
237
|
+
# Spyder project settings
|
|
238
|
+
.spyderproject
|
|
239
|
+
.spyproject
|
|
240
|
+
|
|
241
|
+
# Rope project settings
|
|
242
|
+
.ropeproject
|
|
243
|
+
|
|
244
|
+
# mkdocs documentation
|
|
245
|
+
/site
|
|
246
|
+
|
|
247
|
+
# mypy
|
|
248
|
+
.mypy_cache/
|
|
249
|
+
.dmypy.json
|
|
250
|
+
dmypy.json
|
|
251
|
+
|
|
252
|
+
# Pyre type checker
|
|
253
|
+
.pyre/
|
|
254
|
+
|
|
255
|
+
# pytype static type analyzer
|
|
256
|
+
.pytype/
|
|
257
|
+
|
|
258
|
+
# Cython debug symbols
|
|
259
|
+
cython_debug/
|
|
260
|
+
|
|
261
|
+
# PyCharm
|
|
262
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
263
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
264
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
265
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
266
|
+
.idea/
|
|
267
|
+
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stackit-resourcemanager
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.1
|
|
4
4
|
Summary: Resource Manager API
|
|
5
|
+
Project-URL: Homepage, https://github.com/stackitcloud/stackit-sdk-python
|
|
6
|
+
Project-URL: Issues, https://github.com/stackitcloud/stackit-sdk-python/issues
|
|
7
|
+
Author-email: STACKIT Developer Tools <developer-tools@stackit.cloud>
|
|
5
8
|
License-File: LICENSE.md
|
|
6
9
|
License-File: NOTICE.txt
|
|
7
|
-
Author: STACKIT Developer Tools
|
|
8
|
-
Author-email: developer-tools@stackit.cloud
|
|
9
|
-
Requires-Python: >=3.9,<4.0
|
|
10
10
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
11
|
Classifier: Operating System :: OS Independent
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -16,12 +16,11 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.14
|
|
19
|
-
Requires-
|
|
20
|
-
Requires-Dist:
|
|
21
|
-
Requires-Dist:
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
|
|
24
|
-
Project-URL: Issues, https://github.com/stackitcloud/stackit-sdk-python/issues
|
|
19
|
+
Requires-Python: <4.0,>=3.9
|
|
20
|
+
Requires-Dist: pydantic>=2.9.2
|
|
21
|
+
Requires-Dist: python-dateutil>=2.9.0.post0
|
|
22
|
+
Requires-Dist: requests>=2.32.3
|
|
23
|
+
Requires-Dist: stackit-core>=0.0.1a
|
|
25
24
|
Description-Content-Type: text/markdown
|
|
26
25
|
|
|
27
26
|
# stackit.resourcemanager
|
|
@@ -66,4 +65,4 @@ import stackit.resourcemanager
|
|
|
66
65
|
|
|
67
66
|
## Getting Started
|
|
68
67
|
|
|
69
|
-
[Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.
|
|
68
|
+
[Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.
|
|
@@ -1,55 +1,67 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "stackit-resourcemanager"
|
|
3
|
-
|
|
4
|
-
[tool.poetry]
|
|
5
|
-
name = "stackit-resourcemanager"
|
|
6
|
-
version = "v0.7.0"
|
|
7
|
-
authors = [
|
|
8
|
-
"STACKIT Developer Tools <developer-tools@stackit.cloud>",
|
|
9
|
-
]
|
|
3
|
+
version = "v0.7.1"
|
|
10
4
|
description = "Resource Manager API"
|
|
5
|
+
authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
|
|
6
|
+
requires-python = ">=3.9,<4.0"
|
|
11
7
|
readme = "README.md"
|
|
12
|
-
#license = "NoLicense"
|
|
13
8
|
classifiers = [
|
|
14
9
|
"Programming Language :: Python :: 3",
|
|
15
10
|
"License :: OSI Approved :: Apache Software License",
|
|
16
11
|
"Operating System :: OS Independent",
|
|
12
|
+
"Programming Language :: Python :: 3.9",
|
|
13
|
+
"Programming Language :: Python :: 3.10",
|
|
14
|
+
"Programming Language :: Python :: 3.11",
|
|
15
|
+
"Programming Language :: Python :: 3.12",
|
|
16
|
+
"Programming Language :: Python :: 3.13",
|
|
17
|
+
"Programming Language :: Python :: 3.14",
|
|
17
18
|
]
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
dependencies = [
|
|
20
|
+
"stackit-core>=0.0.1a",
|
|
21
|
+
"requests>=2.32.3",
|
|
22
|
+
"pydantic>=2.9.2",
|
|
23
|
+
"python-dateutil>=2.9.0.post0",
|
|
20
24
|
]
|
|
21
25
|
|
|
22
|
-
[tool.poetry.dependencies]
|
|
23
|
-
python = ">=3.9,<4.0"
|
|
24
|
-
stackit-core = ">=0.0.1a"
|
|
25
|
-
requests = ">=2.32.3"
|
|
26
|
-
pydantic = ">=2.9.2"
|
|
27
|
-
python-dateutil = ">=2.9.0.post0"
|
|
28
|
-
|
|
29
|
-
[tool.poetry.group.dev.dependencies]
|
|
30
|
-
black = ">=24.8.0"
|
|
31
|
-
pytest = ">=8.3.3"
|
|
32
|
-
flake8 = [
|
|
33
|
-
{ version= ">=5.0.3", python="<3.12"},
|
|
34
|
-
{ version= ">=6.0.1", python=">=3.12"}
|
|
35
|
-
]
|
|
36
|
-
flake8-black = ">=0.3.6"
|
|
37
|
-
flake8-pyproject = ">=1.2.3"
|
|
38
|
-
autoimport = ">=1.6.1"
|
|
39
|
-
flake8-eol = ">=0.0.8"
|
|
40
|
-
flake8-eradicate = ">=1.5.0"
|
|
41
|
-
flake8-bandit = ">=4.1.1"
|
|
42
|
-
flake8-bugbear = ">=23.1.14"
|
|
43
|
-
flake8-quotes = ">=3.4.0"
|
|
44
|
-
isort = ">=5.13.2"
|
|
45
|
-
|
|
46
26
|
[project.urls]
|
|
47
27
|
Homepage = "https://github.com/stackitcloud/stackit-sdk-python"
|
|
48
28
|
Issues = "https://github.com/stackitcloud/stackit-sdk-python/issues"
|
|
49
29
|
|
|
30
|
+
[dependency-groups]
|
|
31
|
+
dev = [
|
|
32
|
+
"black>=24.8.0",
|
|
33
|
+
"pytest>=8.3.3",
|
|
34
|
+
"flake8>=5.0.3 ; python_full_version < '3.12'",
|
|
35
|
+
"flake8>=6.0.1 ; python_full_version >= '3.12'",
|
|
36
|
+
"flake8-black>=0.3.6",
|
|
37
|
+
"flake8-pyproject>=1.2.3",
|
|
38
|
+
"autoimport>=1.6.1",
|
|
39
|
+
"flake8-eol>=0.0.8",
|
|
40
|
+
"flake8-eradicate>=1.5.0",
|
|
41
|
+
"flake8-bandit>=4.1.1",
|
|
42
|
+
"flake8-bugbear>=23.1.14",
|
|
43
|
+
"flake8-quotes>=3.4.0",
|
|
44
|
+
"isort>=5.13.2",
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
[tool.uv]
|
|
48
|
+
default-groups = "all"
|
|
49
|
+
|
|
50
|
+
[tool.uv.sources]
|
|
51
|
+
stackit-core = { path = "../../core" }
|
|
52
|
+
|
|
53
|
+
[tool.hatch.build.targets.sdist]
|
|
54
|
+
include = ["src/stackit"]
|
|
55
|
+
|
|
56
|
+
[tool.hatch.build.targets.wheel]
|
|
57
|
+
include = ["src/stackit"]
|
|
58
|
+
|
|
59
|
+
[tool.hatch.build.targets.wheel.sources]
|
|
60
|
+
"src/stackit" = "stackit"
|
|
61
|
+
|
|
50
62
|
[build-system]
|
|
51
|
-
requires = ["
|
|
52
|
-
build-backend = "
|
|
63
|
+
requires = ["hatchling"]
|
|
64
|
+
build-backend = "hatchling.build"
|
|
53
65
|
|
|
54
66
|
[tool.pytest.ini_options]
|
|
55
67
|
pythonpath = [
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# flake8: noqa
|
|
4
4
|
|
|
5
5
|
"""
|
|
6
|
-
Resource Manager API
|
|
6
|
+
STACKIT Resource Manager API
|
|
7
7
|
|
|
8
8
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
9
9
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -12,11 +12,13 @@
|
|
|
12
12
|
""" # noqa: E501
|
|
13
13
|
|
|
14
14
|
import datetime
|
|
15
|
+
import decimal
|
|
15
16
|
import json
|
|
16
17
|
import mimetypes
|
|
17
18
|
import os
|
|
18
19
|
import re
|
|
19
20
|
import tempfile
|
|
21
|
+
import uuid
|
|
20
22
|
from enum import Enum
|
|
21
23
|
from typing import Dict, List, Optional, Tuple, Union
|
|
22
24
|
from urllib.parse import quote
|
|
@@ -63,8 +65,10 @@ class ApiClient:
|
|
|
63
65
|
"bool": bool,
|
|
64
66
|
"date": datetime.date,
|
|
65
67
|
"datetime": datetime.datetime,
|
|
68
|
+
"decimal": decimal.Decimal,
|
|
66
69
|
"object": object,
|
|
67
70
|
}
|
|
71
|
+
_pool = None
|
|
68
72
|
|
|
69
73
|
def __init__(self, configuration, header_name=None, header_value=None, cookie=None) -> None:
|
|
70
74
|
self.config: Configuration = configuration
|
|
@@ -267,7 +271,7 @@ class ApiClient:
|
|
|
267
271
|
return_data = self.__deserialize_file(response_data)
|
|
268
272
|
elif response_type is not None:
|
|
269
273
|
match = None
|
|
270
|
-
content_type = response_data.
|
|
274
|
+
content_type = response_data.headers.get("content-type")
|
|
271
275
|
if content_type is not None:
|
|
272
276
|
match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type)
|
|
273
277
|
encoding = match.group(1) if match else "utf-8"
|
|
@@ -284,7 +288,7 @@ class ApiClient:
|
|
|
284
288
|
return ApiResponse(
|
|
285
289
|
status_code=response_data.status,
|
|
286
290
|
data=return_data,
|
|
287
|
-
headers=response_data.
|
|
291
|
+
headers=response_data.headers,
|
|
288
292
|
raw_data=response_data.data,
|
|
289
293
|
)
|
|
290
294
|
|
|
@@ -296,6 +300,7 @@ class ApiClient:
|
|
|
296
300
|
If obj is str, int, long, float, bool, return directly.
|
|
297
301
|
If obj is datetime.datetime, datetime.date
|
|
298
302
|
convert to string in iso8601 format.
|
|
303
|
+
If obj is decimal.Decimal return string representation.
|
|
299
304
|
If obj is list, sanitize each element in the list.
|
|
300
305
|
If obj is dict, return the dict.
|
|
301
306
|
If obj is OpenAPI model, return the properties dict.
|
|
@@ -311,12 +316,16 @@ class ApiClient:
|
|
|
311
316
|
return obj.get_secret_value()
|
|
312
317
|
elif isinstance(obj, self.PRIMITIVE_TYPES):
|
|
313
318
|
return obj
|
|
319
|
+
elif isinstance(obj, uuid.UUID):
|
|
320
|
+
return str(obj)
|
|
314
321
|
elif isinstance(obj, list):
|
|
315
322
|
return [self.sanitize_for_serialization(sub_obj) for sub_obj in obj]
|
|
316
323
|
elif isinstance(obj, tuple):
|
|
317
324
|
return tuple(self.sanitize_for_serialization(sub_obj) for sub_obj in obj)
|
|
318
325
|
elif isinstance(obj, (datetime.datetime, datetime.date)):
|
|
319
326
|
return obj.isoformat()
|
|
327
|
+
elif isinstance(obj, decimal.Decimal):
|
|
328
|
+
return str(obj)
|
|
320
329
|
|
|
321
330
|
elif isinstance(obj, dict):
|
|
322
331
|
obj_dict = obj
|
|
@@ -326,7 +335,7 @@ class ApiClient:
|
|
|
326
335
|
# and attributes which value is not None.
|
|
327
336
|
# Convert attribute name to json key in
|
|
328
337
|
# model definition for request.
|
|
329
|
-
if hasattr(obj, "to_dict") and callable(obj
|
|
338
|
+
if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): # noqa: B009
|
|
330
339
|
obj_dict = obj.to_dict()
|
|
331
340
|
else:
|
|
332
341
|
obj_dict = obj.__dict__
|
|
@@ -354,7 +363,7 @@ class ApiClient:
|
|
|
354
363
|
data = json.loads(response_text)
|
|
355
364
|
except ValueError:
|
|
356
365
|
data = response_text
|
|
357
|
-
elif re.match(r"^application/(json|[\w
|
|
366
|
+
elif re.match(r"^application/(json|[\w!#$&.+\-^_]+\+json)\s*(;|$)", content_type, re.IGNORECASE):
|
|
358
367
|
if response_text == "":
|
|
359
368
|
data = ""
|
|
360
369
|
else:
|
|
@@ -400,12 +409,14 @@ class ApiClient:
|
|
|
400
409
|
|
|
401
410
|
if klass in self.PRIMITIVE_TYPES:
|
|
402
411
|
return self.__deserialize_primitive(data, klass)
|
|
403
|
-
elif klass
|
|
412
|
+
elif klass is object:
|
|
404
413
|
return self.__deserialize_object(data)
|
|
405
|
-
elif klass
|
|
414
|
+
elif klass is datetime.date:
|
|
406
415
|
return self.__deserialize_date(data)
|
|
407
|
-
elif klass
|
|
416
|
+
elif klass is datetime.datetime:
|
|
408
417
|
return self.__deserialize_datetime(data)
|
|
418
|
+
elif klass is decimal.Decimal:
|
|
419
|
+
return decimal.Decimal(data)
|
|
409
420
|
elif issubclass(klass, Enum):
|
|
410
421
|
return self.__deserialize_enum(data, klass)
|
|
411
422
|
else:
|
|
@@ -553,12 +564,14 @@ class ApiClient:
|
|
|
553
564
|
os.close(fd)
|
|
554
565
|
os.remove(path)
|
|
555
566
|
|
|
556
|
-
content_disposition = response.
|
|
567
|
+
content_disposition = response.headers.get("Content-Disposition")
|
|
557
568
|
if content_disposition:
|
|
558
569
|
m = re.search(r'filename=[\'"]?([^\'"\s]+)[\'"]?', content_disposition)
|
|
559
570
|
if m is None:
|
|
560
571
|
raise ValueError("Unexpected 'content-disposition' header value")
|
|
561
|
-
filename = m.group(1)
|
|
572
|
+
filename = os.path.basename(m.group(1)) # Strip any directory traversal
|
|
573
|
+
if filename in ("", ".", ".."): # fall back to tmp filename
|
|
574
|
+
filename = os.path.basename(path)
|
|
562
575
|
path = os.path.join(os.path.dirname(path), filename)
|
|
563
576
|
|
|
564
577
|
with open(path, "wb") as f:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -129,7 +129,7 @@ class ApiException(OpenApiException):
|
|
|
129
129
|
self.body = http_resp.data.decode("utf-8")
|
|
130
130
|
except Exception: # noqa: S110
|
|
131
131
|
pass
|
|
132
|
-
self.headers = http_resp.
|
|
132
|
+
self.headers = http_resp.headers
|
|
133
133
|
|
|
134
134
|
@classmethod
|
|
135
135
|
def from_response(
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# flake8: noqa
|
|
4
4
|
"""
|
|
5
|
-
Resource Manager API
|
|
5
|
+
STACKIT Resource Manager API
|
|
6
6
|
|
|
7
7
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
8
8
|
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
Do not edit the class manually.
|
|
13
13
|
""" # noqa: E501
|
|
14
14
|
|
|
15
|
-
|
|
16
15
|
# import models into model package
|
|
17
16
|
from stackit.resourcemanager.models.container_search_result import ContainerSearchResult
|
|
18
17
|
from stackit.resourcemanager.models.create_folder_payload import CreateFolderPayload
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -16,6 +16,7 @@ from __future__ import annotations
|
|
|
16
16
|
import json
|
|
17
17
|
import pprint
|
|
18
18
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
19
|
+
from uuid import UUID
|
|
19
20
|
|
|
20
21
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
21
22
|
from typing_extensions import Self
|
|
@@ -30,10 +31,10 @@ class ContainerSearchResult(BaseModel):
|
|
|
30
31
|
|
|
31
32
|
container_id: StrictStr = Field(description="Globally unique user-friendly identifier.", alias="containerId")
|
|
32
33
|
container_type: StrictStr = Field(description="Resource container type.", alias="containerType")
|
|
33
|
-
id:
|
|
34
|
+
id: UUID = Field(description="Globally unique identifier.")
|
|
34
35
|
lifecycle_state: Optional[LifecycleState] = Field(default=None, alias="lifecycleState")
|
|
35
36
|
name: StrictStr = Field(description="Resource container name.")
|
|
36
|
-
organization_id: Optional[
|
|
37
|
+
organization_id: Optional[UUID] = Field(
|
|
37
38
|
default=None, description="Id of the organization the container is in.", alias="organizationId"
|
|
38
39
|
)
|
|
39
40
|
__properties: ClassVar[List[str]] = [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -95,9 +95,9 @@ class CreateFolderPayload(BaseModel):
|
|
|
95
95
|
# override the default output from pydantic by calling `to_dict()` of each item in members (list)
|
|
96
96
|
_items = []
|
|
97
97
|
if self.members:
|
|
98
|
-
for
|
|
99
|
-
if
|
|
100
|
-
_items.append(
|
|
98
|
+
for _item_members in self.members:
|
|
99
|
+
if _item_members:
|
|
100
|
+
_items.append(_item_members.to_dict())
|
|
101
101
|
_dict["members"] = _items
|
|
102
102
|
return _dict
|
|
103
103
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -94,9 +94,9 @@ class CreateProjectPayload(BaseModel):
|
|
|
94
94
|
# override the default output from pydantic by calling `to_dict()` of each item in members (list)
|
|
95
95
|
_items = []
|
|
96
96
|
if self.members:
|
|
97
|
-
for
|
|
98
|
-
if
|
|
99
|
-
_items.append(
|
|
97
|
+
for _item_members in self.members:
|
|
98
|
+
if _item_members:
|
|
99
|
+
_items.append(_item_members.to_dict())
|
|
100
100
|
_dict["members"] = _items
|
|
101
101
|
return _dict
|
|
102
102
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -18,6 +18,7 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
from datetime import datetime
|
|
20
20
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
21
|
+
from uuid import UUID
|
|
21
22
|
|
|
22
23
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
23
24
|
from typing_extensions import Self
|
|
@@ -32,7 +33,7 @@ class FolderResponse(BaseModel):
|
|
|
32
33
|
|
|
33
34
|
container_id: StrictStr = Field(description="Globally unique, user-friendly identifier.", alias="containerId")
|
|
34
35
|
creation_time: datetime = Field(description="Timestamp at which the folder was created.", alias="creationTime")
|
|
35
|
-
folder_id:
|
|
36
|
+
folder_id: UUID = Field(description="Globally unique folder identifier.", alias="folderId")
|
|
36
37
|
labels: Optional[Dict[str, StrictStr]] = Field(
|
|
37
38
|
default=None,
|
|
38
39
|
description="Labels are key-value string pairs that can be attached to a resource container. Some labels may be enforced via policies. - A label key must match the regex `[A-ZÄÜÖa-zäüöß0-9_-]{1,64}`. - A label value must match the regex `^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}`.",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -18,6 +18,7 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
from datetime import datetime
|
|
20
20
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
21
|
+
from uuid import UUID
|
|
21
22
|
|
|
22
23
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
23
24
|
from typing_extensions import Self
|
|
@@ -33,7 +34,7 @@ class GetFolderDetailsResponse(BaseModel):
|
|
|
33
34
|
|
|
34
35
|
container_id: StrictStr = Field(description="Globally unique user-friendly identifier.", alias="containerId")
|
|
35
36
|
creation_time: datetime = Field(description="Timestamp at which the folder was created.", alias="creationTime")
|
|
36
|
-
folder_id:
|
|
37
|
+
folder_id: UUID = Field(description="Globally unique folder identifier.", alias="folderId")
|
|
37
38
|
labels: Optional[Dict[str, StrictStr]] = Field(
|
|
38
39
|
default=None,
|
|
39
40
|
description="Labels are key-value string pairs that can be attached to a resource container. Some labels may be enforced via policies. - A label key must match the regex `[A-ZÄÜÖa-zäüöß0-9_-]{1,64}`. - A label value must match the regex `^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}`.",
|
|
@@ -122,9 +123,9 @@ class GetFolderDetailsResponse(BaseModel):
|
|
|
122
123
|
# override the default output from pydantic by calling `to_dict()` of each item in parents (list)
|
|
123
124
|
_items = []
|
|
124
125
|
if self.parents:
|
|
125
|
-
for
|
|
126
|
-
if
|
|
127
|
-
_items.append(
|
|
126
|
+
for _item_parents in self.parents:
|
|
127
|
+
if _item_parents:
|
|
128
|
+
_items.append(_item_parents.to_dict())
|
|
128
129
|
_dict["parents"] = _items
|
|
129
130
|
return _dict
|
|
130
131
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -18,6 +18,7 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
from datetime import datetime
|
|
20
20
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
21
|
+
from uuid import UUID
|
|
21
22
|
|
|
22
23
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
23
24
|
from typing_extensions import Self
|
|
@@ -42,7 +43,7 @@ class GetProjectResponse(BaseModel):
|
|
|
42
43
|
name: StrictStr = Field(description="Project name.")
|
|
43
44
|
parent: Parent
|
|
44
45
|
parents: Optional[List[ParentListInner]] = None
|
|
45
|
-
project_id:
|
|
46
|
+
project_id: UUID = Field(description="Globally unique identifier.", alias="projectId")
|
|
46
47
|
update_time: datetime = Field(description="Timestamp at which the project was last modified.", alias="updateTime")
|
|
47
48
|
__properties: ClassVar[List[str]] = [
|
|
48
49
|
"containerId",
|
|
@@ -125,9 +126,9 @@ class GetProjectResponse(BaseModel):
|
|
|
125
126
|
# override the default output from pydantic by calling `to_dict()` of each item in parents (list)
|
|
126
127
|
_items = []
|
|
127
128
|
if self.parents:
|
|
128
|
-
for
|
|
129
|
-
if
|
|
130
|
-
_items.append(
|
|
129
|
+
for _item_parents in self.parents:
|
|
130
|
+
if _item_parents:
|
|
131
|
+
_items.append(_item_parents.to_dict())
|
|
131
132
|
_dict["parents"] = _items
|
|
132
133
|
return _dict
|
|
133
134
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -81,9 +81,9 @@ class ListFoldersResponse(BaseModel):
|
|
|
81
81
|
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
|
|
82
82
|
_items = []
|
|
83
83
|
if self.items:
|
|
84
|
-
for
|
|
85
|
-
if
|
|
86
|
-
_items.append(
|
|
84
|
+
for _item_items in self.items:
|
|
85
|
+
if _item_items:
|
|
86
|
+
_items.append(_item_items.to_dict())
|
|
87
87
|
_dict["items"] = _items
|
|
88
88
|
return _dict
|
|
89
89
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -18,6 +18,7 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
from datetime import datetime
|
|
20
20
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
21
|
+
from uuid import UUID
|
|
21
22
|
|
|
22
23
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
23
24
|
from typing_extensions import Self
|
|
@@ -32,7 +33,7 @@ class ListFoldersResponseItemsInner(BaseModel):
|
|
|
32
33
|
|
|
33
34
|
container_id: StrictStr = Field(description="Globally unique folder identifier.", alias="containerId")
|
|
34
35
|
creation_time: datetime = Field(description="Timestamp at which the folder was created.", alias="creationTime")
|
|
35
|
-
folder_id:
|
|
36
|
+
folder_id: UUID = Field(description="Globally unique folder identifier.", alias="folderId")
|
|
36
37
|
labels: Optional[Dict[str, StrictStr]] = Field(
|
|
37
38
|
default=None,
|
|
38
39
|
description="Labels are key-value string pairs that can be attached to a resource container. Some labels may be enforced via policies. - A label key must match the regex `[A-ZÄÜÖa-zäüöß0-9_-]{1,64}`. - A label value must match the regex `^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}`.",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -81,9 +81,9 @@ class ListOrganizationsResponse(BaseModel):
|
|
|
81
81
|
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
|
|
82
82
|
_items = []
|
|
83
83
|
if self.items:
|
|
84
|
-
for
|
|
85
|
-
if
|
|
86
|
-
_items.append(
|
|
84
|
+
for _item_items in self.items:
|
|
85
|
+
if _item_items:
|
|
86
|
+
_items.append(_item_items.to_dict())
|
|
87
87
|
_dict["items"] = _items
|
|
88
88
|
return _dict
|
|
89
89
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -18,6 +18,7 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
from datetime import datetime
|
|
20
20
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
21
|
+
from uuid import UUID
|
|
21
22
|
|
|
22
23
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
23
24
|
from typing_extensions import Self
|
|
@@ -40,7 +41,7 @@ class ListOrganizationsResponseItemsInner(BaseModel):
|
|
|
40
41
|
)
|
|
41
42
|
lifecycle_state: LifecycleState = Field(alias="lifecycleState")
|
|
42
43
|
name: StrictStr = Field(description="Name of the organization.")
|
|
43
|
-
organization_id:
|
|
44
|
+
organization_id: UUID = Field(description="Globally unique, organization identifier.", alias="organizationId")
|
|
44
45
|
update_time: datetime = Field(
|
|
45
46
|
description="Timestamp at which the organization was last modified.", alias="updateTime"
|
|
46
47
|
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -79,9 +79,9 @@ class ListProjectsResponse(BaseModel):
|
|
|
79
79
|
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
|
|
80
80
|
_items = []
|
|
81
81
|
if self.items:
|
|
82
|
-
for
|
|
83
|
-
if
|
|
84
|
-
_items.append(
|
|
82
|
+
for _item_items in self.items:
|
|
83
|
+
if _item_items:
|
|
84
|
+
_items.append(_item_items.to_dict())
|
|
85
85
|
_dict["items"] = _items
|
|
86
86
|
return _dict
|
|
87
87
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -18,6 +18,7 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
from datetime import datetime
|
|
20
20
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
21
|
+
from uuid import UUID
|
|
21
22
|
|
|
22
23
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
23
24
|
from typing_extensions import Self
|
|
@@ -40,7 +41,7 @@ class OrganizationResponse(BaseModel):
|
|
|
40
41
|
)
|
|
41
42
|
lifecycle_state: LifecycleState = Field(alias="lifecycleState")
|
|
42
43
|
name: StrictStr = Field(description="Organization name.")
|
|
43
|
-
organization_id:
|
|
44
|
+
organization_id: UUID = Field(description="Globally unique, organization identifier.", alias="organizationId")
|
|
44
45
|
update_time: datetime = Field(
|
|
45
46
|
description="Timestamp at which the organization was last modified.", alias="updateTime"
|
|
46
47
|
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -16,6 +16,7 @@ from __future__ import annotations
|
|
|
16
16
|
import json
|
|
17
17
|
import pprint
|
|
18
18
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
19
|
+
from uuid import UUID
|
|
19
20
|
|
|
20
21
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
21
22
|
from typing_extensions import Self
|
|
@@ -29,7 +30,7 @@ class Parent(BaseModel):
|
|
|
29
30
|
container_id: StrictStr = Field(
|
|
30
31
|
description="User-friendly identifier of either organization or folder (will replace id).", alias="containerId"
|
|
31
32
|
)
|
|
32
|
-
id:
|
|
33
|
+
id: UUID = Field(description="Identifier of either organization or folder.")
|
|
33
34
|
type: StrictStr = Field(description="Container type of parent container.")
|
|
34
35
|
__properties: ClassVar[List[str]] = ["containerId", "id", "type"]
|
|
35
36
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -16,6 +16,7 @@ from __future__ import annotations
|
|
|
16
16
|
import json
|
|
17
17
|
import pprint
|
|
18
18
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
19
|
+
from uuid import UUID
|
|
19
20
|
|
|
20
21
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
21
22
|
from typing_extensions import Self
|
|
@@ -34,9 +35,9 @@ class ParentListInner(BaseModel):
|
|
|
34
35
|
description="User-friendly parent identifier of either organization or folder (will replace parentId).",
|
|
35
36
|
alias="containerParentId",
|
|
36
37
|
)
|
|
37
|
-
id:
|
|
38
|
+
id: UUID = Field(description="Identifier.")
|
|
38
39
|
name: StrictStr = Field(description="Parent container name.")
|
|
39
|
-
parent_id: Optional[
|
|
40
|
+
parent_id: Optional[UUID] = Field(
|
|
40
41
|
default=None, description="Identifier of the parent resource container.", alias="parentId"
|
|
41
42
|
)
|
|
42
43
|
type: StrictStr = Field(description="Parent container type.")
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -18,6 +18,7 @@ import pprint
|
|
|
18
18
|
import re # noqa: F401
|
|
19
19
|
from datetime import datetime
|
|
20
20
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
21
|
+
from uuid import UUID
|
|
21
22
|
|
|
22
23
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
23
24
|
from typing_extensions import Self
|
|
@@ -40,7 +41,7 @@ class Project(BaseModel):
|
|
|
40
41
|
lifecycle_state: LifecycleState = Field(alias="lifecycleState")
|
|
41
42
|
name: StrictStr = Field(description="Project name.")
|
|
42
43
|
parent: Parent
|
|
43
|
-
project_id:
|
|
44
|
+
project_id: UUID = Field(description="Globally unique, project identifier.", alias="projectId")
|
|
44
45
|
update_time: datetime = Field(description="Timestamp at which the project was last modified.", alias="updateTime")
|
|
45
46
|
__properties: ClassVar[List[str]] = [
|
|
46
47
|
"containerId",
|
{stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/rest.py
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
Resource Manager API
|
|
4
|
+
STACKIT Resource Manager API
|
|
5
5
|
|
|
6
6
|
API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
|
|
7
7
|
|
|
@@ -38,12 +38,17 @@ class RESTResponse(io.IOBase):
|
|
|
38
38
|
self.data = self.response.content
|
|
39
39
|
return self.data
|
|
40
40
|
|
|
41
|
+
@property
|
|
42
|
+
def headers(self):
|
|
43
|
+
"""Returns a dictionary of response headers."""
|
|
44
|
+
return self.response.headers
|
|
45
|
+
|
|
41
46
|
def getheaders(self):
|
|
42
|
-
"""Returns a dictionary of the response headers."""
|
|
47
|
+
"""Returns a dictionary of the response headers; use ``headers`` instead."""
|
|
43
48
|
return self.response.headers
|
|
44
49
|
|
|
45
50
|
def getheader(self, name, default=None):
|
|
46
|
-
"""Returns a given response header."""
|
|
51
|
+
"""Returns a given response header; use ``headers.get()`` instead."""
|
|
47
52
|
return self.response.headers.get(name, default)
|
|
48
53
|
|
|
49
54
|
|
|
@@ -93,6 +98,7 @@ class RESTClientObject:
|
|
|
93
98
|
url,
|
|
94
99
|
data=request_body,
|
|
95
100
|
headers=headers,
|
|
101
|
+
timeout=_request_timeout,
|
|
96
102
|
)
|
|
97
103
|
elif content_type == "application/x-www-form-urlencoded":
|
|
98
104
|
r = self.session.request(
|
|
@@ -100,6 +106,7 @@ class RESTClientObject:
|
|
|
100
106
|
url,
|
|
101
107
|
params=post_params,
|
|
102
108
|
headers=headers,
|
|
109
|
+
timeout=_request_timeout,
|
|
103
110
|
)
|
|
104
111
|
elif content_type == "multipart/form-data":
|
|
105
112
|
# must del headers['Content-Type'], or the correct
|
|
@@ -113,6 +120,7 @@ class RESTClientObject:
|
|
|
113
120
|
url,
|
|
114
121
|
files=post_params,
|
|
115
122
|
headers=headers,
|
|
123
|
+
timeout=_request_timeout,
|
|
116
124
|
)
|
|
117
125
|
# Pass a `string` parameter directly in the body to support
|
|
118
126
|
# other content types than JSON when `body` argument is
|
|
@@ -123,10 +131,17 @@ class RESTClientObject:
|
|
|
123
131
|
url,
|
|
124
132
|
data=body,
|
|
125
133
|
headers=headers,
|
|
134
|
+
timeout=_request_timeout,
|
|
126
135
|
)
|
|
127
136
|
elif headers["Content-Type"].startswith("text/") and isinstance(body, bool):
|
|
128
137
|
request_body = "true" if body else "false"
|
|
129
|
-
r = self.session.request(
|
|
138
|
+
r = self.session.request(
|
|
139
|
+
method,
|
|
140
|
+
url,
|
|
141
|
+
data=request_body,
|
|
142
|
+
headers=headers,
|
|
143
|
+
timeout=_request_timeout,
|
|
144
|
+
)
|
|
130
145
|
else:
|
|
131
146
|
# Cannot generate the request from given parameters
|
|
132
147
|
msg = """Cannot prepare a request message for provided
|
|
@@ -140,6 +155,7 @@ class RESTClientObject:
|
|
|
140
155
|
url,
|
|
141
156
|
params={},
|
|
142
157
|
headers=headers,
|
|
158
|
+
timeout=_request_timeout,
|
|
143
159
|
)
|
|
144
160
|
except requests.exceptions.SSLError as e:
|
|
145
161
|
msg = "\n".join([type(e).__name__, str(e)])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_resourcemanager-0.7.0 → stackit_resourcemanager-0.7.1}/src/stackit/resourcemanager/py.typed
RENAMED
|
File without changes
|