import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document.
 */
export declare function getAssociation(args: GetAssociationArgs, opts?: pulumi.InvokeOptions): Promise<GetAssociationResult>;
export interface GetAssociationArgs {
    /**
     * Unique identifier of the association.
     */
    associationId: string;
}
export interface GetAssociationResult {
    /**
     * By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter is not supported for rate expressions.
     */
    readonly applyOnlyAtCronInterval?: boolean;
    /**
     * Unique identifier of the association.
     */
    readonly associationId?: string;
    /**
     * The name of the association.
     */
    readonly associationName?: string;
    /**
     * Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in AWS Systems Manager .
     */
    readonly automationTargetParameterName?: string;
    /**
     * The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations only run when that Change Calendar is open. For more information, see [AWS Systems Manager Change Calendar](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar) in the *AWS Systems Manager User Guide* .
     */
    readonly calendarNames?: string[];
    /**
     * The severity level that is assigned to the association.
     */
    readonly complianceSeverity?: enums.ssm.AssociationComplianceSeverity;
    /**
     * The version of the SSM document to associate with the target.
     */
    readonly documentVersion?: string;
    /**
     * The ID of the instance that the SSM document is associated with.
     */
    readonly instanceId?: string;
    /**
     * The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.
     *
     * If a new managed node starts and attempts to run an association while Systems Manager is running `MaxConcurrency` associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for `MaxConcurrency` .
     */
    readonly maxConcurrency?: string;
    /**
     * The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set `MaxError` to 10%, then the system stops sending the request when the sixth error is received.
     *
     * Executions that are already running an association when `MaxErrors` is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set `MaxConcurrency` to 1 so that executions proceed one at a time.
     */
    readonly maxErrors?: string;
    /**
     * The name of the SSM document.
     */
    readonly name?: string;
    /**
     * An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.
     */
    readonly outputLocation?: outputs.ssm.AssociationInstanceAssociationOutputLocation;
    /**
     * Parameter values that the SSM document uses at runtime.
     */
    readonly parameters?: {
        [key: string]: string[];
    };
    /**
     * A Cron or Rate expression that specifies when the association is applied to the target.
     */
    readonly scheduleExpression?: string;
    /**
     * Number of days to wait after the scheduled day to run an association.
     */
    readonly scheduleOffset?: number;
    /**
     * The mode for generating association compliance. You can specify `AUTO` or `MANUAL` . In `AUTO` mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is `COMPLIANT` . If the association execution doesn't run successfully, the association is `NON-COMPLIANT` .
     *
     * In `MANUAL` mode, you must specify the `AssociationId` as a parameter for the `PutComplianceItems` API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the `PutComplianceItems` API action.
     *
     * By default, all associations use `AUTO` mode.
     */
    readonly syncCompliance?: enums.ssm.AssociationSyncCompliance;
    /**
     * The targets that the SSM document sends commands to.
     */
    readonly targets?: outputs.ssm.AssociationTarget[];
}
/**
 * The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document.
 */
export declare function getAssociationOutput(args: GetAssociationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAssociationResult>;
export interface GetAssociationOutputArgs {
    /**
     * Unique identifier of the association.
     */
    associationId: pulumi.Input<string>;
}
