stackit-resourcemanager 0.0.1a0__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.0.1a0/PKG-INFO +65 -0
- stackit_resourcemanager-0.0.1a0/README.md +43 -0
- stackit_resourcemanager-0.0.1a0/pyproject.toml +105 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/__init__.py +67 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/api/__init__.py +4 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/api/default_api.py +2703 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/api_client.py +626 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/api_response.py +23 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/configuration.py +110 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/exceptions.py +198 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/__init__.py +48 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/create_project_payload.py +122 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/error_response.py +94 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/folder_response.py +114 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/get_project_response.py +133 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/lifecycle_state.py +38 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organization_containers_response.py +110 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organization_containers_response_items_inner.py +164 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organization_containers_response_items_inner_any_of.py +99 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organization_containers_response_items_inner_any_of1.py +96 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organizations_response.py +110 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organizations_response_items_inner.py +115 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_projects_response.py +104 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/member.py +82 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/organization_response.py +115 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/parent.py +92 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/parent_list_inner.py +107 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/partial_update_project_payload.py +108 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/project.py +118 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/py.typed +0 -0
- stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/rest.py +148 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: stackit-resourcemanager
|
|
3
|
+
Version: 0.0.1a0
|
|
4
|
+
Summary: Resource Manager API
|
|
5
|
+
Author: STACKIT Developer Tools
|
|
6
|
+
Author-email: developer-tools@stackit.cloud
|
|
7
|
+
Requires-Python: >=3.8,<4.0
|
|
8
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Requires-Dist: pydantic (>=2.9.2)
|
|
18
|
+
Requires-Dist: python-dateutil (>=2.9.0.post0)
|
|
19
|
+
Requires-Dist: requests (>=2.32.3)
|
|
20
|
+
Requires-Dist: stackit-core (>=0.0.1a)
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
|
|
23
|
+
# stackit.resourcemanager
|
|
24
|
+
API v2 to manage resource containers - organizations, folders, projects incl. labels
|
|
25
|
+
|
|
26
|
+
### Resource Management
|
|
27
|
+
STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations,
|
|
28
|
+
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.
|
|
29
|
+
|
|
30
|
+
### Organizations
|
|
31
|
+
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.
|
|
32
|
+
- Organizations are always the root node in resource hierarchy and do not have a parent
|
|
33
|
+
|
|
34
|
+
### Projects
|
|
35
|
+
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.
|
|
36
|
+
- Projects are optional, but mandatory for cloud-resource usage
|
|
37
|
+
- A project can be created having either an organization, or a folder as parent
|
|
38
|
+
- A project must not have a project as parent
|
|
39
|
+
- Project names under the same parent must not be unique
|
|
40
|
+
- Root organization cannot be changed
|
|
41
|
+
|
|
42
|
+
### Label
|
|
43
|
+
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.
|
|
44
|
+
- Policy-based, immutable labels may exists
|
|
45
|
+
|
|
46
|
+
For more information, please visit [https://support.stackit.cloud/servicedesk](https://support.stackit.cloud/servicedesk)
|
|
47
|
+
|
|
48
|
+
This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## Installation & Usage
|
|
52
|
+
### pip install
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
pip install stackit-resourcemanager
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Then import the package:
|
|
59
|
+
```python
|
|
60
|
+
import stackit.resourcemanager
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Getting Started
|
|
64
|
+
|
|
65
|
+
[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.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# stackit.resourcemanager
|
|
2
|
+
API v2 to manage resource containers - organizations, folders, projects incl. labels
|
|
3
|
+
|
|
4
|
+
### Resource Management
|
|
5
|
+
STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations,
|
|
6
|
+
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.
|
|
7
|
+
|
|
8
|
+
### Organizations
|
|
9
|
+
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.
|
|
10
|
+
- Organizations are always the root node in resource hierarchy and do not have a parent
|
|
11
|
+
|
|
12
|
+
### Projects
|
|
13
|
+
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.
|
|
14
|
+
- Projects are optional, but mandatory for cloud-resource usage
|
|
15
|
+
- A project can be created having either an organization, or a folder as parent
|
|
16
|
+
- A project must not have a project as parent
|
|
17
|
+
- Project names under the same parent must not be unique
|
|
18
|
+
- Root organization cannot be changed
|
|
19
|
+
|
|
20
|
+
### Label
|
|
21
|
+
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.
|
|
22
|
+
- Policy-based, immutable labels may exists
|
|
23
|
+
|
|
24
|
+
For more information, please visit [https://support.stackit.cloud/servicedesk](https://support.stackit.cloud/servicedesk)
|
|
25
|
+
|
|
26
|
+
This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## Installation & Usage
|
|
30
|
+
### pip install
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
pip install stackit-resourcemanager
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Then import the package:
|
|
37
|
+
```python
|
|
38
|
+
import stackit.resourcemanager
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Getting Started
|
|
42
|
+
|
|
43
|
+
[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.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
[tool.poetry]
|
|
2
|
+
name = "stackit-resourcemanager"
|
|
3
|
+
version = "v0.0.1a"
|
|
4
|
+
authors = [
|
|
5
|
+
"STACKIT Developer Tools <developer-tools@stackit.cloud>",
|
|
6
|
+
]
|
|
7
|
+
description = "Resource Manager API"
|
|
8
|
+
readme = "README.md"
|
|
9
|
+
#license = "NoLicense"
|
|
10
|
+
classifiers = [
|
|
11
|
+
"Programming Language :: Python :: 3",
|
|
12
|
+
"License :: OSI Approved :: Apache Software License",
|
|
13
|
+
"Operating System :: OS Independent",
|
|
14
|
+
]
|
|
15
|
+
packages = [
|
|
16
|
+
{ include = "stackit", from="src" }
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
[tool.poetry.dependencies]
|
|
20
|
+
python = ">=3.8,<4.0"
|
|
21
|
+
stackit-core = ">=0.0.1a"
|
|
22
|
+
requests = ">=2.32.3"
|
|
23
|
+
pydantic = ">=2.9.2"
|
|
24
|
+
python-dateutil = ">=2.9.0.post0"
|
|
25
|
+
|
|
26
|
+
[tool.poetry.group.dev.dependencies]
|
|
27
|
+
black = ">=24.8.0"
|
|
28
|
+
pytest = ">=8.3.3"
|
|
29
|
+
flake8 = [
|
|
30
|
+
{ version= ">=5.0.3", python="<3.12"},
|
|
31
|
+
{ version= ">=6.0.1", python=">=3.12"}
|
|
32
|
+
]
|
|
33
|
+
flake8-black = ">=0.3.6"
|
|
34
|
+
flake8-pyproject = ">=1.2.3"
|
|
35
|
+
autoimport = ">=1.6.1"
|
|
36
|
+
flake8-eol = ">=0.0.8"
|
|
37
|
+
flake8-eradicate = ">=1.5.0"
|
|
38
|
+
flake8-bandit = ">=4.1.1"
|
|
39
|
+
flake8-bugbear = ">=23.1.14"
|
|
40
|
+
flake8-quotes = ">=3.4.0"
|
|
41
|
+
isort = ">=5.13.2"
|
|
42
|
+
|
|
43
|
+
[project.urls]
|
|
44
|
+
Homepage = "https://github.com/stackitcloud/stackit-sdk-python"
|
|
45
|
+
Issues = "https://github.com/stackitcloud/stackit-sdk-python/issues"
|
|
46
|
+
|
|
47
|
+
[build-system]
|
|
48
|
+
requires = ["setuptools", "poetry-core"]
|
|
49
|
+
build-backend = "poetry.core.masonry.api"
|
|
50
|
+
|
|
51
|
+
[tool.pytest.ini_options]
|
|
52
|
+
pythonpath = [
|
|
53
|
+
"src"
|
|
54
|
+
]
|
|
55
|
+
testpaths = [
|
|
56
|
+
"tests"
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
[tool.black]
|
|
60
|
+
line-length = 120
|
|
61
|
+
exclude = """
|
|
62
|
+
/(
|
|
63
|
+
.eggs
|
|
64
|
+
| .git
|
|
65
|
+
| .hg
|
|
66
|
+
| .mypy_cache
|
|
67
|
+
| .nox
|
|
68
|
+
| .pants.d
|
|
69
|
+
| .tox
|
|
70
|
+
| .venv
|
|
71
|
+
| _build
|
|
72
|
+
| buck-out
|
|
73
|
+
| build
|
|
74
|
+
| dist
|
|
75
|
+
| node_modules
|
|
76
|
+
| venv
|
|
77
|
+
)/
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
[tool.isort]
|
|
81
|
+
profile = 'black'
|
|
82
|
+
|
|
83
|
+
[tool.flake8]
|
|
84
|
+
exclude= [".eggs", ".git", ".hg", ".mypy_cache", ".tox", ".venv", ".devcontainer", "venv", "_build", "buck-out", "build", "dist"]
|
|
85
|
+
statistics = true
|
|
86
|
+
show-source = false
|
|
87
|
+
max-line-length = 120
|
|
88
|
+
# E203,W503 and E704 are incompatible with the formatter black
|
|
89
|
+
# W291 needs to be disabled because some doc-strings get generated with trailing whitespace but black won't re-format comments
|
|
90
|
+
ignore = ["E203", "W503", "E704", "W291"]
|
|
91
|
+
inline-quotes = '"'
|
|
92
|
+
docstring-quotes = '"""'
|
|
93
|
+
multiline-quotes = '"""'
|
|
94
|
+
ban-relative-imports = true
|
|
95
|
+
per-file-ignores = """
|
|
96
|
+
# asserts are fine in tests, tests shouldn't be build optimized
|
|
97
|
+
./tests/*: S101,
|
|
98
|
+
# F841: some variables get generated but may not be used, depending on the api-spec
|
|
99
|
+
# E501: long descriptions/string values might lead to lines that are too long
|
|
100
|
+
./src/stackit/*/models/*: F841,E501
|
|
101
|
+
# F841: some variables get generated but may not be used, depending on the api-spec
|
|
102
|
+
# E501: long descriptions/string values might lead to lines that are too long
|
|
103
|
+
# B028: stacklevel for deprecation warning is irrelevant
|
|
104
|
+
./src/stackit/*/api/default_api.py: F841,B028,E501
|
|
105
|
+
"""
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
# flake8: noqa
|
|
4
|
+
|
|
5
|
+
"""
|
|
6
|
+
Resource Manager API
|
|
7
|
+
|
|
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
|
+
|
|
10
|
+
The version of the OpenAPI document: 2.0
|
|
11
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
12
|
+
|
|
13
|
+
Do not edit the class manually.
|
|
14
|
+
""" # noqa: E501 docstring might be too long
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
__version__ = "1.0.0"
|
|
18
|
+
|
|
19
|
+
# import apis into sdk package
|
|
20
|
+
from stackit.resourcemanager.api.default_api import DefaultApi
|
|
21
|
+
from stackit.resourcemanager.api_client import ApiClient
|
|
22
|
+
|
|
23
|
+
# import ApiClient
|
|
24
|
+
from stackit.resourcemanager.api_response import ApiResponse
|
|
25
|
+
from stackit.resourcemanager.configuration import HostConfiguration
|
|
26
|
+
from stackit.resourcemanager.exceptions import (
|
|
27
|
+
ApiAttributeError,
|
|
28
|
+
ApiException,
|
|
29
|
+
ApiKeyError,
|
|
30
|
+
ApiTypeError,
|
|
31
|
+
ApiValueError,
|
|
32
|
+
OpenApiException,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
# import models into sdk package
|
|
36
|
+
from stackit.resourcemanager.models.create_project_payload import CreateProjectPayload
|
|
37
|
+
from stackit.resourcemanager.models.error_response import ErrorResponse
|
|
38
|
+
from stackit.resourcemanager.models.folder_response import FolderResponse
|
|
39
|
+
from stackit.resourcemanager.models.get_project_response import GetProjectResponse
|
|
40
|
+
from stackit.resourcemanager.models.lifecycle_state import LifecycleState
|
|
41
|
+
from stackit.resourcemanager.models.list_organization_containers_response import (
|
|
42
|
+
ListOrganizationContainersResponse,
|
|
43
|
+
)
|
|
44
|
+
from stackit.resourcemanager.models.list_organization_containers_response_items_inner import (
|
|
45
|
+
ListOrganizationContainersResponseItemsInner,
|
|
46
|
+
)
|
|
47
|
+
from stackit.resourcemanager.models.list_organization_containers_response_items_inner_any_of import (
|
|
48
|
+
ListOrganizationContainersResponseItemsInnerAnyOf,
|
|
49
|
+
)
|
|
50
|
+
from stackit.resourcemanager.models.list_organization_containers_response_items_inner_any_of1 import (
|
|
51
|
+
ListOrganizationContainersResponseItemsInnerAnyOf1,
|
|
52
|
+
)
|
|
53
|
+
from stackit.resourcemanager.models.list_organizations_response import (
|
|
54
|
+
ListOrganizationsResponse,
|
|
55
|
+
)
|
|
56
|
+
from stackit.resourcemanager.models.list_organizations_response_items_inner import (
|
|
57
|
+
ListOrganizationsResponseItemsInner,
|
|
58
|
+
)
|
|
59
|
+
from stackit.resourcemanager.models.list_projects_response import ListProjectsResponse
|
|
60
|
+
from stackit.resourcemanager.models.member import Member
|
|
61
|
+
from stackit.resourcemanager.models.organization_response import OrganizationResponse
|
|
62
|
+
from stackit.resourcemanager.models.parent import Parent
|
|
63
|
+
from stackit.resourcemanager.models.parent_list_inner import ParentListInner
|
|
64
|
+
from stackit.resourcemanager.models.partial_update_project_payload import (
|
|
65
|
+
PartialUpdateProjectPayload,
|
|
66
|
+
)
|
|
67
|
+
from stackit.resourcemanager.models.project import Project
|