Skip to main content

Service Broker API

A Python package for building Service Brokers.

Following CF Service Broker API and Open Service Broker API

Installation

This package is available for Python 3.5+.

pip3 install openbrokerapi

Getting started

from openbrokerapi import service_broker
from openbrokerapi.api import *
from flask import Flask

# Implement a service broker by overriding methods of ServiceBroker
class CustomServiceBroker(service_broker.ServiceBroker):
    def catalog(self) -> List[Service]:
        pass

    def provision(self, instance_id: str, service_details: ProvisionDetails, async_allowed: bool) -> ProvisionedServiceSpec:
        pass

    def unbind(self, instance_id: str, binding_id: str, details: UnbindDetails):
        pass

    def update(self, instance_id: str, details: UpdateDetails, async_allowed: bool) -> UpdateServiceSpec:
        pass

    def bind(self, instance_id: str, binding_id: str, details: BindDetails) -> Binding:
        pass

    def deprovision(self, instance_id: str, details: DeprovisionDetails, async_allowed: bool) -> DeprovisionServiceSpec:
        pass

# Simpely start the server
serve(CustomServiceBroker(), BrokerCredentials("", ""))

# or register blueprint to your own FlaskApp instance
app = Flask(__name__)
openbroker_bp = get_blueprint(CustomServiceBroker(), BrokerCredentials("",""))
app.register_blueprint(openbroker_bp)
app.run("0.0.0.0")

Error Types

Brokerapi defines a handful of error types in errors.py for some common error cases that your service broker may encounter. Raise these from your ServiceBroker methods where appropriate, and brokerapi will do the “right thing” (™), and give Cloud Foundry an appropriate status code, as per the Service Broker API specification.

Planned

  • Support async tasks

  • Support VolumeMounts

Not Planned To Support

  • Provisioning

    • Response: 200 - If service already exists, a 409-Conflict will be returned

  • Bind

    • Response: 200 - If binding already exists, a 409-Conflict will be returned

Bugs or Issues

Please report bugs, issues or feature requests to Github Issues

Release files for openbrokerapi 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openbrokerapi 0.1
File Size Uploaded
openbrokerapi-0.1.tar.gz 7.8 kB Details

Release files / openbrokerapi-0.1.tar.gz

Download URL openbrokerapi-0.1.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ca7ebcde3fc77f0a4439fae6f4fc3d78c36d071b882aae5ae556e0a36983acb7
BLAKE2b-256 checksum
How to use checksums
4f7a8c010c864aa25413500a35bf1713d1e7541bca0219b3308c5d382db92b92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

4.7.3

2 release files

4.7.1

2 release files

4.7.0

2 release files

4.6.0

2 release files

4.5.8

2 release files

4.5.7

2 release files

4.5.6

2 release files

4.5.5

2 release files

4.5.1

2 release files

4.5.0

2 release files

4.4.1

2 release files

4.4.0

2 release files

4.3.1

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.2

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.2.6

2 release files

3.2.5

1 release file

3.2.4

1 release file

3.2.3

1 release file

3.2.2

1 release file

3.2.1

1 release file

3.2.0

1 release file

3.1.1

1 release file

3.1.0

1 release file

2.0.0

1 release file

1.0.0

1 release file

0.5.0

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page