psm MySQLCS create-service

Create a MySQL Cloud Service instance.

Syntax

In the following syntax, line breaks have been added for clarity. Do not include them when entering the command.

psm MySQLCS create-service -c|--config-payload path-to-json-file 
    [-wc|--wait-until-complete true|false]
    [-of|--output-format json|html|short]

Parameters

Parameter Description

-c|--config-payload path-to-json-file

Specifies the path to a JSON file containing the instance-creation information necessary to create a MySQL Cloud Service instance. The format of this file is the same as the request body you provide when creating an instance using the REST API. .

–wc|--wait-until-complete true|false

(Optional) If set to true, the command behaves synchronously. That is, it does not return until the submitted job is complete. The following message is displayed until the job is complete:

Waiting for the job to complete... (it cannot be cancelled)

The default value is false.

-of|--output-format json|html|short

(Optional) Specifies the output format of the command’s response:

  • json—output is formatted as a JSON array.

  • html—output is formatted as HTML

  • short—output is formatted as a brief summary.

The default output format is the one you specified when using the psm setup command to configure the psm CLI.

JSON Payload

The JSON payload has the following syntax:

{
    "backupDestination":"backup-types",
    "cloudStorageContainer":"name-of-container",
    "cloudStorageUser":"storage-username",
    "cloudStoragePassword":"storage-user-password",
    "useHighPerformanceStorage":"true-or-false",
    "serviceName":"name-of-the-service",
    "serviceDescription":"description-of-the-service",
    "serviceLevel":"PAAS",
    "tags":[
			{
				"key":"required",
				"value":""
			}
	  ],
    "serviceVersion":"5.7",
    "vmPublicKeyText":"contents-of-public-ssh-key",
    "serviceLevel":"PAAS",
    "serviceVersion":"5.7",
    "vmUser":"opc",
    "ipNetwork":"name-of-IP-network",
    "subnet":"name-of-subnet",
    "region":"name-of-region",
    "availabilityDomain":"name-of-OCI-data-center",
    "enableNotification":"true-or-false",
    "notificationEmail":"email-address-for-notifications",
    "noRetry":"",
    "components": {
		 "mysql": {
			"shape":"oracle-compute-shape",
			"mysqlUserName":"mysql-server-username",
			"mysqlUserPassword":"mysql-server-user-password",
			"dbName":"name-of-database",
			"dbStorage":"size-of-database-gb",
			"mysqloptions":"comma-separated-options-list",
			"mysqlCharset":"name-of-charset",
			"mysqlCollation":"name-of-collation",
			"timezone":"name-of-timezone",
			"mysqlPort":"mysql-server-listening-port",
			"mysqlEMPort":"tomcat-listening-port",
			"enterpriseMonitor":"yes-or-no",
			"enterpriseMonitorManagerUser":"admin-username",
			"enterpriseMonitorManagerPassword":"admin-user-password",
			"enterpriseMonitorAgentUser":"agent-username",
			"enterpriseMonitorAgentPassword":"agent-user-password"
    }
  }
}
Parameter Description

serviceName

Name of MySQL Cloud Service instance.

The service name:

  • Must not exceed 50 characters.

  • Must start with a letter.

  • Must contain only letters, numbers, or hyphens.

  • Must not contain any other special characters.

  • Must be unique within the identity domain.

serviceLevel

Service level. The only currently supported value is:

  • "PAAS"—Production-level service. Supports MySQL Cloud Service instance creation and monitoring; backup and restoration; patching; and scaling. This is the default.

serviceDescription

Free-form text that provides additional information about the service instance.

serviceVersion

MySQL Cloud Service version. The only currently supported value is 5.7.

tags

Array. Enables tagging of the instance with keys or key:value pairs. For example:

"tags":[
			{
				"key":"Owner",
				"value":"John"
			},
			{
				"key":"Department",
				"value":"Quality"
			},
			{
				"key":"Server1",
			},
	  ],

useHighPerformanceStorage

Set this to true to use high performance storage. With this option the storage attached to nodes use SSDs (solid state drives) instead of HDDs (hard disk drives). Use this option for performance-critical workloads. An additional cost is associated with this type of storage.

vmPublicKeyText

File that contains the public key for the secure shell (SSH). This key will be used for authentication when connecting to the MySQL Cloud Service instance using an SSH client.

For example:
"VMsPublicKey" : "ssh-rsa AAA..."

You generate the SSH key using SSH key-generation tools or by using the SSH key-generation in the Create Service wizard.

vmUser

This must be set to opc, the default administration user for the instance.

enableNotification

Set to true to enable service-level notifications. If this is set, you must specify an email address in the notificationEmail field. Notifications related to the success or failure of service creation are sent to the email address.

notificationEmail

Email address to which service—level notifications are sent. enableNotification must be set to true .

ipNetwork

Specify the name of IP Network for your service. IP Networks can be created using Compute Console or REST API. To place your service in shared network, do not include this parameter in your payload.

region

Applicable only to accounts which support regions. Name of the region where the MySQL Cloud Service instance is to be provisioned.

(Not applicable in Oracle Cloud Infrastructure) A region name must be specified if you intend to use ipReservations or ipNetwork.

subnet

This parameter is relevant to Oracle Cloud Infrastructure, only. Specify the Oracle Cloud Identifier (OCID) of a subnet from a virtual cloud network (VCN) that you had created previously in Oracle Cloud Infrastructure.

For more information, see Prerequisites for Oracle Platform Services on Oracle Cloud Infrastructure in the Oracle Cloud Infrastructure documentation.

availabilityDomain

This attribute is available only on Oracle Cloud Infrastructure. It is required along with region and subnet.

Name of a data center location in the Oracle Cloud Infrastructure region that is specified in region. A region is a localized geographic area, composed of one or more availability domains (data centers).

The availability domain value format is an account-specific prefix followed by <region>-<ad>. For example, FQCn:US-ASHBURN-AD1 where FQCn is the account-specific prefix.

See Regions and Availability Domains in the Oracle Cloud Infrastructure Services documentation.

noRetry

If the first attempt to create an instance fails, the system automatically tries again. If the first attempt fails, and this parameter is set to true, no further attempts are made to create the instance. Default value is false.

backupDestination

A string containing the backup configuration for the service instance:

  • BOTH—Configure backups to local storage on the service instance and to an Oracle Storage Cloud container; corresponding to the Cloud Storage Only backup destination in the Create Service wizard.

  • OSS—Configure backups to an Oracle Storage Cloud container; corresponding to the, Cloud Storage and Local Storage backup destination in the Create Service wizard.

  • NONE—(Default) No backup is configured.

cloudStorageContainer

A string containing the Oracle Storage Cloud container for backups. This string has the form:

instance-id_domain/container

where instance is the name of the Oracle Storage Cloud Service instance, id_domain is the name of the identity domain, and container is the name of the container.

Include this parameter only if the backupDestination is "BOTH".

cloudStorageUser

The user name of an Oracle Cloud user with read/write access to the specified cloudStorageContainer.

Include this parameter only if the backupDestination is "BOTH".

cloudStoragePassword

A string containing the password of the specified cloudStorageUser.

Include this parameter only if the backupDestination is "BOTH".

cloudStorageContainerAutoGenerate

Whether to create the storage container, or not. This creates the storage container, if an existing container, using the details defined, does not exist. Boolean value, true or false.

shape

A string containing the Oracle Compute Cloud shape for the service instance:

  • oc3 — 1 OCPU with 7.5 GB RAM

  • oc4 — 2 OCPUs with 15 GB RAM

  • oc5 — 4 OCPUs with 30 GB RAM

  • oc6 — 8 OCPUs with 60 GB RAM

  • oc7 — 16 OCPUs with 120 GB RAM

  • oc1m — 1 OCPU with 15 GB RAM

  • oc2m — 2 OCPUs with 30 GB RAM

  • oc3m — 4 OCPUs with 60 GB RAM

  • oc4m — 8 OCPUs with 120 GB RAM

  • oc5m — 16 OCPUs with 240 GB RAM

mysqlUserName

The MySQL Server user name. The default value is root.

mysqlUserPassword

The MySQL Server user’s password.

dbName

The name of the database to be created in MySQL Server.

dbstorage

Size of the database in gigabytes.

mysqloptions

MySQL server options and variables. Comma-separated key-value pairs, only. For example option1=value,option2=value. See MySQL Server System Variables for more information.

Note:

It is not possible to use MySQL server options which are currently available as MySQL component parameters, as listed in this document. That is, options such as mysqlPort.

mysqlCharset

The character set for MySQL Server. For a full list of supported character sets, see Supported Character Sets.

mysqlCollation

MySQL server collation. See Supported Character Sets and Collationsfor the complete list of collations per character set.

timezone

MySQL server time zone. The default is SYSTEM, which sets the server time zone to the compute node’s time zone. This parameter accepts named timezones in the format:Europe/Paris, US/Eastern, or Asia/Shanghai. For a complete list of timezones, see MySQL Cloud Service Supported Timezones.

mysqlPort

The port the MySQL server listens on. The default is 3306.

mysqlEMPort

The port the MySQL Enterprise Monitor’s application server, Apache Tomcat, listens on. By default, this is 18443. By default, an access rule is created for MySQL Enterprise Monitor, called ora_p2admin_em. You must enable this access rule to access MySQL Enterprise Monitor.

Note:

If you define a port other than 18443, you must create a new access rule, and configure it to use the required port. The new access rule must use the same configuration as ora_p2admin_em, but with the new port instead of 18443.

enterpriseMonitor

Defines whether MySQL Enterprise Monitor is provisioned on the MySQL Cloud Service instance. The following values are possible:

  • No—(Default) MySQL Enterprise Monitor is not provisioned. If these parameters are not defined, No is assumed, and MySQL Enterprise Monitor is not installed.

  • Yes—MySQL Enterprise Monitor is provisioned. If you select this, you must populate the following values.

Note:

Values are case sensitive.

enterpriseMonitorManagerUser

The name of the MySQL Enterprise Monitor’s Manager user. This is the user who configures the installation, adds users, manages the MySQL Enterprise Service Manager, and so on.

enterpriseMonitorManagerPassword

The password for the Manager User.

The password you enter:

  • Must be 8 to 30 characters in length.

  • Must contain at least one lowercase letter

  • Must contain at least one uppercase letter

  • Must contain at least one number

  • Must contain at least one of these symbols: _ (underscore), # (hash sign), or $ (dollar sign).

enterpriseMonitorAgentUser

The name of the Agent user.

Note:

No agent installations are provided at this time. It is currently only possible to install the MySQL Enterprise Service Manager, which can monitor any MySQL instances, local or remote, using a built-in agent.. If you want to monitor MySQL instances installed on other MySQL Cloud Service instances, you can configure the MySQL Service Manager to monitor them, but cannot monitor a remote host’s operating system, file system, or network interfaces. Although agent installations are not currently provided, it is mandatory to define an Agent User and Password to properly configure the MySQL Enterprise Monitor. These parameters can be changed later.

enterpriseMonitorAgentPassword

The password for the Agent User.

The password you enter:

  • Must be 8 to 30 characters in length.

  • Must contain at least one lowercase letter

  • Must contain at least one uppercase letter

  • Must contain at least one number

  • Must contain at least one of these symbols: _ (underscore), # (hash sign), or $ (dollar sign).

ipReservations

Specify the IP Addresses reserved for the service.

Examples

The following example creates a instance as specified by information provided in the create_MySQL57.json file.

$ psm MySQLCS create-service --config-payload create_MySQL57.json
"Accepted"
Job ID : 553993

Note:

You can track the progress of this command using the operation-status command.

The following shows an example of the payload file:

{     
	"serviceName":"MySQL57Service",     
	"serviceDescription":"mysql cloud service payload",    
	"tags":[
			{
				"key":"Owner",
				"value":"John"
			},
			{
				"key":"Department",
				"value":"Quality"
			},
			{
				"key":"Server1",
			},
	  ], 
	"serviceVersion":"5.7",     
	"serviceLevel":"PAAS",
	"vmPublicKeyText":"ssh-rsa AAA...",     # key truncated for readability
	"enableNotification":"true",
	"notificationEmail":"service.owner@oracle.com",
	"backupDestination":"BOTH",       
	"cloudStorageContainer":"Storage-Storage/MySQLProvisioning",     
	"cloudStorageUser":"StorageUser",     
	"cloudStoragePassword":"PasswordStorage",     
	"components":{         
		"mysql":{             
			"shape":"oc1m",             
			"mysqlUserName":"root",             
			"mysqlUserPassword":"adminPa55word$",
			"dbStorage":"25",
			"dbName":"mydatabase",
			"mysqlCharset":"utf8mb4",
			"mysqlPort":"3206"
			"mysqlEMPort":"18443",
			"mysqloptions":"max-allowed-packet=16M,max-user-connections=500"
			"timezone":"US/Eastern",
			"enterpriseMonitor":"Yes",
			"enterpriseMonitorManagerUser":"admin",
			"enterpriseMonitorManagerPassword":"MEMAdm1nPassword#",
			"enterpriseMonitorAgentUser":"agent",
			"enterpriseMonitorAgentPassword":"MEMAg3ntPassword#"
         }
     }
 }

The fields listed in the payload correspond to the fields in the Create MySQL Cloud Service Instance page.

Note:

If you do not intend to use a backup destination, specify "backupDestination":“NONE” and do not define the cloud storage parameters.