import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Resource Type definition for AWS::DataSync::LocationObjectStorage.
 */
export declare function getLocationObjectStorage(args: GetLocationObjectStorageArgs, opts?: pulumi.InvokeOptions): Promise<GetLocationObjectStorageResult>;
export interface GetLocationObjectStorageArgs {
    /**
     * The Amazon Resource Name (ARN) of the location that is created.
     */
    locationArn: string;
}
export interface GetLocationObjectStorageResult {
    /**
     * Optional. The access key is used if credentials are required to access the self-managed object storage server.
     */
    readonly accessKey?: string;
    /**
     * Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.
     */
    readonly agentArns?: string[];
    /**
     * Specifies configuration information for a DataSync-managed secret, which includes the `SecretKey` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key .
     *
     * When you include this paramater as part of a `CreateLocationObjectStorage` request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the `SecretKey` parameter to create a DataSync-managed secret to store the location access credentials.
     *
     * Make sure the DataSync has permission to access the KMS key that you specify.
     *
     * > You can use either `CmkSecretConfig` (with `SecretKey` ) or `CustomSecretConfig` (without `SecretKey` ) to provide credentials for a `CreateLocationObjectStorage` request. Do not provide both parameters for the same request.
     */
    readonly cmkSecretConfig?: outputs.datasync.LocationObjectStorageCmkSecretConfig;
    /**
     * Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
     *
     * > You can use either `CmkSecretConfig` (with `SecretKey` ) or `CustomSecretConfig` (without `SecretKey` ) to provide credentials for a `CreateLocationObjectStorage` request. Do not provide both parameters for the same request.
     */
    readonly customSecretConfig?: outputs.datasync.LocationObjectStorageCustomSecretConfig;
    /**
     * The Amazon Resource Name (ARN) of the location that is created.
     */
    readonly locationArn?: string;
    /**
     * The URL of the object storage location that was described.
     */
    readonly locationUri?: string;
    readonly managedSecretConfig?: outputs.datasync.LocationObjectStorageManagedSecretConfig;
    /**
     * X.509 PEM content containing a certificate authority or chain to trust.
     */
    readonly serverCertificate?: string;
    /**
     * The port that your self-managed server accepts inbound network traffic on.
     */
    readonly serverPort?: number;
    /**
     * The protocol that the object storage server uses to communicate.
     */
    readonly serverProtocol?: enums.datasync.LocationObjectStorageServerProtocol;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    readonly tags?: outputs.Tag[];
}
/**
 * Resource Type definition for AWS::DataSync::LocationObjectStorage.
 */
export declare function getLocationObjectStorageOutput(args: GetLocationObjectStorageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetLocationObjectStorageResult>;
export interface GetLocationObjectStorageOutputArgs {
    /**
     * The Amazon Resource Name (ARN) of the location that is created.
     */
    locationArn: pulumi.Input<string>;
}
