import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Resource schema for AWS::ImageBuilder::InfrastructureConfiguration
 */
export declare class InfrastructureConfiguration extends pulumi.CustomResource {
    /**
     * Get an existing InfrastructureConfiguration 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 opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): InfrastructureConfiguration;
    /**
     * Returns true if the given object is an instance of InfrastructureConfiguration.  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 InfrastructureConfiguration;
    /**
     * The Amazon Resource Name (ARN) of the infrastructure configuration.
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The description of the infrastructure configuration.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The instance metadata option settings for the infrastructure configuration.
     */
    readonly instanceMetadataOptions: pulumi.Output<outputs.imagebuilder.InfrastructureConfigurationInstanceMetadataOptions | undefined>;
    /**
     * The instance profile of the infrastructure configuration.
     */
    readonly instanceProfileName: pulumi.Output<string>;
    /**
     * The instance types of the infrastructure configuration.
     */
    readonly instanceTypes: pulumi.Output<string[] | undefined>;
    /**
     * The EC2 key pair of the infrastructure configuration..
     */
    readonly keyPair: pulumi.Output<string | undefined>;
    /**
     * The logging configuration of the infrastructure configuration.
     */
    readonly logging: pulumi.Output<outputs.imagebuilder.InfrastructureConfigurationLogging | undefined>;
    /**
     * The name of the infrastructure configuration.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The placement option settings for the infrastructure configuration.
     */
    readonly placement: pulumi.Output<outputs.imagebuilder.InfrastructureConfigurationPlacement | undefined>;
    /**
     * The tags attached to the resource created by Image Builder.
     */
    readonly resourceTags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * The security group IDs of the infrastructure configuration.
     */
    readonly securityGroupIds: pulumi.Output<string[] | undefined>;
    /**
     * The SNS Topic Amazon Resource Name (ARN) of the infrastructure configuration.
     */
    readonly snsTopicArn: pulumi.Output<string | undefined>;
    /**
     * The subnet ID of the infrastructure configuration.
     */
    readonly subnetId: pulumi.Output<string | undefined>;
    /**
     * The tags associated with the component.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * The terminate instance on failure configuration of the infrastructure configuration.
     */
    readonly terminateInstanceOnFailure: pulumi.Output<boolean | undefined>;
    /**
     * Create a InfrastructureConfiguration 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: InfrastructureConfigurationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a InfrastructureConfiguration resource.
 */
export interface InfrastructureConfigurationArgs {
    /**
     * The description of the infrastructure configuration.
     */
    description?: pulumi.Input<string>;
    /**
     * The instance metadata option settings for the infrastructure configuration.
     */
    instanceMetadataOptions?: pulumi.Input<inputs.imagebuilder.InfrastructureConfigurationInstanceMetadataOptionsArgs>;
    /**
     * The instance profile of the infrastructure configuration.
     */
    instanceProfileName: pulumi.Input<string>;
    /**
     * The instance types of the infrastructure configuration.
     */
    instanceTypes?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The EC2 key pair of the infrastructure configuration..
     */
    keyPair?: pulumi.Input<string>;
    /**
     * The logging configuration of the infrastructure configuration.
     */
    logging?: pulumi.Input<inputs.imagebuilder.InfrastructureConfigurationLoggingArgs>;
    /**
     * The name of the infrastructure configuration.
     */
    name?: pulumi.Input<string>;
    /**
     * The placement option settings for the infrastructure configuration.
     */
    placement?: pulumi.Input<inputs.imagebuilder.InfrastructureConfigurationPlacementArgs>;
    /**
     * The tags attached to the resource created by Image Builder.
     */
    resourceTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * The security group IDs of the infrastructure configuration.
     */
    securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The SNS Topic Amazon Resource Name (ARN) of the infrastructure configuration.
     */
    snsTopicArn?: pulumi.Input<string>;
    /**
     * The subnet ID of the infrastructure configuration.
     */
    subnetId?: pulumi.Input<string>;
    /**
     * The tags associated with the component.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * The terminate instance on failure configuration of the infrastructure configuration.
     */
    terminateInstanceOnFailure?: pulumi.Input<boolean>;
}
