# HttpDataSourceProps

Properties for an AppSync http datasource.

Extends: HttpDataSourceProps
Extends: BackedDataSourceProps
Used as props by: HttpDataSource

- Source: [`aws-appsync/lib/data-source.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-appsync/lib/data-source.ts#L310)
- Type last changed: v2.172.0 · 7 Dec 2024

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_appsync as appsync } from 'aws-cdk-lib';
import { aws_iam as iam } from 'aws-cdk-lib';
import { aws_appsync as interfaces_appsync } from 'aws-cdk-lib/interfaces';

declare const graphQLApiRef: interfaces_appsync.IGraphQLApiRef;
declare const role: iam.Role;
const httpDataSourceProps: appsync.HttpDataSourceProps = {
  api: graphQLApiRef,
  endpoint: 'endpoint',

  // the properties below are optional
  authorizationConfig: {
    signingRegion: 'signingRegion',
    signingServiceName: 'signingServiceName',
  },
  description: 'description',
  metricsConfig: appsync.DataSourceMetricsConfig.ENABLED,
  name: 'name',
  serviceRole: role,
};
```

## Properties

- `api`: [IGraphQLApiRef](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_appsync.IGraphQLApiRef.html) (required) — The API to attach this data source to.

- `authorizationConfig`: [AwsIamConfig](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.AwsIamConfig.html) = none — The authorization config in case the HTTP endpoint requires authorization.

- `description`: string = None — the description of the data source.

- `endpoint`: string (required) — The http endpoint.

- `metricsConfig`: [DataSourceMetricsConfig](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.DataSourceMetricsConfig.html) — Whether to enable enhanced metrics of the data source Value will be ignored, if `enhancedMetricsConfig.dataSourceLevelMetricsBehavior` on AppSync GraphqlApi construct is set to `FULL_REQUEST_DATA_SOURCE_METRICS`.

  **Default:** no metrics configuration

- `name`: string — The name of the data source.

  **Default:** id of data source

- `serviceRole`: [IRole](/cdk/api/v2/docs/aws-cdk-lib.aws_iam.IRole.html) — The IAM service role to be assumed by AppSync to interact with the data source.

  **Default:** Create a new role
