import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Provides a resource to manage the routing configuration for an S3 Multi-Region Access Point. * * > Note: Destruction of this resource only removes it from state. It __does not__ alter the configured traffic routing percentages. * * ## Example Usage * * ### Active-Active Configuration * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const primary = new aws.s3.Bucket("primary", {bucket: "example-bucket-primary"}); * const secondary = new aws.s3.Bucket("secondary", {bucket: "example-bucket-secondary"}); * const example = new aws.s3control.MultiRegionAccessPoint("example", {details: { * regions: [ * { * bucket: primary.bucket, * }, * { * bucket: secondary.bucket, * }, * ], * name: "example", * }}); * const exampleMultiRegionAccessPointRoutes = new aws.s3control.MultiRegionAccessPointRoutes("example", { * routes: [ * { * bucket: primary.bucket, * region: primary.bucketRegion, * trafficDialPercentage: 100, * }, * { * bucket: secondary.bucket, * region: secondary.bucketRegion, * trafficDialPercentage: 100, * }, * ], * mrap: example.arn, * }); * ``` * * ### Failover Configuration * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.s3control.MultiRegionAccessPointRoutes("example", { * routes: [ * { * bucket: primary.bucket, * region: primary.bucketRegion, * trafficDialPercentage: 0, * }, * { * bucket: secondary.bucket, * region: secondary.bucketRegion, * trafficDialPercentage: 100, * }, * ], * mrap: exampleAwsS3controlMultiRegionAccessPoint.arn, * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * * `mrap` (String) ARN of the Multi-Region Access Point. * * #### Optional * * * `accountId` (String) AWS Account where this resource is managed. * * `region` (String) Region where this resource is managed. * * Using `pulumi import`, import Multi-Region Access Point Routes using the `mrap` argument. For example: * * ```sh * $ pulumi import aws:s3control/multiRegionAccessPointRoutes:MultiRegionAccessPointRoutes example arn:aws:s3::0123456789012:accesspoint/example * ``` */ export declare class MultiRegionAccessPointRoutes extends pulumi.CustomResource { /** * Get an existing MultiRegionAccessPointRoutes 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: MultiRegionAccessPointRoutesState, opts?: pulumi.CustomResourceOptions): MultiRegionAccessPointRoutes; /** * Returns true if the given object is an instance of MultiRegionAccessPointRoutes. 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 MultiRegionAccessPointRoutes; /** * AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the Terraform AWS provider. */ readonly accountId: pulumi.Output; /** * ARN of the Multi-Region Access Point. */ readonly mrap: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * Route configurations. At least one route must have a `trafficDialPercentage` of `100`. See `route` below. */ readonly routes: pulumi.Output; /** * Create a MultiRegionAccessPointRoutes 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: MultiRegionAccessPointRoutesArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MultiRegionAccessPointRoutes resources. */ export interface MultiRegionAccessPointRoutesState { /** * AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the Terraform AWS provider. */ accountId?: pulumi.Input; /** * ARN of the Multi-Region Access Point. */ mrap?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Route configurations. At least one route must have a `trafficDialPercentage` of `100`. See `route` below. */ routes?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a MultiRegionAccessPointRoutes resource. */ export interface MultiRegionAccessPointRoutesArgs { /** * AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the Terraform AWS provider. */ accountId?: pulumi.Input; /** * ARN of the Multi-Region Access Point. */ mrap: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Route configurations. At least one route must have a `trafficDialPercentage` of `100`. See `route` below. */ routes: pulumi.Input[]>; } //# sourceMappingURL=multiRegionAccessPointRoutes.d.ts.map