Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions services/cost/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# stackit.cost
The cost API provides detailed reports on the costs for a customer or project over a certain amount of time



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.


## Installation & Usage
### pip install

```sh
pip install stackit-cost
```

Then import the package:
```python
import stackit.cost
```

## Getting Started

[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,470 changes: 1,470 additions & 0 deletions services/cost/poetry.lock

Large diffs are not rendered by default.

99 changes: 99 additions & 0 deletions services/cost/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
[project]
name = "stackit-cost"

[tool.poetry]
name = "stackit-cost"
version = "v0.0.1a"
authors = [
"STACKIT Developer Tools <developer-tools@stackit.cloud>",
]
description = "STACKIT Cost API"
readme = "README.md"
#license = "NoLicense"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
]
packages = [
{ include = "stackit", from="src" }
]

[tool.poetry.dependencies]
python = "^3.9"
stackit-core = ">=0.0.1a"
requests = ">=2.32.3"
pydantic = ">=2.9.2"
python-dateutil = ">=2.9.0.post0"

[tool.poetry.group.dev.dependencies]
black = ">=24.8.0"
pytest = ">=8.3.3"
flake8 = [
{ version= ">=5.0.3", python="<3.12"},
{ version= ">=6.0.1", python=">=3.12"}
]
flake8-black = ">=0.3.6"
flake8-pyproject = ">=1.2.3"
autoimport = ">=1.6.1"
flake8-eol = ">=0.0.8"
flake8-eradicate = ">=1.5.0"
flake8-bandit = ">=4.1.1"
flake8-bugbear = ">=23.1.14"
flake8-quotes = ">=3.4.0"
isort = ">=5.13.2"

[project.urls]
Homepage = "https://github.com/stackitcloud/stackit-sdk-python"
Issues = "https://github.com/stackitcloud/stackit-sdk-python/issues"

[build-system]
requires = ["setuptools", "poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.pytest.ini_options]
pythonpath = [
"src"
]
testpaths = [
"tests"
]

[tool.black]
line-length = 120
exclude = """
/(
.eggs
| .git
| .hg
| .mypy_cache
| .nox
| .pants.d
| .tox
| .venv
| _build
| buck-out
| build
| dist
| node_modules
| venv
)/
"""

[tool.isort]
profile = 'black'

[tool.flake8]
exclude= [".eggs", ".git", ".hg", ".mypy_cache", ".tox", ".venv", ".devcontainer", "venv", "_build", "buck-out", "build", "dist"]
statistics = true
show-source = false
max-line-length = 120
# E203,W503 and E704 are incompatible with the formatter black
# W291 needs to be disabled because some doc-strings get generated with trailing whitespace but black won't re-format comments
ignore = ["E203", "W503", "E704", "W291"]
inline-quotes = '"'
docstring-quotes = '"""'
multiline-quotes = '"""'
ban-relative-imports = true
# Exclude generated code
extend-exclude = [ "src/stackit/*/models/*", "src/stackit/*/api/*", "src/stackit/*/*.py" ]
83 changes: 83 additions & 0 deletions services/cost/src/stackit/cost/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# coding: utf-8

# flake8: noqa

"""
STACKIT Cost API

The cost API provides detailed reports on the costs for a customer or project over a certain amount of time

The version of the OpenAPI document: 3.0
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501


__version__ = "1.0.0"

# Define package exports
__all__ = [
"DefaultApi",
"ApiResponse",
"ApiClient",
"HostConfiguration",
"OpenApiException",
"ApiTypeError",
"ApiValueError",
"ApiKeyError",
"ApiAttributeError",
"ApiException",
"DefaultError",
"DetailedServiceCosts",
"ListCostsForCustomer200ResponseInner",
"ProjectCostsWithDetailedServices",
"ProjectCostsWithReports",
"ProjectCostsWithSummarizedServices",
"ReportData",
"ReportDataTimePeriod",
"SummarizedProjectCosts",
"SummarizedServiceCosts",
]

# import apis into sdk package
from stackit.cost.api.default_api import DefaultApi as DefaultApi
from stackit.cost.api_client import ApiClient as ApiClient

# import ApiClient
from stackit.cost.api_response import ApiResponse as ApiResponse
from stackit.cost.configuration import HostConfiguration as HostConfiguration
from stackit.cost.exceptions import ApiAttributeError as ApiAttributeError
from stackit.cost.exceptions import ApiException as ApiException
from stackit.cost.exceptions import ApiKeyError as ApiKeyError
from stackit.cost.exceptions import ApiTypeError as ApiTypeError
from stackit.cost.exceptions import ApiValueError as ApiValueError
from stackit.cost.exceptions import OpenApiException as OpenApiException

# import models into sdk package
from stackit.cost.models.default_error import DefaultError as DefaultError
from stackit.cost.models.detailed_service_costs import (
DetailedServiceCosts as DetailedServiceCosts,
)
from stackit.cost.models.list_costs_for_customer200_response_inner import (
ListCostsForCustomer200ResponseInner as ListCostsForCustomer200ResponseInner,
)
from stackit.cost.models.project_costs_with_detailed_services import (
ProjectCostsWithDetailedServices as ProjectCostsWithDetailedServices,
)
from stackit.cost.models.project_costs_with_reports import (
ProjectCostsWithReports as ProjectCostsWithReports,
)
from stackit.cost.models.project_costs_with_summarized_services import (
ProjectCostsWithSummarizedServices as ProjectCostsWithSummarizedServices,
)
from stackit.cost.models.report_data import ReportData as ReportData
from stackit.cost.models.report_data_time_period import (
ReportDataTimePeriod as ReportDataTimePeriod,
)
from stackit.cost.models.summarized_project_costs import (
SummarizedProjectCosts as SummarizedProjectCosts,
)
from stackit.cost.models.summarized_service_costs import (
SummarizedServiceCosts as SummarizedServiceCosts,
)
4 changes: 4 additions & 0 deletions services/cost/src/stackit/cost/api/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# flake8: noqa

# import apis into api package
from stackit.cost.api.default_api import DefaultApi
Loading