import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Resource type definition for AWS::ElastiCache::CacheCluster
 */
export declare function getCacheCluster(args: GetCacheClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetCacheClusterResult>;
export interface GetCacheClusterArgs {
    /**
     * A name for the cache cluster.
     */
    clusterName: string;
}
export interface GetCacheClusterResult {
    /**
     * If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next minor version upgrade campaign.
     */
    readonly autoMinorVersionUpgrade?: boolean;
    /**
     * Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.
     */
    readonly azMode?: string;
    /**
     * The compute and memory capacity of the nodes in the node group (shard).
     */
    readonly cacheNodeType?: string;
    /**
     * The name of the parameter group to associate with this cluster.
     */
    readonly cacheParameterGroupName?: string;
    /**
     * Specifies the ConfigurationEndpoint address and port
     */
    readonly configurationEndpoint?: outputs.elasticache.CacheClusterEndpoint;
    /**
     * The version number of the cache engine to be used for this cluster
     */
    readonly engineVersion?: string;
    /**
     * The Ip Discovery parameter for cachecluster.
     */
    readonly ipDiscovery?: string;
    /**
     * Specifies the destination, format and type of the logs
     */
    readonly logDeliveryConfigurations?: outputs.elasticache.CacheClusterLogDeliveryConfigurationRequest[];
    /**
     * The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.
     */
    readonly notificationTopicArn?: string;
    /**
     * The number of cache nodes that the cache cluster should have.
     */
    readonly numCacheNodes?: number;
    /**
     * A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important.
     */
    readonly preferredAvailabilityZones?: string[];
    /**
     * Specifies the weekly time range during which maintenance on the cluster is performed.
     */
    readonly preferredMaintenanceWindow?: string;
    /**
     * Specifies the RedisEndPoint address and port
     */
    readonly redisEndpoint?: outputs.elasticache.CacheClusterEndpoint;
    /**
     * The number of days for which ElastiCache retains automatic snapshots before deleting them.
     */
    readonly snapshotRetentionLimit?: number;
    /**
     * The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
     */
    readonly snapshotWindow?: string;
    /**
     * A list of tags to be added to this resource.
     */
    readonly tags?: outputs.Tag[];
    /**
     * A flag that enables in-transit encryption when set to true. You cannot modify the value of TransitEncryptionEnabled after the cluster is created
     */
    readonly transitEncryptionEnabled?: boolean;
    /**
     * One or more VPC security groups associated with the cluster.
     */
    readonly vpcSecurityGroupIds?: string[];
}
/**
 * Resource type definition for AWS::ElastiCache::CacheCluster
 */
export declare function getCacheClusterOutput(args: GetCacheClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetCacheClusterResult>;
export interface GetCacheClusterOutputArgs {
    /**
     * A name for the cache cluster.
     */
    clusterName: pulumi.Input<string>;
}
