Class CreateDbSystemDetails
  Details required to create a DB System.
    Inheritance
    
    CreateDbSystemDetails
   
  
  
  Assembly: OCI.DotNetSDK.Mysql.dll
  Syntax
  
    public class CreateDbSystemDetails
   
  Properties
  
  AccessMode
  
  
  Declaration
  
    [JsonProperty(PropertyName = "accessMode")]
[JsonConverter(typeof(StringEnumConverter))]
public DbSystem.AccessModeEnum? AccessMode { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | DbSystem.AccessModeEnum? | The access mode indicating if the database access will be restricted only to administrators or not: 
UNRESTRICTED (default): the access to the database is not restricted;RESTRICTED: the access will be allowed only to users with specific privileges;
RESTRICTED will correspond to setting the MySQL system variable
offline_mode to ON. | 
    
  
  
  AdminPassword
  
  
  Declaration
  
    [JsonProperty(PropertyName = "adminPassword")]
public string AdminPassword { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The password for the administrative user. The password must be
between 8 and 32 characters long, and must contain at least 1
numeric character, 1 lowercase character, 1 uppercase character, and
1 special (nonalphanumeric) character. | 
    
  
  
  AdminUsername
  
  
  Declaration
  
    [JsonProperty(PropertyName = "adminUsername")]
public string AdminUsername { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The username for the administrative user. | 
    
  
  
  AvailabilityDomain
  
  
  Declaration
  
    [JsonProperty(PropertyName = "availabilityDomain")]
public string AvailabilityDomain { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The availability domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance.
In a failover scenario, the Read/Write endpoint is redirected to one of the other availability domains
and the MySQL instance in that domain is promoted to the primary instance.
This redirection does not affect the IP address of the DB System in any way.
 For a standalone DB System, this defines the availability domain in which the DB System is placed.
 | 
    
  
  
  BackupPolicy
  
  
  Declaration
  
    [JsonProperty(PropertyName = "backupPolicy")]
public CreateBackupPolicyDetails BackupPolicy { get; set; }
   
  Property Value
  
  
  CompartmentId
  
  
  Declaration
  
    [Required(ErrorMessage = "CompartmentId is required.")]
[JsonProperty(PropertyName = "compartmentId")]
public string CompartmentId { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The OCID of the compartment. | 
    
  
  
  
  
  ConfigurationId
  
  
  Declaration
  
    [JsonProperty(PropertyName = "configurationId")]
public string ConfigurationId { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The OCID of the Configuration to be used for this DB System. | 
    
  
  
  CrashRecovery
  
  
  Declaration
  
    [JsonProperty(PropertyName = "crashRecovery")]
[JsonConverter(typeof(StringEnumConverter))]
public CrashRecoveryStatus? CrashRecovery { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | CrashRecoveryStatus? | Whether to run the DB System with InnoDB Redo Logs and the Double Write Buffer enabled or disabled,
and whether to enable or disable syncing of the Binary Logs. | 
    
  
  
  
  
  
  Declaration
  
    [JsonProperty(PropertyName = "customerContacts")]
public List<CustomerContact> CustomerContacts { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | List<CustomerContact> | The list of customer email addresses that receive information from Oracle about the specified OCI DB System resource.
Oracle uses these email addresses to send notifications about planned and unplanned software maintenance updates, information about system hardware, and other information needed by administrators.
Up to 10 email addresses can be added to the customer contacts for a DB System. | 
    
  
  
  DataStorage
  
  
  Declaration
  
    [JsonProperty(PropertyName = "dataStorage")]
public DataStorageDetails DataStorage { get; set; }
   
  Property Value
  
  
  DataStorageSizeInGBs
  
  
  Declaration
  
    [JsonProperty(PropertyName = "dataStorageSizeInGBs")]
public int? DataStorageSizeInGBs { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | int? | Initial size of the data volume in GBs that will be created and attached.
Keep in mind that this only specifies the size of the database data volume,
the log volume for the database will be scaled appropriately with its shape. | 
    
  
  
  DatabaseManagement
  
  
  Declaration
  
    [JsonProperty(PropertyName = "databaseManagement")]
[JsonConverter(typeof(StringEnumConverter))]
public DatabaseManagementStatus? DatabaseManagement { get; set; }
   
  Property Value
  
  
  DatabaseMode
  
  
  Declaration
  
    [JsonProperty(PropertyName = "databaseMode")]
[JsonConverter(typeof(StringEnumConverter))]
public DbSystem.DatabaseModeEnum? DatabaseMode { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | DbSystem.DatabaseModeEnum? | The database mode indicating the types of statements that will be allowed to run in the DB system.
This mode will apply only to statements run by user connections. Replicated write statements will continue
to be allowed regardless of the DatabaseMode. 
READ_WRITE (default): allow running read and write statements on the DB system;READ_ONLY: only allow running read statements on the DB system. | 
    
  
  
  
  
  
  Declaration
  
    [JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | Dictionary<string, Dictionary<string, object>> | Usage of predefined tag keys. These predefined keys are scoped to namespaces.
Example: {"foo-namespace": {"bar-key": "value"}} | 
    
  
  
  DeletionPolicy
  
  
  Declaration
  
    [JsonProperty(PropertyName = "deletionPolicy")]
public CreateDeletionPolicyDetails DeletionPolicy { get; set; }
   
  Property Value
  
  
  Description
  
  
  Declaration
  
    [JsonProperty(PropertyName = "description")]
public string Description { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | User-provided data about the DB System. | 
    
  
  
  DisplayName
  
  
  Declaration
  
    [JsonProperty(PropertyName = "displayName")]
public string DisplayName { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The user-friendly name for the DB System. It does not have to be unique. | 
    
  
  
  EncryptData
  
  
  Declaration
  
    [JsonProperty(PropertyName = "encryptData")]
public EncryptDataDetails EncryptData { get; set; }
   
  Property Value
  
  
  FaultDomain
  
  
  Declaration
  
    [JsonProperty(PropertyName = "faultDomain")]
public string FaultDomain { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The fault domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance.
In a failover scenario, the Read/Write endpoint is redirected to one of the other fault domains
and the MySQL instance in that domain is promoted to the primary instance.
This redirection does not affect the IP address of the DB System in any way.
 For a standalone DB System, this defines the fault domain in which the DB System is placed.
 | 
    
  
  
  
  
  
  Declaration
  
    [JsonProperty(PropertyName = "freeformTags")]
public Dictionary<string, string> FreeformTags { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | Dictionary<string, string> | Simple key-value pair applied without any predefined name, type or scope. Exists for cross-compatibility only.
Example: {"bar-key": "value"} | 
    
  
  
  HostnameLabel
  
  
  Declaration
  
    [JsonProperty(PropertyName = "hostnameLabel")]
public string HostnameLabel { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The hostname for the primary endpoint of the DB System. Used for DNS.
The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN)
(for example, "dbsystem-1" in FQDN "dbsystem-1.subnet123.vcn1.oraclevcn.com").
 Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123.
 | 
    
  
  
  IpAddress
  
  
  Declaration
  
    [JsonProperty(PropertyName = "ipAddress")]
public string IpAddress { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The IP address the DB System is configured to listen on.
A private IP address of your choice to assign to the primary endpoint of the DB System.
Must be an available IP address within the subnet's CIDR. If you don't specify a value,
Oracle automatically assigns a private IP address from the subnet. This should be a
"dotted-quad" style IPv4 address. | 
    
  
  
  IsHighlyAvailable
  
  
  Declaration
  
    [JsonProperty(PropertyName = "isHighlyAvailable")]
public bool? IsHighlyAvailable { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | bool? | Specifies if the DB System is highly available.
When creating a DB System with High Availability, three instances
are created and placed according to your region- and
subnet-type. The secondaries are placed automatically in the other
two availability or fault domains.  You can choose the preferred
location of your primary instance, only.
 | 
    
  
  
  Maintenance
  
  
  Declaration
  
    [JsonProperty(PropertyName = "maintenance")]
public CreateMaintenanceDetails Maintenance { get; set; }
   
  Property Value
  
  
  MysqlVersion
  
  
  Declaration
  
    [JsonProperty(PropertyName = "mysqlVersion")]
public string MysqlVersion { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The specific MySQL version identifier. | 
    
  
  
  NsgIds
  
  
  Declaration
  
    [JsonProperty(PropertyName = "nsgIds")]
public List<string> NsgIds { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | List<string> | Network Security Group OCIDs used for the VNIC attachment. | 
    
  
  
  Port
  
  
  Declaration
  
    [JsonProperty(PropertyName = "port")]
public int? Port { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | int? | The port for primary endpoint of the DB System to listen on. | 
    
  
  
  PortX
  
  
  Declaration
  
    [JsonProperty(PropertyName = "portX")]
public int? PortX { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | int? | The TCP network port on which X Plugin listens for connections. This is the X Plugin equivalent of port. | 
    
  
  
  ReadEndpoint
  
  
  Declaration
  
    [JsonProperty(PropertyName = "readEndpoint")]
public CreateReadEndpointDetails ReadEndpoint { get; set; }
   
  Property Value
  
  
  Rest
  
  
  Declaration
  
    [JsonProperty(PropertyName = "rest")]
public CreateRestDetails Rest { get; set; }
   
  Property Value
  
  
  SecureConnections
  
  
  Declaration
  
    [JsonProperty(PropertyName = "secureConnections")]
public SecureConnectionDetails SecureConnections { get; set; }
   
  Property Value
  
  
  SecurityAttributes
  
  
  Declaration
  
    [JsonProperty(PropertyName = "securityAttributes")]
public Dictionary<string, Dictionary<string, object>> SecurityAttributes { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | Dictionary<string, Dictionary<string, object>> | Security Attributes for this resource. Each key is predefined and scoped to a namespace.
For more information, see ZPR Artifacts.
Example: {"Oracle-ZPR": {"MaxEgressCount": {"value": "42", "mode": "audit"}}} | 
    
  
  
  ShapeName
  
  
  Declaration
  
    [Required(ErrorMessage = "ShapeName is required.")]
[JsonProperty(PropertyName = "shapeName")]
public string ShapeName { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The name of the shape. The shape determines the resources allocated 
CPU cores and memory for VM shapes; CPU cores, memory and storage
for non-VM (or bare metal) shapes. To get a list of shapes, use the
{@link #listShapes(ListShapesRequest) listShapes} operation. | 
    
  
  
  
  
  Source
  
  
  Declaration
  
    [JsonProperty(PropertyName = "source")]
public CreateDbSystemSourceDetails Source { get; set; }
   
  Property Value
  
  
  SubnetId
  
  
  Declaration
  
    [Required(ErrorMessage = "SubnetId is required.")]
[JsonProperty(PropertyName = "subnetId")]
public string SubnetId { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | string | The OCID of the subnet the DB System is associated with. |