import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Connection resource in Oracle Cloud Infrastructure Database Migration service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/database-migration/latest/Connection * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/databasemigration * * Create a Database Connection resource that contains the details to connect to either a Source or Target Database * in the migration. * * Note: If you wish to use the DMS deprecated API version /20210929 it is necessary to pin the Terraform Provider version to v5.47.0. Newer Terraform provider versions will not support the DMS deprecated API version /20210929 * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testConnection = new oci.databasemigration.Connection("test_connection", { * compartmentId: compartmentId, * connectionType: connectionConnectionType, * displayName: connectionDisplayName, * keyId: testKey.id, * password: connectionPassword, * technologyType: connectionTechnologyType, * username: connectionUsername, * vaultId: testVault.id, * additionalAttributes: [{ * name: connectionAdditionalAttributesName, * value: connectionAdditionalAttributesValue, * }], * connectionString: connectionConnectionString, * databaseId: testDatabase.id, * databaseName: testDatabase.name, * dbSystemId: testDbSystem.id, * definedTags: { * "foo-namespace.bar-key": "value", * }, * description: connectionDescription, * freeformTags: connectionFreeformTags, * host: connectionHost, * nsgIds: connectionNsgIds, * port: Number(connectionPort), * replicationPassword: connectionReplicationPassword, * replicationUsername: connectionReplicationUsername, * securityProtocol: connectionSecurityProtocol, * sshHost: connectionSshHost, * sshKey: connectionSshKey, * sshSudoLocation: connectionSshSudoLocation, * sshUser: connectionSshUser, * sslCa: connectionSslCa, * sslCert: connectionSslCert, * sslCrl: connectionSslCrl, * sslKey: connectionSslKey, * sslMode: connectionSslMode, * subnetId: testSubnet.id, * wallet: connectionWallet, * }); * ``` * * ## Import * * Connections can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:DatabaseMigration/connection:Connection test_connection "id" * ``` */ export declare class Connection extends pulumi.CustomResource { /** * Get an existing Connection resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ConnectionState, opts?: pulumi.CustomResourceOptions): Connection; /** * Returns true if the given object is an instance of Connection. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Connection; /** * (Updatable) An array of name-value pair attribute entries. */ readonly additionalAttributes: pulumi.Output; /** * (Updatable) The OCID of the compartment. */ readonly compartmentId: pulumi.Output; /** * (Updatable) Connect descriptor or Easy Connect Naming method used to connect to a database. */ readonly connectionString: pulumi.Output; /** * (Updatable) Defines the type of connection. For example, ORACLE. */ readonly connectionType: pulumi.Output; /** * (Updatable) The OCID of the database being referenced. */ readonly databaseId: pulumi.Output; /** * (Updatable) The name of the database being referenced. */ readonly databaseName: pulumi.Output; /** * (Updatable) The OCID of the database system being referenced. */ readonly dbSystemId: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) A user-friendly description. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ readonly description: pulumi.Output; /** * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ readonly displayName: pulumi.Output; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"} */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) The IP Address of the host. */ readonly host: pulumi.Output; /** * List of ingress IP addresses from where to connect to this connection's privateIp. */ readonly ingressIps: pulumi.Output; /** * (Updatable) The OCID of the key used in cryptographic operations. */ readonly keyId: pulumi.Output; /** * The message describing the current state of the connection's lifecycle in detail. For example, can be used to provide actionable information for a connection in a Failed state. */ readonly lifecycleDetails: pulumi.Output; /** * (Updatable) An array of Network Security Group OCIDs used to define network access for Connections. */ readonly nsgIds: pulumi.Output; /** * (Updatable) The password (credential) used when creating or updating this resource. */ readonly password: pulumi.Output; /** * (Updatable) The port to be used for the connection. */ readonly port: pulumi.Output; /** * The OCID of the resource being referenced. */ readonly privateEndpointId: pulumi.Output; /** * (Updatable) The password (credential) used when creating or updating this resource. */ readonly replicationPassword: pulumi.Output; /** * (Updatable) The username (credential) used when creating or updating this resource. */ readonly replicationUsername: pulumi.Output; /** * The OCID of the resource being referenced. */ readonly secretId: pulumi.Output; /** * (Updatable) Security Type for MySQL. */ readonly securityProtocol: pulumi.Output; /** * (Updatable) Name of the host the SSH key is valid for. */ readonly sshHost: pulumi.Output; /** * (Updatable) Private SSH key string. */ readonly sshKey: pulumi.Output; /** * (Updatable) Sudo location */ readonly sshSudoLocation: pulumi.Output; /** * (Updatable) The username (credential) used when creating or updating this resource. */ readonly sshUser: pulumi.Output; /** * (Updatable) Database Certificate - The base64 encoded content of mysql.pem file containing the server public key (for 1 and 2-way SSL). */ readonly sslCa: pulumi.Output; /** * (Updatable) Client Certificate - The base64 encoded content of client-cert.pem file containing the client public key (for 2-way SSL). */ readonly sslCert: pulumi.Output; /** * (Updatable) Certificates revoked by certificate authorities (CA). Server certificate must not be on this list (for 1 and 2-way SSL). Note: This is an optional and that too only applicable if TLS/MTLS option is selected. */ readonly sslCrl: pulumi.Output; /** * (Updatable) Client Key - The client-key.pem containing the client private key (for 2-way SSL). */ readonly sslKey: pulumi.Output; /** * (Updatable) SSL modes for MySQL. */ readonly sslMode: pulumi.Output; /** * The Connection's current lifecycle state. */ readonly state: pulumi.Output; /** * (Updatable) Oracle Cloud Infrastructure resource ID. */ readonly subnetId: pulumi.Output; /** * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ readonly systemTags: pulumi.Output<{ [key: string]: string; }>; /** * The type of MySQL source or target connection. Example: OCI_MYSQL represents Oracle Cloud Infrastructure MySQL HeatWave Database Service */ readonly technologyType: pulumi.Output; /** * The time when this resource was created. An RFC3339 formatted datetime string such as `2016-08-25T21:10:29.600Z`. */ readonly timeCreated: pulumi.Output; /** * The time when this resource was updated. An RFC3339 formatted datetime string such as `2016-08-25T21:10:29.600Z`. */ readonly timeUpdated: pulumi.Output; /** * (Updatable) The username (credential) used when creating or updating this resource. */ readonly username: pulumi.Output; /** * (Updatable) Oracle Cloud Infrastructure resource ID. */ readonly vaultId: pulumi.Output; /** * (Updatable) The wallet contents used to make connections to a database. This attribute is expected to be base64 encoded. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly wallet: pulumi.Output; /** * Create a Connection resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ConnectionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Connection resources. */ export interface ConnectionState { /** * (Updatable) An array of name-value pair attribute entries. */ additionalAttributes?: pulumi.Input[] | undefined>; /** * (Updatable) The OCID of the compartment. */ compartmentId?: pulumi.Input; /** * (Updatable) Connect descriptor or Easy Connect Naming method used to connect to a database. */ connectionString?: pulumi.Input; /** * (Updatable) Defines the type of connection. For example, ORACLE. */ connectionType?: pulumi.Input; /** * (Updatable) The OCID of the database being referenced. */ databaseId?: pulumi.Input; /** * (Updatable) The name of the database being referenced. */ databaseName?: pulumi.Input; /** * (Updatable) The OCID of the database system being referenced. */ dbSystemId?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A user-friendly description. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ description?: pulumi.Input; /** * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ displayName?: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"} */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The IP Address of the host. */ host?: pulumi.Input; /** * List of ingress IP addresses from where to connect to this connection's privateIp. */ ingressIps?: pulumi.Input[] | undefined>; /** * (Updatable) The OCID of the key used in cryptographic operations. */ keyId?: pulumi.Input; /** * The message describing the current state of the connection's lifecycle in detail. For example, can be used to provide actionable information for a connection in a Failed state. */ lifecycleDetails?: pulumi.Input; /** * (Updatable) An array of Network Security Group OCIDs used to define network access for Connections. */ nsgIds?: pulumi.Input[] | undefined>; /** * (Updatable) The password (credential) used when creating or updating this resource. */ password?: pulumi.Input; /** * (Updatable) The port to be used for the connection. */ port?: pulumi.Input; /** * The OCID of the resource being referenced. */ privateEndpointId?: pulumi.Input; /** * (Updatable) The password (credential) used when creating or updating this resource. */ replicationPassword?: pulumi.Input; /** * (Updatable) The username (credential) used when creating or updating this resource. */ replicationUsername?: pulumi.Input; /** * The OCID of the resource being referenced. */ secretId?: pulumi.Input; /** * (Updatable) Security Type for MySQL. */ securityProtocol?: pulumi.Input; /** * (Updatable) Name of the host the SSH key is valid for. */ sshHost?: pulumi.Input; /** * (Updatable) Private SSH key string. */ sshKey?: pulumi.Input; /** * (Updatable) Sudo location */ sshSudoLocation?: pulumi.Input; /** * (Updatable) The username (credential) used when creating or updating this resource. */ sshUser?: pulumi.Input; /** * (Updatable) Database Certificate - The base64 encoded content of mysql.pem file containing the server public key (for 1 and 2-way SSL). */ sslCa?: pulumi.Input; /** * (Updatable) Client Certificate - The base64 encoded content of client-cert.pem file containing the client public key (for 2-way SSL). */ sslCert?: pulumi.Input; /** * (Updatable) Certificates revoked by certificate authorities (CA). Server certificate must not be on this list (for 1 and 2-way SSL). Note: This is an optional and that too only applicable if TLS/MTLS option is selected. */ sslCrl?: pulumi.Input; /** * (Updatable) Client Key - The client-key.pem containing the client private key (for 2-way SSL). */ sslKey?: pulumi.Input; /** * (Updatable) SSL modes for MySQL. */ sslMode?: pulumi.Input; /** * The Connection's current lifecycle state. */ state?: pulumi.Input; /** * (Updatable) Oracle Cloud Infrastructure resource ID. */ subnetId?: pulumi.Input; /** * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ systemTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The type of MySQL source or target connection. Example: OCI_MYSQL represents Oracle Cloud Infrastructure MySQL HeatWave Database Service */ technologyType?: pulumi.Input; /** * The time when this resource was created. An RFC3339 formatted datetime string such as `2016-08-25T21:10:29.600Z`. */ timeCreated?: pulumi.Input; /** * The time when this resource was updated. An RFC3339 formatted datetime string such as `2016-08-25T21:10:29.600Z`. */ timeUpdated?: pulumi.Input; /** * (Updatable) The username (credential) used when creating or updating this resource. */ username?: pulumi.Input; /** * (Updatable) Oracle Cloud Infrastructure resource ID. */ vaultId?: pulumi.Input; /** * (Updatable) The wallet contents used to make connections to a database. This attribute is expected to be base64 encoded. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ wallet?: pulumi.Input; } /** * The set of arguments for constructing a Connection resource. */ export interface ConnectionArgs { /** * (Updatable) An array of name-value pair attribute entries. */ additionalAttributes?: pulumi.Input[] | undefined>; /** * (Updatable) The OCID of the compartment. */ compartmentId: pulumi.Input; /** * (Updatable) Connect descriptor or Easy Connect Naming method used to connect to a database. */ connectionString?: pulumi.Input; /** * (Updatable) Defines the type of connection. For example, ORACLE. */ connectionType: pulumi.Input; /** * (Updatable) The OCID of the database being referenced. */ databaseId?: pulumi.Input; /** * (Updatable) The name of the database being referenced. */ databaseName?: pulumi.Input; /** * (Updatable) The OCID of the database system being referenced. */ dbSystemId?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A user-friendly description. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ description?: pulumi.Input; /** * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ displayName: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"} */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The IP Address of the host. */ host?: pulumi.Input; /** * (Updatable) The OCID of the key used in cryptographic operations. */ keyId: pulumi.Input; /** * (Updatable) An array of Network Security Group OCIDs used to define network access for Connections. */ nsgIds?: pulumi.Input[] | undefined>; /** * (Updatable) The password (credential) used when creating or updating this resource. */ password: pulumi.Input; /** * (Updatable) The port to be used for the connection. */ port?: pulumi.Input; /** * (Updatable) The password (credential) used when creating or updating this resource. */ replicationPassword?: pulumi.Input; /** * (Updatable) The username (credential) used when creating or updating this resource. */ replicationUsername?: pulumi.Input; /** * (Updatable) Security Type for MySQL. */ securityProtocol?: pulumi.Input; /** * (Updatable) Name of the host the SSH key is valid for. */ sshHost?: pulumi.Input; /** * (Updatable) Private SSH key string. */ sshKey?: pulumi.Input; /** * (Updatable) Sudo location */ sshSudoLocation?: pulumi.Input; /** * (Updatable) The username (credential) used when creating or updating this resource. */ sshUser?: pulumi.Input; /** * (Updatable) Database Certificate - The base64 encoded content of mysql.pem file containing the server public key (for 1 and 2-way SSL). */ sslCa?: pulumi.Input; /** * (Updatable) Client Certificate - The base64 encoded content of client-cert.pem file containing the client public key (for 2-way SSL). */ sslCert?: pulumi.Input; /** * (Updatable) Certificates revoked by certificate authorities (CA). Server certificate must not be on this list (for 1 and 2-way SSL). Note: This is an optional and that too only applicable if TLS/MTLS option is selected. */ sslCrl?: pulumi.Input; /** * (Updatable) Client Key - The client-key.pem containing the client private key (for 2-way SSL). */ sslKey?: pulumi.Input; /** * (Updatable) SSL modes for MySQL. */ sslMode?: pulumi.Input; /** * (Updatable) Oracle Cloud Infrastructure resource ID. */ subnetId?: pulumi.Input; /** * The type of MySQL source or target connection. Example: OCI_MYSQL represents Oracle Cloud Infrastructure MySQL HeatWave Database Service */ technologyType: pulumi.Input; /** * (Updatable) The username (credential) used when creating or updating this resource. */ username: pulumi.Input; /** * (Updatable) Oracle Cloud Infrastructure resource ID. */ vaultId: pulumi.Input; /** * (Updatable) The wallet contents used to make connections to a database. This attribute is expected to be base64 encoded. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ wallet?: pulumi.Input; } //# sourceMappingURL=connection.d.ts.map