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;

Reply via email to