@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
175 lines (174 loc) • 9.53 kB
TypeScript
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::DataSync::LocationObjectStorage.
*
* ## Example Usage
* ### Example
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws_native from "@pulumi/aws-native";
*
* const locationObjectStorage = new aws_native.datasync.LocationObjectStorage("locationObjectStorage", {
* agentArns: ["arn:aws:datasync:us-east-2:111222333444:agent/agent-0b0addbeef44b3nfs"],
* bucketName: "MyBucket",
* serverHostname: "MyServer@example.com",
* serverProtocol: aws_native.datasync.LocationObjectStorageServerProtocol.Https,
* subdirectory: "/MySubdirectory",
* });
*
* ```
*/
export declare class LocationObjectStorage extends pulumi.CustomResource {
/**
* Get an existing LocationObjectStorage 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): LocationObjectStorage;
/**
* Returns true if the given object is an instance of LocationObjectStorage. 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 LocationObjectStorage;
/**
* Optional. The access key is used if credentials are required to access the self-managed object storage server.
*/
readonly accessKey: pulumi.Output<string | undefined>;
/**
* 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: pulumi.Output<string[] | undefined>;
/**
* The name of the bucket on the self-managed object storage server.
*/
readonly bucketName: pulumi.Output<string | undefined>;
/**
* 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 parameter 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 that 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: pulumi.Output<outputs.datasync.LocationObjectStorageCmkSecretConfig | undefined>;
/**
* 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, in Secrets Manager. 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: pulumi.Output<outputs.datasync.LocationObjectStorageCustomSecretConfig | undefined>;
/**
* The Amazon Resource Name (ARN) of the location that is created.
*/
readonly locationArn: pulumi.Output<string>;
/**
* The URL of the object storage location that was described.
*/
readonly locationUri: pulumi.Output<string>;
readonly managedSecretConfig: pulumi.Output<outputs.datasync.LocationObjectStorageManagedSecretConfig>;
/**
* Optional. The secret key is used if credentials are required to access the self-managed object storage server.
*/
readonly secretKey: pulumi.Output<string | undefined>;
/**
* X.509 PEM content containing a certificate authority or chain to trust.
*/
readonly serverCertificate: pulumi.Output<string | undefined>;
/**
* The name of the self-managed object storage server. This value is the IP address or Domain Name Service (DNS) name of the object storage server.
*/
readonly serverHostname: pulumi.Output<string | undefined>;
/**
* The port that your self-managed server accepts inbound network traffic on.
*/
readonly serverPort: pulumi.Output<number | undefined>;
/**
* The protocol that the object storage server uses to communicate.
*/
readonly serverProtocol: pulumi.Output<enums.datasync.LocationObjectStorageServerProtocol | undefined>;
/**
* The subdirectory in the self-managed object storage server that is used to read data from.
*/
readonly subdirectory: pulumi.Output<string | undefined>;
/**
* An array of key-value pairs to apply to this resource.
*/
readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
/**
* Create a LocationObjectStorage 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?: LocationObjectStorageArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a LocationObjectStorage resource.
*/
export interface LocationObjectStorageArgs {
/**
* Optional. The access key is used if credentials are required to access the self-managed object storage server.
*/
accessKey?: pulumi.Input<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.
*/
agentArns?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The name of the bucket on the self-managed object storage server.
*/
bucketName?: pulumi.Input<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 parameter 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 that 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.
*/
cmkSecretConfig?: pulumi.Input<inputs.datasync.LocationObjectStorageCmkSecretConfigArgs>;
/**
* 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, in Secrets Manager. 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.
*/
customSecretConfig?: pulumi.Input<inputs.datasync.LocationObjectStorageCustomSecretConfigArgs>;
/**
* Optional. The secret key is used if credentials are required to access the self-managed object storage server.
*/
secretKey?: pulumi.Input<string>;
/**
* X.509 PEM content containing a certificate authority or chain to trust.
*/
serverCertificate?: pulumi.Input<string>;
/**
* The name of the self-managed object storage server. This value is the IP address or Domain Name Service (DNS) name of the object storage server.
*/
serverHostname?: pulumi.Input<string>;
/**
* The port that your self-managed server accepts inbound network traffic on.
*/
serverPort?: pulumi.Input<number>;
/**
* The protocol that the object storage server uses to communicate.
*/
serverProtocol?: pulumi.Input<enums.datasync.LocationObjectStorageServerProtocol>;
/**
* The subdirectory in the self-managed object storage server that is used to read data from.
*/
subdirectory?: pulumi.Input<string>;
/**
* An array of key-value pairs to apply to this resource.
*/
tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}