import * as pulumi from "@pulumi/pulumi";
/**
 * Manages a Stream Analytics Output to Microsoft SQL Server Database.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const exampleResourceGroup = new azure.core.ResourceGroup("example", {
 *     name: "rg-example",
 *     location: "West Europe",
 * });
 * const example = azure.streamanalytics.getJobOutput({
 *     name: "example-job",
 *     resourceGroupName: exampleResourceGroup.name,
 * });
 * const exampleServer = new azure.mssql.Server("example", {
 *     name: "example-server",
 *     resourceGroupName: exampleResourceGroup.name,
 *     location: exampleResourceGroup.location,
 *     version: "12.0",
 *     administratorLogin: "dbadmin",
 *     administratorLoginPassword: "example-password",
 * });
 * const exampleDatabase = new azure.mssql.Database("example", {
 *     name: "exampledb",
 *     serverId: test.id,
 * });
 * const exampleOutputMssql = new azure.streamanalytics.OutputMssql("example", {
 *     name: "example-output-sql",
 *     streamAnalyticsJobName: example.apply(example => example.name),
 *     resourceGroupName: example.apply(example => example.resourceGroupName),
 *     server: exampleServer.fullyQualifiedDomainName,
 *     user: exampleServer.administratorLogin,
 *     password: exampleServer.administratorLoginPassword,
 *     database: exampleDatabase.name,
 *     table: "ExampleTable",
 * });
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This resource uses the following Azure API Providers:
 *
 * * `Microsoft.StreamAnalytics` - 2021-10-01-preview
 *
 * ## Import
 *
 * Stream Analytics Outputs to Microsoft SQL Server Database can be imported using the `resource id`, e.g.
 *
 * ```sh
 * $ pulumi import azure:streamanalytics/outputMssql:OutputMssql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/outputs/output1
 * ```
 */
export declare class OutputMssql extends pulumi.CustomResource {
    /**
     * Get an existing OutputMssql 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?: OutputMssqlState, opts?: pulumi.CustomResourceOptions): OutputMssql;
    /**
     * Returns true if the given object is an instance of OutputMssql.  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 OutputMssql;
    /**
     * The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.
     */
    readonly authenticationMode: pulumi.Output<string | undefined>;
    /**
     * The MS SQL database name where the reference table exists. Changing this forces a new resource to be created.
     */
    readonly database: pulumi.Output<string>;
    /**
     * The max batch count to write to the SQL Database. Defaults to `10000`. Possible values are between `1` and `1073741824`.
     */
    readonly maxBatchCount: pulumi.Output<number | undefined>;
    /**
     * The max writer count for the SQL Database. Defaults to `1`. Possible values are `0` which bases the writer count on the query partition and `1` which corresponds to a single writer.
     */
    readonly maxWriterCount: pulumi.Output<number | undefined>;
    /**
     * The name of the Stream Output. Changing this forces a new resource to be created.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Password used together with username, to login to the Microsoft SQL Server. Required if `authenticationMode` is `ConnectionString`.
     */
    readonly password: pulumi.Output<string | undefined>;
    /**
     * The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.
     */
    readonly resourceGroupName: pulumi.Output<string>;
    /**
     * The SQL server url. Changing this forces a new resource to be created.
     */
    readonly server: pulumi.Output<string>;
    /**
     * The name of the Stream Analytics Job. Changing this forces a new resource to be created.
     */
    readonly streamAnalyticsJobName: pulumi.Output<string>;
    /**
     * Table in the database that the output points to. Changing this forces a new resource to be created.
     */
    readonly table: pulumi.Output<string>;
    /**
     * Username used to login to the Microsoft SQL Server. Changing this forces a new resource to be created. Required if `authenticationMode` is `ConnectionString`.
     */
    readonly user: pulumi.Output<string | undefined>;
    /**
     * Create a OutputMssql 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: OutputMssqlArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering OutputMssql resources.
 */
export interface OutputMssqlState {
    /**
     * The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.
     */
    authenticationMode?: pulumi.Input<string | undefined>;
    /**
     * The MS SQL database name where the reference table exists. Changing this forces a new resource to be created.
     */
    database?: pulumi.Input<string | undefined>;
    /**
     * The max batch count to write to the SQL Database. Defaults to `10000`. Possible values are between `1` and `1073741824`.
     */
    maxBatchCount?: pulumi.Input<number | undefined>;
    /**
     * The max writer count for the SQL Database. Defaults to `1`. Possible values are `0` which bases the writer count on the query partition and `1` which corresponds to a single writer.
     */
    maxWriterCount?: pulumi.Input<number | undefined>;
    /**
     * The name of the Stream Output. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Password used together with username, to login to the Microsoft SQL Server. Required if `authenticationMode` is `ConnectionString`.
     */
    password?: pulumi.Input<string | undefined>;
    /**
     * The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.
     */
    resourceGroupName?: pulumi.Input<string | undefined>;
    /**
     * The SQL server url. Changing this forces a new resource to be created.
     */
    server?: pulumi.Input<string | undefined>;
    /**
     * The name of the Stream Analytics Job. Changing this forces a new resource to be created.
     */
    streamAnalyticsJobName?: pulumi.Input<string | undefined>;
    /**
     * Table in the database that the output points to. Changing this forces a new resource to be created.
     */
    table?: pulumi.Input<string | undefined>;
    /**
     * Username used to login to the Microsoft SQL Server. Changing this forces a new resource to be created. Required if `authenticationMode` is `ConnectionString`.
     */
    user?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a OutputMssql resource.
 */
export interface OutputMssqlArgs {
    /**
     * The authentication mode for the Stream Output. Possible values are `Msi` and `ConnectionString`. Defaults to `ConnectionString`.
     */
    authenticationMode?: pulumi.Input<string | undefined>;
    /**
     * The MS SQL database name where the reference table exists. Changing this forces a new resource to be created.
     */
    database: pulumi.Input<string>;
    /**
     * The max batch count to write to the SQL Database. Defaults to `10000`. Possible values are between `1` and `1073741824`.
     */
    maxBatchCount?: pulumi.Input<number | undefined>;
    /**
     * The max writer count for the SQL Database. Defaults to `1`. Possible values are `0` which bases the writer count on the query partition and `1` which corresponds to a single writer.
     */
    maxWriterCount?: pulumi.Input<number | undefined>;
    /**
     * The name of the Stream Output. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Password used together with username, to login to the Microsoft SQL Server. Required if `authenticationMode` is `ConnectionString`.
     */
    password?: pulumi.Input<string | undefined>;
    /**
     * The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * The SQL server url. Changing this forces a new resource to be created.
     */
    server: pulumi.Input<string>;
    /**
     * The name of the Stream Analytics Job. Changing this forces a new resource to be created.
     */
    streamAnalyticsJobName: pulumi.Input<string>;
    /**
     * Table in the database that the output points to. Changing this forces a new resource to be created.
     */
    table: pulumi.Input<string>;
    /**
     * Username used to login to the Microsoft SQL Server. Changing this forces a new resource to be created. Required if `authenticationMode` is `ConnectionString`.
     */
    user?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=outputMssql.d.ts.map