# cloudcoil-models-prometheus-operator
Versioned prometheus-operator models for cloudcoil.
> [!WARNING]
> This repository is auto-generated from the [cloudcoil repository](https://github.com/cloudcoil/cloudcoil/tree/main/models/prometheus-operator). Please do not submit pull requests here. Instead, submit them to the main repository at https://github.com/cloudcoil/cloudcoil.
## 🔧 Installation
> [!NOTE]
> For versioning information and compatibility, see the [Versioning Guide](https://github.com/cloudcoil/cloudcoil/blob/main/VERSIONING.md).
Using [uv](https://github.com/astral-sh/uv) (recommended):
```bash
# Install with Prometheus Operator support
uv add cloudcoil.models.prometheus_operator
```
Using pip:
```bash
pip install cloudcoil.models.prometheus_operator
```
## 💡 Examples
### Using Prometheus Operator Models
```python
from cloudcoil import apimachinery
import cloudcoil.models.prometheus_operator.v1 as prometheus_operator
# Create a Prometheus instance
prometheus = prometheus_operator.Prometheus(
metadata=apimachinery.ObjectMeta(name="main"),
spec=prometheus_operator.PrometheusSpec(
external_url="http://monitoring.my.systems/prometheus",
resources=apimachinery.ResourceRequirements(
requests={
"memory": "400Mi"
}
)
)
).create()
# Create an Alertmanager instance
alert_manager = prometheus_operator.Alertmanager(
metadata=apimachinery.ObjectMeta(name="main"),
spec=prometheus_operator.AlertmanagerSpec(
replicas=3,
external_url="http://monitoring.my.systems/alertmanager",
resources=apimachinery.ResourceRequirements(
requests={
"memory": "400Mi"
}
)
)
).create()
# List Prometheus instances
for prom in prometheus_operator.Prometheus.list():
print(f"Found Prometheus: {prom.metadata.name}")
```
### Using the Fluent Builder API
Cloudcoil provides a powerful fluent builder API for Prometheus Operator resources:
```python
from cloudcoil.models.prometheus_operator.v1 import Prometheus, Alertmanager
# Create a Prometheus using the builder
prometheus = (
Prometheus.builder()
.metadata(lambda m: m
.name("main")
)
.spec(lambda s: s
.external_url("http://monitoring.my.systems/prometheus")
.resources(lambda r: r
.requests({
"memory": "400Mi"
})
)
)
.build()
)
# Create an Alertmanager using the builder
alert_manager = (
Alertmanager.builder()
.metadata(lambda m: m
.name("main")
)
.spec(lambda s: s
.replicas(3)
.external_url("http://monitoring.my.systems/alertmanager")
.resources(lambda r: r
.requests({
"memory": "400Mi"
})
)
)
.build()
)
```
### Using the Context Manager Builder API
For complex monitoring configurations, you can use the context manager-based builder:
```python
from cloudcoil.models.prometheus_operator.v1 import Prometheus
# Create a Prometheus instance using context managers
with Prometheus.new() as prometheus:
with prometheus.metadata() as metadata:
metadata.name("main")
with prometheus.spec() as spec:
spec.external_url("http://monitoring.my.systems/prometheus")
with spec.resources() as resources:
resources.requests({
"memory": "400Mi"
})
final_prometheus = prometheus.build()
```
### Mixing Builder Styles
You can mix different builder styles based on your needs:
```python
from cloudcoil.models.prometheus_operator.v1 import Alertmanager
from cloudcoil import apimachinery
# Create an Alertmanager using mixed styles
with Alertmanager.new() as alert_manager:
# Direct object initialization
alert_manager.metadata(apimachinery.ObjectMeta(
name="main"
))
# Fluent style for spec
alert_manager.spec(lambda s: s
.replicas(3)
.external_url("http://monitoring.my.systems/alertmanager")
.resources(lambda r: r
.requests({
"memory": "400Mi"
})
)
)
final_alert_manager = alert_manager.build()
```
## 📚 Documentation
For complete documentation, visit [cloudcoil.github.io/cloudcoil](https://cloudcoil.github.io/cloudcoil)
## 📜 License
Apache License, Version 2.0 - see [LICENSE](LICENSE)
Raw data
{
"_id": null,
"home_page": null,
"name": "cloudcoil.models.prometheus-operator",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Sambhav Kothari <sambhavs.email@gmail.com>",
"keywords": "async, cloud-native, cloudcoil, cloudcoil-models, kubernetes, prometheus-operator, pydantic, python",
"author": null,
"author_email": "Sambhav Kothari <sambhavs.email@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f5/c7/2895157c021fe08048098a921298aad551f014812058362f0deb678be018/cloudcoil_models_prometheus_operator-0.79.2.1.tar.gz",
"platform": null,
"description": "# cloudcoil-models-prometheus-operator\n\nVersioned prometheus-operator models for cloudcoil.\n> [!WARNING] \n> This repository is auto-generated from the [cloudcoil repository](https://github.com/cloudcoil/cloudcoil/tree/main/models/prometheus-operator). Please do not submit pull requests here. Instead, submit them to the main repository at https://github.com/cloudcoil/cloudcoil.\n\n\n## \ud83d\udd27 Installation\n\n> [!NOTE]\n> For versioning information and compatibility, see the [Versioning Guide](https://github.com/cloudcoil/cloudcoil/blob/main/VERSIONING.md).\n\nUsing [uv](https://github.com/astral-sh/uv) (recommended):\n\n```bash\n# Install with Prometheus Operator support\nuv add cloudcoil.models.prometheus_operator\n```\n\nUsing pip:\n\n```bash\npip install cloudcoil.models.prometheus_operator\n```\n\n## \ud83d\udca1 Examples\n\n### Using Prometheus Operator Models\n\n```python\nfrom cloudcoil import apimachinery\nimport cloudcoil.models.prometheus_operator.v1 as prometheus_operator\n\n# Create a Prometheus instance\nprometheus = prometheus_operator.Prometheus(\n metadata=apimachinery.ObjectMeta(name=\"main\"),\n spec=prometheus_operator.PrometheusSpec(\n external_url=\"http://monitoring.my.systems/prometheus\",\n resources=apimachinery.ResourceRequirements(\n requests={\n \"memory\": \"400Mi\"\n }\n )\n )\n).create()\n\n# Create an Alertmanager instance\nalert_manager = prometheus_operator.Alertmanager(\n metadata=apimachinery.ObjectMeta(name=\"main\"),\n spec=prometheus_operator.AlertmanagerSpec(\n replicas=3,\n external_url=\"http://monitoring.my.systems/alertmanager\",\n resources=apimachinery.ResourceRequirements(\n requests={\n \"memory\": \"400Mi\"\n }\n )\n )\n).create()\n\n# List Prometheus instances\nfor prom in prometheus_operator.Prometheus.list():\n print(f\"Found Prometheus: {prom.metadata.name}\")\n```\n\n### Using the Fluent Builder API\n\nCloudcoil provides a powerful fluent builder API for Prometheus Operator resources:\n\n```python\nfrom cloudcoil.models.prometheus_operator.v1 import Prometheus, Alertmanager\n\n# Create a Prometheus using the builder\nprometheus = (\n Prometheus.builder()\n .metadata(lambda m: m\n .name(\"main\")\n )\n .spec(lambda s: s\n .external_url(\"http://monitoring.my.systems/prometheus\")\n .resources(lambda r: r\n .requests({\n \"memory\": \"400Mi\"\n })\n )\n )\n .build()\n)\n\n# Create an Alertmanager using the builder\nalert_manager = (\n Alertmanager.builder()\n .metadata(lambda m: m\n .name(\"main\")\n )\n .spec(lambda s: s\n .replicas(3)\n .external_url(\"http://monitoring.my.systems/alertmanager\")\n .resources(lambda r: r\n .requests({\n \"memory\": \"400Mi\"\n })\n )\n )\n .build()\n)\n```\n\n### Using the Context Manager Builder API\n\nFor complex monitoring configurations, you can use the context manager-based builder:\n\n```python\nfrom cloudcoil.models.prometheus_operator.v1 import Prometheus\n\n# Create a Prometheus instance using context managers\nwith Prometheus.new() as prometheus:\n with prometheus.metadata() as metadata:\n metadata.name(\"main\")\n \n with prometheus.spec() as spec:\n spec.external_url(\"http://monitoring.my.systems/prometheus\")\n with spec.resources() as resources:\n resources.requests({\n \"memory\": \"400Mi\"\n })\n\nfinal_prometheus = prometheus.build()\n```\n\n### Mixing Builder Styles\n\nYou can mix different builder styles based on your needs:\n\n```python\nfrom cloudcoil.models.prometheus_operator.v1 import Alertmanager\nfrom cloudcoil import apimachinery\n\n# Create an Alertmanager using mixed styles\nwith Alertmanager.new() as alert_manager:\n # Direct object initialization\n alert_manager.metadata(apimachinery.ObjectMeta(\n name=\"main\"\n ))\n \n # Fluent style for spec\n alert_manager.spec(lambda s: s\n .replicas(3)\n .external_url(\"http://monitoring.my.systems/alertmanager\")\n .resources(lambda r: r\n .requests({\n \"memory\": \"400Mi\"\n })\n )\n )\n\nfinal_alert_manager = alert_manager.build()\n```\n\n## \ud83d\udcda Documentation\n\nFor complete documentation, visit [cloudcoil.github.io/cloudcoil](https://cloudcoil.github.io/cloudcoil)\n\n## \ud83d\udcdc License\n\nApache License, Version 2.0 - see [LICENSE](LICENSE)\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Versioned prometheus-operator models for cloudcoil",
"version": "0.79.2.1",
"project_urls": {
"Changelog": "https://github.com/cloudcoil/models-prometheus-operator/releases",
"Documentation": "https://cloudcoil.github.io/cloudcoil",
"Homepage": "https://github.com/cloudcoil/cloudcoil",
"Issues": "https://github.com/cloudcoil/models-prometheus-operator/issues",
"Repository": "https://github.com/cloudcoil/models-prometheus-operator"
},
"split_keywords": [
"async",
" cloud-native",
" cloudcoil",
" cloudcoil-models",
" kubernetes",
" prometheus-operator",
" pydantic",
" python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9704d0fe6a27e651eb71eb8e5c8ef3c8d1749c9430e855718a380ba4b16feb67",
"md5": "6cd2dbb5917fd63cf65964d4c20f301d",
"sha256": "54768f96258d4eca73367c59d1a5371ffcbbba427b88509b602340b0480f0c3c"
},
"downloads": -1,
"filename": "cloudcoil_models_prometheus_operator-0.79.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6cd2dbb5917fd63cf65964d4c20f301d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 389628,
"upload_time": "2025-02-10T04:26:00",
"upload_time_iso_8601": "2025-02-10T04:26:00.087912Z",
"url": "https://files.pythonhosted.org/packages/97/04/d0fe6a27e651eb71eb8e5c8ef3c8d1749c9430e855718a380ba4b16feb67/cloudcoil_models_prometheus_operator-0.79.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f5c72895157c021fe08048098a921298aad551f014812058362f0deb678be018",
"md5": "09a121e9b2f100a6061d0b0b54fadd95",
"sha256": "c1018ccb6b783cd943de8d9f837b1b1c3c31ec89a77f8b1c72955eef0e4dcb95"
},
"downloads": -1,
"filename": "cloudcoil_models_prometheus_operator-0.79.2.1.tar.gz",
"has_sig": false,
"md5_digest": "09a121e9b2f100a6061d0b0b54fadd95",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 445793,
"upload_time": "2025-02-10T04:26:02",
"upload_time_iso_8601": "2025-02-10T04:26:02.533566Z",
"url": "https://files.pythonhosted.org/packages/f5/c7/2895157c021fe08048098a921298aad551f014812058362f0deb678be018/cloudcoil_models_prometheus_operator-0.79.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-10 04:26:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cloudcoil",
"github_project": "models-prometheus-operator",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "cloudcoil.models.prometheus-operator"
}