import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Resource Type Definition for AWS::S3Outposts::Endpoint
 */
export declare class Endpoint extends pulumi.CustomResource {
    /**
     * Get an existing Endpoint 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): Endpoint;
    /**
     * Returns true if the given object is an instance of Endpoint.  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 Endpoint;
    /**
     * The type of access for the on-premise network connectivity for the Outpost endpoint. To access endpoint from an on-premises network, you must specify the access type and provide the customer owned Ipv4 pool.
     */
    readonly accessType: pulumi.Output<enums.s3outposts.EndpointAccessType | undefined>;
    /**
     * The Amazon Resource Name (ARN) of the endpoint.
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The ID of the endpoint.
     */
    readonly awsId: pulumi.Output<string>;
    /**
     * The VPC CIDR committed by this endpoint.
     */
    readonly cidrBlock: pulumi.Output<string>;
    /**
     * The time the endpoint was created.
     */
    readonly creationTime: pulumi.Output<string>;
    /**
     * The ID of the customer-owned IPv4 pool for the Endpoint. IP addresses will be allocated from this pool for the endpoint.
     */
    readonly customerOwnedIpv4Pool: pulumi.Output<string | undefined>;
    /**
     * The failure reason, if any, for a create or delete endpoint operation.
     */
    readonly failedReason: pulumi.Output<outputs.s3outposts.EndpointFailedReason | undefined>;
    /**
     * The network interfaces of the endpoint.
     */
    readonly networkInterfaces: pulumi.Output<outputs.s3outposts.EndpointNetworkInterface[]>;
    /**
     * The id of the customer outpost on which the bucket resides.
     */
    readonly outpostId: pulumi.Output<string>;
    /**
     * The ID of the security group to use with the endpoint.
     */
    readonly securityGroupId: pulumi.Output<string>;
    /**
     * The status of the endpoint.
     */
    readonly status: pulumi.Output<enums.s3outposts.EndpointStatus>;
    /**
     * The ID of the subnet in the selected VPC. The subnet must belong to the Outpost.
     */
    readonly subnetId: pulumi.Output<string>;
    /**
     * Create a Endpoint 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: EndpointArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Endpoint resource.
 */
export interface EndpointArgs {
    /**
     * The type of access for the on-premise network connectivity for the Outpost endpoint. To access endpoint from an on-premises network, you must specify the access type and provide the customer owned Ipv4 pool.
     */
    accessType?: pulumi.Input<enums.s3outposts.EndpointAccessType>;
    /**
     * The ID of the customer-owned IPv4 pool for the Endpoint. IP addresses will be allocated from this pool for the endpoint.
     */
    customerOwnedIpv4Pool?: pulumi.Input<string>;
    /**
     * The failure reason, if any, for a create or delete endpoint operation.
     */
    failedReason?: pulumi.Input<inputs.s3outposts.EndpointFailedReasonArgs>;
    /**
     * The id of the customer outpost on which the bucket resides.
     */
    outpostId: pulumi.Input<string>;
    /**
     * The ID of the security group to use with the endpoint.
     */
    securityGroupId: pulumi.Input<string>;
    /**
     * The ID of the subnet in the selected VPC. The subnet must belong to the Outpost.
     */
    subnetId: pulumi.Input<string>;
}
