# `class ImportRequest(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:`Field`s.
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.
## `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.
# `class ImportResponse(BaseResponse)`
Base class for responses using the request / response pattern.
## `name`
The name given when the import was requested.