import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Sql Endpoint resource in Oracle Cloud Infrastructure Data Flow service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/data-flow/latest/SqlEndpoint
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/dataflow
 *
 * ## Note
 *
 * Resource Discovery is not supported for this resource.
 *
 * Create a new Sql Endpoint.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSqlEndpoint = new oci.dataflow.SqlEndpoint("test_sql_endpoint", {
 *     compartmentId: compartmentId,
 *     displayName: sqlEndpointDisplayName,
 *     driverShape: sqlEndpointDriverShape,
 *     executorShape: sqlEndpointExecutorShape,
 *     lakeId: testLake.id,
 *     maxExecutorCount: Number(sqlEndpointMaxExecutorCount),
 *     metastoreId: testMetastore.id,
 *     minExecutorCount: Number(sqlEndpointMinExecutorCount),
 *     networkConfiguration: {
 *         networkType: sqlEndpointNetworkConfigurationNetworkType,
 *         accessControlRules: [{
 *             ipNotation: sqlEndpointNetworkConfigurationAccessControlRulesIpNotation,
 *             value: sqlEndpointNetworkConfigurationAccessControlRulesValue,
 *             vcnIps: sqlEndpointNetworkConfigurationAccessControlRulesVcnIps,
 *         }],
 *         hostNamePrefix: sqlEndpointNetworkConfigurationHostNamePrefix,
 *         nsgIds: sqlEndpointNetworkConfigurationNsgIds,
 *         privateEndpointIp: sqlEndpointNetworkConfigurationPrivateEndpointIp,
 *         publicEndpointIp: sqlEndpointNetworkConfigurationPublicEndpointIp,
 *         subnetId: testSubnet.id,
 *         vcnId: testVcn.id,
 *     },
 *     sqlEndpointVersion: sqlEndpointSqlEndpointVersion,
 *     warehouseBucketUri: sqlEndpointWarehouseBucketUri,
 *     definedTags: {
 *         "Operations.CostCenter": "42",
 *     },
 *     description: sqlEndpointDescription,
 *     driverShapeConfig: {
 *         memoryInGbs: sqlEndpointDriverShapeConfigMemoryInGbs,
 *         ocpus: sqlEndpointDriverShapeConfigOcpus,
 *     },
 *     executorShapeConfig: {
 *         memoryInGbs: sqlEndpointExecutorShapeConfigMemoryInGbs,
 *         ocpus: sqlEndpointExecutorShapeConfigOcpus,
 *     },
 *     freeformTags: {
 *         Department: "Finance",
 *     },
 *     logCompartmentId: testCompartment.id,
 *     logDisplayName: sqlEndpointLogDisplayName,
 *     logGroupId: testLogGroup.id,
 *     logRetentionDuration: Number(sqlEndpointLogRetentionDuration),
 *     sparkAdvancedConfigurations: sqlEndpointSparkAdvancedConfigurations,
 * });
 * ```
 *
 * ## Import
 *
 * SqlEndpoints can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:DataFlow/sqlEndpoint:SqlEndpoint test_sql_endpoint "id"
 * ```
 */
export declare class SqlEndpoint extends pulumi.CustomResource {
    /**
     * Get an existing SqlEndpoint 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<pulumi.ID>, state?: SqlEndpointState, opts?: pulumi.CustomResourceOptions): SqlEndpoint;
    /**
     * Returns true if the given object is an instance of SqlEndpoint.  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 SqlEndpoint;
    /**
     * (Updatable) The identifier of the compartment used with the SQL Endpoint.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * (Updatable) The description of CreateSQLEndpointDetails.
     */
    readonly description: pulumi.Output<string>;
    /**
     * (Updatable) The SQL Endpoint name, which can be changed.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * The shape of the SQL Endpoint driver instance.
     */
    readonly driverShape: pulumi.Output<string>;
    /**
     * This is used to configure the shape of the driver or executor if a flexible shape is used.
     */
    readonly driverShapeConfig: pulumi.Output<outputs.DataFlow.SqlEndpointDriverShapeConfig>;
    /**
     * The shape of the SQL Endpoint worker instance.
     */
    readonly executorShape: pulumi.Output<string>;
    /**
     * This is used to configure the shape of the driver or executor if a flexible shape is used.
     */
    readonly executorShapeConfig: pulumi.Output<outputs.DataFlow.SqlEndpointExecutorShapeConfig>;
    /**
     * (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](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The JDBC URL field. For example, jdbc:spark://{serviceFQDN}:443/default;SparkServerType=DFI
     */
    readonly jdbcEndpointUrl: pulumi.Output<string>;
    /**
     * Oracle Cloud Infrastructure lake OCID
     */
    readonly lakeId: pulumi.Output<string>;
    /**
     * (Updatable) The identifier of the log group compartment used with the SQL Endpoint.
     */
    readonly logCompartmentId: pulumi.Output<string>;
    /**
     * (Updatable) The friendly name of the log object used with the SQL Endpoint.
     */
    readonly logDisplayName: pulumi.Output<string>;
    /**
     * (Updatable) The identifier of the log group used with the SQL Endpoint.
     */
    readonly logGroupId: pulumi.Output<string>;
    /**
     * (Updatable) Log retention duration in days
     */
    readonly logRetentionDuration: pulumi.Output<number>;
    /**
     * (Updatable) The maximum number of executors.
     */
    readonly maxExecutorCount: pulumi.Output<number>;
    /**
     * Metastore OCID
     */
    readonly metastoreId: pulumi.Output<string>;
    /**
     * (Updatable) The minimum number of executors.
     */
    readonly minExecutorCount: pulumi.Output<number>;
    /**
     * The network configuration of a SQL Endpoint.
     */
    readonly networkConfiguration: pulumi.Output<outputs.DataFlow.SqlEndpointNetworkConfiguration>;
    /**
     * (Updatable) The Spark configuration passed to the running process. See https://spark.apache.org/docs/latest/configuration.html#available-properties. Example: { "spark.app.name" : "My App Name", "spark.shuffle.io.maxRetries" : "4" } Note: Not all Spark properties are permitted to be set.  Attempting to set a property that is not allowed to be overwritten will cause a 400 status to be returned.
     */
    readonly sparkAdvancedConfigurations: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The version of the SQL Endpoint.
     */
    readonly sqlEndpointVersion: pulumi.Output<string>;
    /**
     * (Updatable) The target state for the Sql Endpoint. Could be set to `ACTIVE` or `INACTIVE`.
     *
     *
     * ** 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 state: pulumi.Output<string>;
    /**
     * A message describing the reason why the resource is in it's current state. Helps bubble up errors in state changes. For example, it can be used to provide actionable information for a resource in the Failed state.
     */
    readonly stateMessage: pulumi.Output<string>;
    /**
     * The system tags associated with this resource, if any. The system tags are set by Oracle cloud infrastructure services. Each key is predefined and scoped to namespaces. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{orcl-cloud: {free-tier-retain: true}}`
     */
    readonly systemTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The time the Sql Endpoint was created. An RFC3339 formatted datetime string.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The time the Sql Endpoint was updated. An RFC3339 formatted datetime string.
     */
    readonly timeUpdated: pulumi.Output<string>;
    /**
     * The warehouse bucket URI. It is a Oracle Cloud Infrastructure Object Storage bucket URI as defined here https://docs.oracle.com/en/cloud/paas/atp-cloud/atpud/object-storage-uris.html
     */
    readonly warehouseBucketUri: pulumi.Output<string>;
    /**
     * Create a SqlEndpoint 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: SqlEndpointArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering SqlEndpoint resources.
 */
export interface SqlEndpointState {
    /**
     * (Updatable) The identifier of the compartment used with the SQL Endpoint.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) The description of CreateSQLEndpointDetails.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The SQL Endpoint name, which can be changed.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * The shape of the SQL Endpoint driver instance.
     */
    driverShape?: pulumi.Input<string | undefined>;
    /**
     * This is used to configure the shape of the driver or executor if a flexible shape is used.
     */
    driverShapeConfig?: pulumi.Input<inputs.DataFlow.SqlEndpointDriverShapeConfig | undefined>;
    /**
     * The shape of the SQL Endpoint worker instance.
     */
    executorShape?: pulumi.Input<string | undefined>;
    /**
     * This is used to configure the shape of the driver or executor if a flexible shape is used.
     */
    executorShapeConfig?: pulumi.Input<inputs.DataFlow.SqlEndpointExecutorShapeConfig | undefined>;
    /**
     * (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](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The JDBC URL field. For example, jdbc:spark://{serviceFQDN}:443/default;SparkServerType=DFI
     */
    jdbcEndpointUrl?: pulumi.Input<string | undefined>;
    /**
     * Oracle Cloud Infrastructure lake OCID
     */
    lakeId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The identifier of the log group compartment used with the SQL Endpoint.
     */
    logCompartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The friendly name of the log object used with the SQL Endpoint.
     */
    logDisplayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The identifier of the log group used with the SQL Endpoint.
     */
    logGroupId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Log retention duration in days
     */
    logRetentionDuration?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) The maximum number of executors.
     */
    maxExecutorCount?: pulumi.Input<number | undefined>;
    /**
     * Metastore OCID
     */
    metastoreId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The minimum number of executors.
     */
    minExecutorCount?: pulumi.Input<number | undefined>;
    /**
     * The network configuration of a SQL Endpoint.
     */
    networkConfiguration?: pulumi.Input<inputs.DataFlow.SqlEndpointNetworkConfiguration | undefined>;
    /**
     * (Updatable) The Spark configuration passed to the running process. See https://spark.apache.org/docs/latest/configuration.html#available-properties. Example: { "spark.app.name" : "My App Name", "spark.shuffle.io.maxRetries" : "4" } Note: Not all Spark properties are permitted to be set.  Attempting to set a property that is not allowed to be overwritten will cause a 400 status to be returned.
     */
    sparkAdvancedConfigurations?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The version of the SQL Endpoint.
     */
    sqlEndpointVersion?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The target state for the Sql Endpoint. Could be set to `ACTIVE` or `INACTIVE`.
     *
     *
     * ** 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
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * A message describing the reason why the resource is in it's current state. Helps bubble up errors in state changes. For example, it can be used to provide actionable information for a resource in the Failed state.
     */
    stateMessage?: pulumi.Input<string | undefined>;
    /**
     * The system tags associated with this resource, if any. The system tags are set by Oracle cloud infrastructure services. Each key is predefined and scoped to namespaces. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{orcl-cloud: {free-tier-retain: true}}`
     */
    systemTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The time the Sql Endpoint was created. An RFC3339 formatted datetime string.
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The time the Sql Endpoint was updated. An RFC3339 formatted datetime string.
     */
    timeUpdated?: pulumi.Input<string | undefined>;
    /**
     * The warehouse bucket URI. It is a Oracle Cloud Infrastructure Object Storage bucket URI as defined here https://docs.oracle.com/en/cloud/paas/atp-cloud/atpud/object-storage-uris.html
     */
    warehouseBucketUri?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a SqlEndpoint resource.
 */
export interface SqlEndpointArgs {
    /**
     * (Updatable) The identifier of the compartment used with the SQL Endpoint.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) The description of CreateSQLEndpointDetails.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The SQL Endpoint name, which can be changed.
     */
    displayName: pulumi.Input<string>;
    /**
     * The shape of the SQL Endpoint driver instance.
     */
    driverShape: pulumi.Input<string>;
    /**
     * This is used to configure the shape of the driver or executor if a flexible shape is used.
     */
    driverShapeConfig?: pulumi.Input<inputs.DataFlow.SqlEndpointDriverShapeConfig | undefined>;
    /**
     * The shape of the SQL Endpoint worker instance.
     */
    executorShape: pulumi.Input<string>;
    /**
     * This is used to configure the shape of the driver or executor if a flexible shape is used.
     */
    executorShapeConfig?: pulumi.Input<inputs.DataFlow.SqlEndpointExecutorShapeConfig | undefined>;
    /**
     * (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](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) The identifier of the log group compartment used with the SQL Endpoint.
     */
    logCompartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The friendly name of the log object used with the SQL Endpoint.
     */
    logDisplayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The identifier of the log group used with the SQL Endpoint.
     */
    logGroupId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Log retention duration in days
     */
    logRetentionDuration?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) The maximum number of executors.
     */
    maxExecutorCount: pulumi.Input<number>;
    /**
     * Metastore OCID
     */
    metastoreId: pulumi.Input<string>;
    /**
     * (Updatable) The minimum number of executors.
     */
    minExecutorCount: pulumi.Input<number>;
    /**
     * The network configuration of a SQL Endpoint.
     */
    networkConfiguration: pulumi.Input<inputs.DataFlow.SqlEndpointNetworkConfiguration>;
    /**
     * (Updatable) The Spark configuration passed to the running process. See https://spark.apache.org/docs/latest/configuration.html#available-properties. Example: { "spark.app.name" : "My App Name", "spark.shuffle.io.maxRetries" : "4" } Note: Not all Spark properties are permitted to be set.  Attempting to set a property that is not allowed to be overwritten will cause a 400 status to be returned.
     */
    sparkAdvancedConfigurations?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The version of the SQL Endpoint.
     */
    sqlEndpointVersion: pulumi.Input<string>;
    /**
     * (Updatable) The target state for the Sql Endpoint. Could be set to `ACTIVE` or `INACTIVE`.
     *
     *
     * ** 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
     */
    state?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=sqlEndpoint.d.ts.map