Skip to main content

Versioned prometheus-operator models for cloudcoil

Project description

cloudcoil-models-prometheus-operator

Versioned prometheus-operator models for cloudcoil.

[!WARNING]
This repository is auto-generated from the cloudcoil repository. 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.

Using uv (recommended):

# Install with Prometheus Operator support
uv add cloudcoil.models.prometheus_operator

Using pip:

pip install cloudcoil.models.prometheus_operator

💡 Examples

Using Prometheus Operator Models

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:

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:

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:

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

📜 License

Apache License, Version 2.0 - see LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudcoil_models_prometheus_operator-0.79.2.1.tar.gz (445.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file cloudcoil_models_prometheus_operator-0.79.2.1.tar.gz.

File metadata

File hashes

Hashes for cloudcoil_models_prometheus_operator-0.79.2.1.tar.gz
Algorithm Hash digest
SHA256 c1018ccb6b783cd943de8d9f837b1b1c3c31ec89a77f8b1c72955eef0e4dcb95
MD5 09a121e9b2f100a6061d0b0b54fadd95
BLAKE2b-256 f5c72895157c021fe08048098a921298aad551f014812058362f0deb678be018

See more details on using hashes here.

Provenance

The following attestation bundles were made for cloudcoil_models_prometheus_operator-0.79.2.1.tar.gz:

Publisher: pypi_publish.yml on cloudcoil/models-prometheus-operator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cloudcoil_models_prometheus_operator-0.79.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cloudcoil_models_prometheus_operator-0.79.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 54768f96258d4eca73367c59d1a5371ffcbbba427b88509b602340b0480f0c3c
MD5 6cd2dbb5917fd63cf65964d4c20f301d
BLAKE2b-256 9704d0fe6a27e651eb71eb8e5c8ef3c8d1749c9430e855718a380ba4b16feb67

See more details on using hashes here.

Provenance

The following attestation bundles were made for cloudcoil_models_prometheus_operator-0.79.2.1-py3-none-any.whl:

Publisher: pypi_publish.yml on cloudcoil/models-prometheus-operator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page