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.
Files changed (31) hide show
  1. stackit_resourcemanager-0.0.1a0/PKG-INFO +65 -0
  2. stackit_resourcemanager-0.0.1a0/README.md +43 -0
  3. stackit_resourcemanager-0.0.1a0/pyproject.toml +105 -0
  4. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/__init__.py +67 -0
  5. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/api/__init__.py +4 -0
  6. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/api/default_api.py +2703 -0
  7. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/api_client.py +626 -0
  8. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/api_response.py +23 -0
  9. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/configuration.py +110 -0
  10. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/exceptions.py +198 -0
  11. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/__init__.py +48 -0
  12. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/create_project_payload.py +122 -0
  13. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/error_response.py +94 -0
  14. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/folder_response.py +114 -0
  15. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/get_project_response.py +133 -0
  16. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/lifecycle_state.py +38 -0
  17. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organization_containers_response.py +110 -0
  18. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organization_containers_response_items_inner.py +164 -0
  19. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organization_containers_response_items_inner_any_of.py +99 -0
  20. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organization_containers_response_items_inner_any_of1.py +96 -0
  21. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organizations_response.py +110 -0
  22. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_organizations_response_items_inner.py +115 -0
  23. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/list_projects_response.py +104 -0
  24. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/member.py +82 -0
  25. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/organization_response.py +115 -0
  26. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/parent.py +92 -0
  27. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/parent_list_inner.py +107 -0
  28. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/partial_update_project_payload.py +108 -0
  29. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/models/project.py +118 -0
  30. stackit_resourcemanager-0.0.1a0/src/stackit/resourcemanager/py.typed +0 -0
  31. 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
@@ -0,0 +1,4 @@
1
+ # flake8: noqa
2
+
3
+ # import apis into api package
4
+ from stackit.resourcemanager.api.default_api import DefaultApi