> **Experimental**
>
> `@aws-cdk/aws-bedrock-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# CrossRegionInferenceProfile

Cross-region inference enables you to seamlessly manage unplanned traffic bursts by utilizing compute across different AWS Regions.

With cross-region
inference, you can distribute traffic across multiple AWS Regions, enabling
higher throughput and enhanced resilience during periods of peak demands.

This construct represents a system-defined inference profile that routes
requests across multiple regions based on availability and demand.

Extends: CrossRegionInferenceProfile
Implements: IBedrockInvokable, IInferenceProfile

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`bedrock/inference-profiles/cross-region-inference-profile.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0-alpha.0/packages/@aws-cdk/aws-bedrock-alpha/bedrock/inference-profiles/cross-region-inference-profile.ts#L140)

## Example

```ts
// Create a cross-region inference profile
const crossRegionProfile = bedrock.CrossRegionInferenceProfile.fromConfig({
  geoRegion: bedrock.CrossRegionInferenceProfileRegion.US,
  model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_5_SONNET_V2_0,
});

// Create an application inference profile across regions
const appProfile = new bedrock.ApplicationInferenceProfile(this, 'MyMultiRegionProfile', {
  applicationInferenceProfileName: 'claude-35-sonnet-v2-multi-region',
  modelSource: crossRegionProfile,
  description: 'Multi-region application profile for cost tracking',
});
```

## Properties

- `inferenceProfileArn`: string (required) — The ARN of the inference profile.

- `inferenceProfileId`: string (required) — The unique identifier of the inference profile.

  Format: {geoRegion}.{modelId}

- `inferenceProfileModel`: [BedrockFoundationModel](/cdk/api/v2/docs/@aws-cdk_aws-bedrock-alpha.BedrockFoundationModel.html) (required) — The underlying foundation model supporting cross-region inference.

- `invokableArn`: string (required) — The ARN used for invoking this inference profile.

  This equals to the inferenceProfileArn property, useful for implementing IBedrockInvokable interface.

- `type`: [InferenceProfileType](/cdk/api/v2/docs/@aws-cdk_aws-bedrock-alpha.InferenceProfileType.html) (required) — The type of inference profile.

  Always SYSTEM_DEFINED for cross-region profiles.

## Methods

- `fromConfig(config: CrossRegionInferenceProfileProps): CrossRegionInferenceProfile // chainable` (static) — Creates a Cross-Region Inference Profile from the provided configuration.

  **Parameters**

  - `config` — - Configuration for the cross-region inference profile.

  **Returns:** A new CrossRegionInferenceProfile instance

- `grantInvoke(grantee: IGrantable): Grant` — Gives the appropriate policies to invoke and use the Foundation Model.

  For cross-region inference profiles, this method grants permissions to:
  - Invoke the model in all regions where the inference profile can route requests
  - Use the inference profile itself
  [disable-awslint:no-grants]

  **Parameters**

  - `grantee` — - The IAM principal to grant permissions to.

  **Returns:** An IAM Grant object representing the granted permissions

- `grantProfileUsage(grantee: IGrantable): Grant` — Grants appropriate permissions to use the cross-region inference profile.

  This method adds the necessary IAM permissions to allow the grantee to:
  - Get inference profile details (bedrock:GetInferenceProfile)
  - Invoke the model through the inference profile (bedrock:InvokeModel*)

  Note: This does not grant permissions to use the underlying model directly.
  For comprehensive permissions, use grantInvoke() instead.
  [disable-awslint:no-grants]

  **Parameters**

  - `grantee` — - The IAM principal to grant permissions to.

  **Returns:** An IAM Grant object representing the granted permissions
