This is an automated email from the ASF dual-hosted git repository. ocket8888 pushed a commit to branch 4.x in repository https://gitbox.apache.org/repos/asf/trafficcontrol-trafficops-types.git
commit d2a7918c763450179f273d5b57ae496a34b15dd6 Author: ocket8888 <[email protected]> AuthorDate: Wed Nov 23 18:40:44 2022 -0700 Add CDN Locks --- src/cdn.ts | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/cdn.ts b/src/cdn.ts index 1ef9204..14595a3 100644 --- a/src/cdn.ts +++ b/src/cdn.ts @@ -53,3 +53,51 @@ export interface CDNDomain { profileName: string; profileDescription: string; } + +/** + * Represents a CDN Lock as returned by the Traffic Ops API in responses. + */ +export interface ResponseCDNLock { + /** The username for which the lock exists. */ + readonly userName: string; + /** The name of the CDN for which the lock exists. */ + readonly cdn: string; + /** + * The message or reason that the user specified while acquiring the lock. + */ + readonly message: string | null; + /** Whether or not this is a soft (shared) lock. */ + readonly soft: boolean; + /** + * An array of the usernames that the creator of the lock has shared their + * lock with. + */ + readonly sharedUserNames: readonly string[] | null; + /** Time that this lock was last updated(created). */ + readonly lastUpdated: Date; +} + +/** + * Represents a CDN Lock as required by Traffic Ops in requests. + */ +export interface RequestCDNLock { + /** The name of the CDN for which the lock exists. */ + cdn: string; + /** + * The message or reason that the user specified while acquiring the lock. + */ + message?: string | null | undefined; + /** Whether or not this is a soft (shared) lock. */ + soft: boolean; + /** + * An array of the usernames that the creator of the lock has shared their + * lock with. + */ + sharedUserNames?: string[] | null | undefined; +} + +/** + * Represents a lock on a CDN that prevents other uses from making changes to + * resources scoped within it. + */ +export type CDNLock = RequestCDNLock | ResponseCDNLock;
