| /** |
| * @license Apache-2.0 |
| * |
| * Copyright 2022 ocket8888 |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /** |
| * Represents a CDN as required by the Traffic Ops API in requests. |
| */ |
| export interface RequestCDN { |
| /** Whether or not DNSSEC is enabled within this CDN. */ |
| dnssecEnabled: boolean; |
| /** The Top-Level Domain within which the CDN operates. */ |
| domainName: string; |
| /** The name of the CDN. */ |
| name: string; |
| /** |
| * A TTL (Time To Live) value, in seconds, that, if set, overrides all set |
| * TTL values on Delivery Services in this CDN. |
| */ |
| ttlOverride: number | null; |
| } |
| |
| /** |
| * Represents a CDN as returned by the Traffic Ops API in responses. |
| */ |
| export interface ResponseCDN { |
| dnssecEnabled: boolean; |
| domainName: string; |
| readonly id: number; |
| readonly lastUpdated: Date; |
| name: string; |
| ttlOverride?: number; |
| } |
| |
| /** Represents a CDN. */ |
| export type CDN = RequestCDN | ResponseCDN; |
| |
| /** |
| * Represents an association between a CDN's DNS domain and the Profile of the |
| * Traffic Router(s) that service it. |
| */ |
| export interface CDNDomain { |
| domainName: string; |
| profileId: number; |
| parameterId: number; |
| 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; |