[][src]Module krill::commons::api

Data structures for the API, shared between client and server.

Modules

rrdp

Data objects used in the (RRDP) repository. I.e. the publish, update, and withdraw elements, as well as the notification, snapshot and delta file definitions.

Structs

ActiveInfo
AddChildRequest
AddedObject

An object that is newly added to the repository.

AsNumber
Base64

This type contains a base64 encoded structure. The publication protocol deals with objects in their base64 encoded form.

CaRepoDetails

This struct contains the API details for the configure Repository server, and objects published there, for a CA.

CertAuthHistory
CertAuthInfo

This type represents the details of a CertAuth that need to be exposed through the API/CLI/UI

CertAuthInit
CertAuthList
CertAuthSummary
CertifiedKeyInfo

Describes a Key that is certified. I.e. it received an incoming certificate and has at least a MFT and CRL.

ChildCaInfo

This type represents information about a child CA that is shared through the API.

CurrentObject
CurrentObjectSetInfo

This type describes the complete current set of objects for CA key.

CurrentObjects
EntitlementClass
Entitlements

This structure is what is called the "Resource Class List Response" in section 3.3.2 of RFC6492.

ErrorResponse

Defines an error response. Codes are unique and documented here: https://rpki.readthedocs.io/en/latest/krill/pub/api.html#error-responses

Handle
HexEncodedHash

This type contains a hex encoded sha256 hash.

IdCertPem

A PEM encoded IdCert and sha256 of the encoding, for easier

InvalidHandle
Ipv4Prefix
Ipv6Prefix
IssuanceRequest

This type reflects the content of a Certificate Issuance Request defined in section 3.4.1 of RFC6492.

IssuanceResponse

A Certificate Issuance Response equivalent to the one defined in section 3.4.2 of RFC6492.

IssuedCert

This type defines an issued certificate, including its publication point and resource set. Intended for use in list responses defined in RFC6492, section 3.3.2.

Link

Defines a link element to include as part of a links array in a Json response.

ListElement

This type represents a single object that is published at a publication server.

ListReply

This type represents the list reply as described in https://tools.ietf.org/html/rfc8181#section-2.3

ObjectName

This type is used to represent the (deterministic) file names for RPKI repository objects.

ObjectsDelta

This type defines the changes to be published under a resource class, so it includes the base 'ca_repo' and all objects that are added, updated, or withdrawn.

ParentCaReq

This type defines all parent ca details needed to add a parent to a CA

ParentInfo
PendingInfo
PendingKeyInfo
PublicationDeltaInfo

This type describes a set up of objects published for a CA key.

Publish

Type representing a json equivalent to the publish element, that does not update any existing object, defined in: https://tools.ietf.org/html/rfc8181#section-3.1

PublishDelta

This type represents a multi element query as described in https://tools.ietf.org/html/rfc8181#section-3.7

PublishDeltaBuilder
PublisherClientRequest

This type defines request for a new Publisher client, i.e. the proxy that is used by an embedded CA to do the actual publication.

PublisherDetails

This type defines the publisher details for: /api/v1/publishers/{handle}

PublisherList

This type represents a list of (all) current publishers to show in the API

PublisherSummary

Defines a summary of publisher information to be used in the publisher list.

RcvdCert

Contains a CA Certificate that has been issued to this CA, for some key.

ReplacedObject
RepoInfo
RequestResourceLimit

The scope of resources that a child CA wants to have certified. By default there are no limits, i.e. all the child wants all resources the parent is willing to give. Only if some values are specified for certain resource types will the scope be limited for that type only. Note that asking for more than you are entitled to as a child, will anger a parent. In this case the IssuanceRequest will be rejected.

ResourceClassInfo
ResourceClassName

This type represents a resource class name, as used in RFC6492. The protocol allows for any arbitrary set of utf8 characters to be used as the name, though in practice names can be expected to be short and plain ascii or even numbers.

ResourceSet

This type defines a set of Internet Number Resources.

Revocation

A Crl Revocation. Note that this type differs from CrlEntry in that it implements De/Serialize and Eq/PartialEq

RevocationRequest

This type represents a Certificate Revocation Request as defined in section 3.5.1 of RFC6492.

RevocationResponse

This type represents a Certificate Revocation Response as defined in section 3.5.2 of RFC6492.

Revocations
RevocationsDelta
RoaDefinition

This type defines the definition of a Route Origin Authorization (ROA), i.e. the originating asn, IPv4 or IPv6 prefix, and optionally a max length.

RoaDefinitionUpdates

This type defines a delta of Route Authorizations, i.e. additions or removals of authorizations of tuples of (Prefix, Max Length, ASN) that ultimately are put into ROAs by a CA, in as far as the CA has the required prefixes on its resource certificates.

RollNewInfo
RollOldInfo
RollPendingInfo
SigningCert
TaCertDetails
Token
TrustAnchorLocator
Update

Type representing a json equivalent to the publish element, that updates an existing object: https://tools.ietf.org/html/rfc8181#section-3.2

UpdateChildRequest
UpdatedObject

A new object that replaces an earlier version by this name.

Withdraw

Type representing a json equivalent to a withdraw element that removes an object from the repository: https://tools.ietf.org/html/rfc8181#section-3.3

WithdrawnObject

An object that is to be withdrawn from the repository.

Enums

AuthorizationFmtError
CertAuthPubMode
ChildAuthRequest
CurrentRepoState
ErrorCode

This type defines externally visible errors that the API may return.

ParentCaContact

This type contains the information needed to contact the parent ca for resource provisioning requests (RFC6492).

ParentKindInfo
ProvisioningRequest
ProvisioningResponse
PublishReply

This type is used to wrap API responses for publication requests.

PublishRequest

This type provides a convenience wrapper to contain the request found inside of a validated RFC8181 request.

RepositoryContact
RepositoryUpdate
ResSetErr
ResourceClassKeysInfo

Contains the current key status for a resource class.

TypedPrefix

Type Definitions

ChildHandle
ParentHandle
PublisherHandle
RepositoryHandle
RevokedObject