Creates a new campaign.
The new campaign ID to create.
The public-facing mirror domain for the campaign.
The human-readable description for the campaign.
The secret used for encrypting session data.
The URL path that triggers session upgrade.
The name of the cookie used to track authorized sessions.
The TTL for an authorized session in milliseconds.
The TTL for a not-yet-authorized session in milliseconds.
The TTL for a message in milliseconds.
Deletes the campaign by its ID.
The campaign ID to delete.
The lock secret obtained from lock.
Lists all campaigns.
The campaigns are ordered by creation time (oldest first).
The array of campaign models.
Lists all full campaigns.
The campaigns are ordered by creation time (oldest first).
The array of full campaign models.
Acquires a distributed lock for the campaign.
This lock is required for any mutating operations.
The campaign ID to lock.
The unique lock secret that must be used for subsequent operations.
Reads the campaign by its ID.
The campaign ID to read.
The campaign model, or null if the campaign is not found.
Reads the full campaign by its ID.
The campaign ID to read.
The full campaign model, or null if the campaign is not found.
Updates the campaign specific fields.
The campaign ID to update.
The new human-readable description for the campaign.
The new TTL for an authorized session in milliseconds.
The new TTL for a not-yet-authorized session in milliseconds.
The new TTL for a message in milliseconds.
The lock secret obtained from lock.
Defines the public contract for a campaign repository.
A campaign is the top-level container that groups all related proxies, targets, redirectors, lures, sessions and messages.