Versioned knative-eventing models for cloudcoil
Project description
cloudcoil-models-knative-eventing
Versioned knative-eventing 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 Knative Eventing support
uv add cloudcoil.models.knative-eventing
Using pip:
pip install cloudcoil.models.knative-eventing
💡 Examples
Using Knative Eventing Models
from cloudcoil import apimachinery
import cloudcoil.models.knative_eventing.eventing.v1 as eventing
# Create a Broker
broker = eventing.Broker(
metadata=apimachinery.ObjectMeta(name="default"),
spec=eventing.BrokerSpec(
config=eventing.Config(
kind="ConfigMap",
name="kafka-broker-config"
)
)
).create()
# Create a Trigger
trigger = eventing.Trigger(
metadata=apimachinery.ObjectMeta(name="my-service-trigger"),
spec=eventing.TriggerSpec(
broker="default",
filter=eventing.Filter(
attributes={
"type": "dev.knative.samples.helloworld"
}
),
subscriber=eventing.Subscriber(
ref=eventing.Ref(
api_version="serving.knative.dev/v1",
kind="Service",
name="event-display"
)
)
)
).create()
# List Brokers
for b in eventing.Broker.list():
print(f"Found Broker: {b.metadata.name}")
Using the Fluent Builder API
Cloudcoil provides a powerful fluent builder API for Knative Eventing resources:
from cloudcoil.models.knative_eventing.eventing.v1 import Broker, Trigger
# Create a Broker using the builder
broker = (
Broker.builder()
.metadata(lambda m: m
.name("default")
)
.spec(lambda s: s
.config(lambda c: c
.kind("ConfigMap")
.name("kafka-broker-config")
)
)
.build()
)
# Create a Trigger using the builder
trigger = (
Trigger.builder()
.metadata(lambda m: m
.name("my-service-trigger")
)
.spec(lambda s: s
.broker("default")
.filter(lambda f: f
.attributes({
"type": "dev.knative.samples.helloworld"
})
)
.subscriber(lambda sub: sub
.ref(lambda r: r
.api_version("serving.knative.dev/v1")
.kind("Service")
.name("event-display")
)
)
)
.build()
)
Using the Context Manager Builder API
For complex eventing configurations, you can use the context manager-based builder:
from cloudcoil.models.knative_eventing.eventing.v1 import Trigger
# Create a Trigger using context managers
with Trigger.new() as trigger:
with trigger.metadata() as metadata:
metadata.name("my-service-trigger")
with trigger.spec() as spec:
spec.broker("default")
with spec.filter() as filter_:
filter_.attributes({
"type": "dev.knative.samples.helloworld"
})
with spec.subscriber() as subscriber:
with subscriber.ref() as ref:
ref.api_version("serving.knative.dev/v1")
ref.kind("Service")
ref.name("event-display")
final_trigger = trigger.build()
Mixing Builder Styles
You can mix different builder styles based on your needs:
from cloudcoil.models.knative_eventing.eventing.v1 import Trigger
from cloudcoil import apimachinery
# Create a Trigger using mixed styles
with Trigger.new() as trigger:
# Direct object initialization
trigger.metadata(apimachinery.ObjectMeta(
name="my-service-trigger"
))
with trigger.spec() as spec:
# Fluent style for spec
spec.broken("default")
spec.filter(lambda f: f
.attributes({
"type": "dev.knative.samples.helloworld"
})
)
spec.subscriber(lambda sub: sub
.ref(lambda r: r
.api_version("serving.knative.dev/v1")
.kind("Service")
.name("event-display")
)
)
final_trigger = trigger.build()
📚 Documentation
For complete documentation, visit cloudcoil.github.io/cloudcoil
📜 License
Apache License, Version 2.0 - see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloudcoil_models_knative_eventing-1.17.1.0.tar.gz.
File metadata
- Download URL: cloudcoil_models_knative_eventing-1.17.1.0.tar.gz
- Upload date:
- Size: 131.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de0e35d4dac2a3fd065df1cfb6464d1b358c23ac6da0e48687e2cf6098afd176
|
|
| MD5 |
3abfde1924f34eaad07b3328b874823f
|
|
| BLAKE2b-256 |
c93a90e8b4453030d41cdf513ed66c3cd720766337699f70b5a95a391c27f236
|
Provenance
The following attestation bundles were made for cloudcoil_models_knative_eventing-1.17.1.0.tar.gz:
Publisher:
pypi_publish.yml on cloudcoil/models-knative-eventing
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cloudcoil_models_knative_eventing-1.17.1.0.tar.gz -
Subject digest:
de0e35d4dac2a3fd065df1cfb6464d1b358c23ac6da0e48687e2cf6098afd176 - Sigstore transparency entry: 166831542
- Sigstore integration time:
-
Permalink:
cloudcoil/models-knative-eventing@20834b991587c8843bf73c30c11f83c724a54516 -
Branch / Tag:
refs/tags/1.17.1.0 - Owner: https://github.com/cloudcoil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi_publish.yml@20834b991587c8843bf73c30c11f83c724a54516 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cloudcoil_models_knative_eventing-1.17.1.0-py3-none-any.whl.
File metadata
- Download URL: cloudcoil_models_knative_eventing-1.17.1.0-py3-none-any.whl
- Upload date:
- Size: 85.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e60fe53e328e0b2f2206693230a6d60ceb3bd704b25a88f9f85f9a7a8a4121b7
|
|
| MD5 |
771b550276d477c66491078cacedd01c
|
|
| BLAKE2b-256 |
201482d1e4cd5dea8ff441897d25729b74f75432a1f8b55e3cf22a5948eeacf8
|
Provenance
The following attestation bundles were made for cloudcoil_models_knative_eventing-1.17.1.0-py3-none-any.whl:
Publisher:
pypi_publish.yml on cloudcoil/models-knative-eventing
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cloudcoil_models_knative_eventing-1.17.1.0-py3-none-any.whl -
Subject digest:
e60fe53e328e0b2f2206693230a6d60ceb3bd704b25a88f9f85f9a7a8a4121b7 - Sigstore transparency entry: 166831543
- Sigstore integration time:
-
Permalink:
cloudcoil/models-knative-eventing@20834b991587c8843bf73c30c11f83c724a54516 -
Branch / Tag:
refs/tags/1.17.1.0 - Owner: https://github.com/cloudcoil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi_publish.yml@20834b991587c8843bf73c30c11f83c724a54516 -
Trigger Event:
release
-
Statement type: