import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a ENS Instance Security Group Attachment resource.
 *
 * Bind instance and security group.
 *
 * For information about ENS Instance Security Group Attachment and how to use it, see [What is Instance Security Group Attachment](https://next.api.alibabacloud.com/document/Ens/2017-11-10/JoinSecurityGroup).
 *
 * > **NOTE:** Available since v1.216.0.
 *
 * ## Example Usage
 *
 * Basic Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as alicloud from "@pulumi/alicloud";
 *
 * const config = new pulumi.Config();
 * const name = config.get("name") || "terraform-example";
 * const _default = new alicloud.ens.Instance("default", {
 *     systemDisk: {
 *         size: 20,
 *     },
 *     scheduleAreaLevel: "Region",
 *     imageId: "centos_6_08_64_20G_alibase_20171208",
 *     paymentType: "Subscription",
 *     instanceType: "ens.sn1.stiny",
 *     password: "12345678ABCabc",
 *     amount: 1,
 *     period: 1,
 *     internetMaxBandwidthOut: 10,
 *     publicIpIdentification: true,
 *     ensRegionId: "cn-chenzhou-telecom_unicom_cmcc",
 *     periodUnit: "Month",
 * });
 * const defaultSecurityGroup = new alicloud.ens.SecurityGroup("default", {
 *     description: "InstanceSecurityGroupAttachment_Description",
 *     securityGroupName: name,
 * });
 * const defaultInstanceSecurityGroupAttachment = new alicloud.ens.InstanceSecurityGroupAttachment("default", {
 *     instanceId: _default.id,
 *     securityGroupId: defaultSecurityGroup.id,
 * });
 * ```
 *
 * 📚 Need more examples? VIEW MORE EXAMPLES
 *
 * ## Import
 *
 * ENS Instance Security Group Attachment can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import alicloud:ens/instanceSecurityGroupAttachment:InstanceSecurityGroupAttachment example <instance_id>:<security_group_id>
 * ```
 */
export declare class InstanceSecurityGroupAttachment extends pulumi.CustomResource {
    /**
     * Get an existing InstanceSecurityGroupAttachment 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?: InstanceSecurityGroupAttachmentState, opts?: pulumi.CustomResourceOptions): InstanceSecurityGroupAttachment;
    /**
     * Returns true if the given object is an instance of InstanceSecurityGroupAttachment.  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 InstanceSecurityGroupAttachment;
    /**
     * Instance ID.
     */
    readonly instanceId: pulumi.Output<string>;
    /**
     * Security group ID.
     */
    readonly securityGroupId: pulumi.Output<string>;
    /**
     * Create a InstanceSecurityGroupAttachment 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: InstanceSecurityGroupAttachmentArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering InstanceSecurityGroupAttachment resources.
 */
export interface InstanceSecurityGroupAttachmentState {
    /**
     * Instance ID.
     */
    instanceId?: pulumi.Input<string | undefined>;
    /**
     * Security group ID.
     */
    securityGroupId?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a InstanceSecurityGroupAttachment resource.
 */
export interface InstanceSecurityGroupAttachmentArgs {
    /**
     * Instance ID.
     */
    instanceId?: pulumi.Input<string | undefined>;
    /**
     * Security group ID.
     */
    securityGroupId: pulumi.Input<string>;
}
//# sourceMappingURL=instanceSecurityGroupAttachment.d.ts.map