1.9 KiB
class JobRequest(BaseRequest)
Base class for requests using the request / response pattern.
Subclasses must set the RESPONSE_CLASS attribute to a subclass of
the :class:BaseResponse which defines the fields that the response will
use. They must also define additional attributes as :class:Fields.
For example::
class TLSResponse(BaseResponse):
key = Field('Private key for the cert')
cert = Field('Public cert info')
class TLSRequest(BaseRequest):
RESPONSE_CLASS = TLSResponse
common_name = Field('Common Name (CN) for the cert to be created')
sans = Field('List of Subject Alternative Names (SANs)')
egress_subnets
Subnets over which network traffic to the requester will flow.
None
Returns a new dict with keys from iterable and values equal to value.
ingress_address
Address to use if a connection to the requester is required.
is_created
Whether this request was created by this side of the relation.
is_received
Whether this request was received by the other side of the relation.
def respond(self, success, reason=None)
Acknowledge this request, and indicate success or failure with an optional explanation.
def to_json(self)
Render the job request to JSON string which can be included directly into Prometheus config.
Keys will be sorted in the rendering to ensure a stable ordering for comparisons to detect changes.
class JobResponse(BaseResponse)
Base class for responses using the request / response pattern.
None
Returns a new dict with keys from iterable and values equal to value.