Skip to content

Commit 70ca9e1

Browse files
Generate cost
1 parent b655eaf commit 70ca9e1

23 files changed

+5269
-0
lines changed

services/cost/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# stackit.cost
2+
The cost API provides detailed reports on the costs for a customer or project over a certain amount of time
3+
4+
5+
6+
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.
7+
8+
9+
## Installation & Usage
10+
### pip install
11+
12+
```sh
13+
pip install stackit-cost
14+
```
15+
16+
Then import the package:
17+
```python
18+
import stackit.cost
19+
```
20+
21+
## Getting Started
22+
23+
[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.

services/cost/poetry.lock

Lines changed: 1470 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

services/cost/pyproject.toml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
[project]
2+
name = "stackit-cost"
3+
4+
[tool.poetry]
5+
name = "stackit-cost"
6+
version = "v0.0.1a"
7+
authors = [
8+
"STACKIT Developer Tools <[email protected]>",
9+
]
10+
description = "STACKIT Cost API"
11+
readme = "README.md"
12+
#license = "NoLicense"
13+
classifiers = [
14+
"Programming Language :: Python :: 3",
15+
"License :: OSI Approved :: Apache Software License",
16+
"Operating System :: OS Independent",
17+
]
18+
packages = [
19+
{ include = "stackit", from="src" }
20+
]
21+
22+
[tool.poetry.dependencies]
23+
python = "^3.9"
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+
[project.urls]
47+
Homepage = "https://github.com/stackitcloud/stackit-sdk-python"
48+
Issues = "https://github.com/stackitcloud/stackit-sdk-python/issues"
49+
50+
[build-system]
51+
requires = ["setuptools", "poetry-core"]
52+
build-backend = "poetry.core.masonry.api"
53+
54+
[tool.pytest.ini_options]
55+
pythonpath = [
56+
"src"
57+
]
58+
testpaths = [
59+
"tests"
60+
]
61+
62+
[tool.black]
63+
line-length = 120
64+
exclude = """
65+
/(
66+
.eggs
67+
| .git
68+
| .hg
69+
| .mypy_cache
70+
| .nox
71+
| .pants.d
72+
| .tox
73+
| .venv
74+
| _build
75+
| buck-out
76+
| build
77+
| dist
78+
| node_modules
79+
| venv
80+
)/
81+
"""
82+
83+
[tool.isort]
84+
profile = 'black'
85+
86+
[tool.flake8]
87+
exclude= [".eggs", ".git", ".hg", ".mypy_cache", ".tox", ".venv", ".devcontainer", "venv", "_build", "buck-out", "build", "dist"]
88+
statistics = true
89+
show-source = false
90+
max-line-length = 120
91+
# E203,W503 and E704 are incompatible with the formatter black
92+
# W291 needs to be disabled because some doc-strings get generated with trailing whitespace but black won't re-format comments
93+
ignore = ["E203", "W503", "E704", "W291"]
94+
inline-quotes = '"'
95+
docstring-quotes = '"""'
96+
multiline-quotes = '"""'
97+
ban-relative-imports = true
98+
# Exclude generated code
99+
extend-exclude = [ "src/stackit/*/models/*", "src/stackit/*/api/*", "src/stackit/*/*.py" ]
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# coding: utf-8
2+
3+
# flake8: noqa
4+
5+
"""
6+
STACKIT Cost API
7+
8+
The cost API provides detailed reports on the costs for a customer or project over a certain amount of time
9+
10+
The version of the OpenAPI document: 3.0
11+
Generated by OpenAPI Generator (https://openapi-generator.tech)
12+
13+
Do not edit the class manually.
14+
""" # noqa: E501
15+
16+
17+
__version__ = "1.0.0"
18+
19+
# Define package exports
20+
__all__ = [
21+
"DefaultApi",
22+
"ApiResponse",
23+
"ApiClient",
24+
"HostConfiguration",
25+
"OpenApiException",
26+
"ApiTypeError",
27+
"ApiValueError",
28+
"ApiKeyError",
29+
"ApiAttributeError",
30+
"ApiException",
31+
"DefaultError",
32+
"DetailedServiceCosts",
33+
"ListCostsForCustomer200ResponseInner",
34+
"ProjectCostsWithDetailedServices",
35+
"ProjectCostsWithReports",
36+
"ProjectCostsWithSummarizedServices",
37+
"ReportData",
38+
"ReportDataTimePeriod",
39+
"SummarizedProjectCosts",
40+
"SummarizedServiceCosts",
41+
]
42+
43+
# import apis into sdk package
44+
from stackit.cost.api.default_api import DefaultApi as DefaultApi
45+
from stackit.cost.api_client import ApiClient as ApiClient
46+
47+
# import ApiClient
48+
from stackit.cost.api_response import ApiResponse as ApiResponse
49+
from stackit.cost.configuration import HostConfiguration as HostConfiguration
50+
from stackit.cost.exceptions import ApiAttributeError as ApiAttributeError
51+
from stackit.cost.exceptions import ApiException as ApiException
52+
from stackit.cost.exceptions import ApiKeyError as ApiKeyError
53+
from stackit.cost.exceptions import ApiTypeError as ApiTypeError
54+
from stackit.cost.exceptions import ApiValueError as ApiValueError
55+
from stackit.cost.exceptions import OpenApiException as OpenApiException
56+
57+
# import models into sdk package
58+
from stackit.cost.models.default_error import DefaultError as DefaultError
59+
from stackit.cost.models.detailed_service_costs import (
60+
DetailedServiceCosts as DetailedServiceCosts,
61+
)
62+
from stackit.cost.models.list_costs_for_customer200_response_inner import (
63+
ListCostsForCustomer200ResponseInner as ListCostsForCustomer200ResponseInner,
64+
)
65+
from stackit.cost.models.project_costs_with_detailed_services import (
66+
ProjectCostsWithDetailedServices as ProjectCostsWithDetailedServices,
67+
)
68+
from stackit.cost.models.project_costs_with_reports import (
69+
ProjectCostsWithReports as ProjectCostsWithReports,
70+
)
71+
from stackit.cost.models.project_costs_with_summarized_services import (
72+
ProjectCostsWithSummarizedServices as ProjectCostsWithSummarizedServices,
73+
)
74+
from stackit.cost.models.report_data import ReportData as ReportData
75+
from stackit.cost.models.report_data_time_period import (
76+
ReportDataTimePeriod as ReportDataTimePeriod,
77+
)
78+
from stackit.cost.models.summarized_project_costs import (
79+
SummarizedProjectCosts as SummarizedProjectCosts,
80+
)
81+
from stackit.cost.models.summarized_service_costs import (
82+
SummarizedServiceCosts as SummarizedServiceCosts,
83+
)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# flake8: noqa
2+
3+
# import apis into api package
4+
from stackit.cost.api.default_api import DefaultApi

0 commit comments

Comments
 (0)