/** * GoldenGate API * Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. * OpenAPI spec version: 20200407 * * * NOTE: This class is auto generated by OracleSDKGenerator. * Do not edit the class manually. * * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved. * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. */ import * as model from "../model"; /** * The information about a new Deployment. * */ export interface CreateDeploymentDetails { /** * An object's Display Name. * */ "displayName": string; /** * The Oracle license model that applies to a Deployment. * */ "licenseModel"?: model.LicenseModel; /** * Flag to allow to configure the 'Bring Your Own License' (BYOL) license type CPU limit. * If enabled, the exact number of CPUs must be provided via byolCpuCoreCountLimit. * */ "isByolCpuCoreCountLimitEnabled"?: boolean; /** * The maximum number of CPUs allowed with a 'Bring Your Own License' (BYOL) license type. * Any CPU usage above this limit is considered as License Included and billed. * Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues. */ "byolCpuCoreCountLimit"?: number; /** * Specifies whether the deployment is used in a production or development/testing environment. * */ "environmentType"?: model.EnvironmentType; /** * Metadata about this specific object. * */ "description"?: string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment being referenced. * */ "compartmentId": string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the deployment being referenced. * */ "sourceDeploymentId"?: string; /** * The availability domain of a placement. */ "availabilityDomain"?: string; /** * The fault domain of a placement. */ "faultDomain"?: string; /** * An array of local peers of deployment * */ "placements"?: Array; /** * A simple key-value pair that is applied without any predefined name, type, or scope. Exists * for cross-compatibility only. *

Example: {@code {\"bar-key\": \"value\"}} * */ "freeformTags"?: { [key: string]: string; }; /** * Tags defined for this resource. Each key is predefined and scoped to a namespace. *

Example: {@code {\"foo-namespace\": {\"bar-key\": \"value\"}}} * */ "definedTags"?: { [key: string]: { [key: string]: any; }; }; /** * Locks associated with this resource. */ "locks"?: Array; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the backup being referenced. * */ "deploymentBackupId"?: string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet of the deployment's private endpoint. * The subnet must be a private subnet. For backward compatibility, public subnets are allowed until May 31 2025, * after which the private subnet will be enforced. * */ "subnetId": string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a public subnet in the customer tenancy used to host the public load balancer of the deployment. *

Rules: * - Create: Mandatory when isPublic is true. Must be a public, regional subnet in the same VCN as subnetId. * - Update: * - For public deployments, this property must be present and is immutable once set (cannot be changed to a different subnet). * - Legacy exception: a public deployment created without this property may continue to be updated without providing it; once set, it becomes immutable. *

Validation: * - Must reference a public subnet. * - Must be a regional subnet. * - Must be in the same VCN as subnetId. * */ "loadBalancerSubnetId"?: string; /** * A three-label Fully Qualified Domain Name (FQDN) for a resource. * */ "fqdn"?: string; /** * An array of Network Security Group OCIDs used to define network access for either Deployments or Connections. * */ "nsgIds"?: Array; /** * True if this object is publicly available. * */ "isPublic"?: boolean; /** * The Minimum number of OCPUs to be made available for this Deployment. * Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues. */ "cpuCoreCount"?: number; /** * Indicates if auto scaling is enabled for the Deployment's CPU core count. * */ "isAutoScalingEnabled"?: boolean; /** * The type of deployment, which can be any one of the Allowed values. * NOTE: Use of the value 'OGG' is maintained for backward compatibility purposes. * Its use is discouraged in favor of 'DATABASE_ORACLE'. * */ "deploymentType"?: model.DeploymentType; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subscription with which resource needs to be associated with. */ "subscriptionId"?: string; /** * The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. * Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud * subscription id is provided. Otherwise the cluster placement group must not be provided. * */ "clusterPlacementGroupId"?: string; /** * Security attributes for this resource. Each key is predefined and scoped to a namespace. * For more information, see [Resource Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). *

Example: {@code {\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}} * */ "securityAttributes"?: { [key: string]: { [key: string]: any; }; }; /** * Indicates if disaster recovery is enabled for a deployment. * If not specified, disaster recovery is ENABLED when no clusterPlacementGroupId is provided, and DISABLED when a clusterPlacementGroupId is provided. * */ "disasterRecoveryStatus"?: model.DisasterRecoveryStatus; "oggData"?: model.CreateOggDeploymentDetails; "maintenanceWindow"?: model.CreateMaintenanceWindowDetails; "maintenanceConfiguration"?: model.CreateMaintenanceConfigurationDetails; "backupSchedule"?: model.CreateBackupScheduleDetails; } export declare namespace CreateDeploymentDetails { function getJsonObj(obj: CreateDeploymentDetails): object; function getDeserializedJsonObj(obj: CreateDeploymentDetails): object; }