UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

123 lines (122 loc) 5.01 kB
import { Construct } from 'constructs'; import { DynamoAttributeValue, DynamoConsumedCapacity, DynamoItemCollectionMetrics, DynamoReturnValues } from './shared-types'; import * as ddb from '../../../aws-dynamodb'; import * as iam from '../../../aws-iam'; import * as sfn from '../../../aws-stepfunctions'; interface DynamoUpdateItemOptions { /** * The name of the table containing the requested item. */ readonly table: ddb.ITable; /** * Primary key of the item to retrieve. * * For the primary key, you must provide all of the attributes. * For example, with a simple primary key, you only need to provide a value for the partition key. * For a composite primary key, you must provide values for both the partition key and the sort key. * * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html#DDB-GetItem-request-Key */ readonly key: { [key: string]: DynamoAttributeValue; }; /** * A condition that must be satisfied in order for a conditional DeleteItem to succeed. * * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#DDB-UpdateItem-request-ConditionExpression * * @default - No condition expression */ readonly conditionExpression?: string; /** * One or more substitution tokens for attribute names in an expression * * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#DDB-UpdateItem-request-ExpressionAttributeNames * * @default - No expression attribute names */ readonly expressionAttributeNames?: { [key: string]: string; }; /** * One or more values that can be substituted in an expression. * * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#DDB-UpdateItem-request-ExpressionAttributeValues * * @default - No expression attribute values */ readonly expressionAttributeValues?: { [key: string]: DynamoAttributeValue; }; /** * Determines the level of detail about provisioned throughput consumption that is returned in the response * * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#DDB-UpdateItem-request-ReturnConsumedCapacity * * @default DynamoConsumedCapacity.NONE */ readonly returnConsumedCapacity?: DynamoConsumedCapacity; /** * Determines whether item collection metrics are returned. * If set to SIZE, the response includes statistics about item collections, if any, * that were modified during the operation are returned in the response. * If set to NONE (the default), no statistics are returned. * * @default DynamoItemCollectionMetrics.NONE */ readonly returnItemCollectionMetrics?: DynamoItemCollectionMetrics; /** * Use ReturnValues if you want to get the item attributes as they appeared before they were deleted. * * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#DDB-UpdateItem-request-ReturnValues * * @default DynamoReturnValues.NONE */ readonly returnValues?: DynamoReturnValues; /** * An expression that defines one or more attributes to be updated, * the action to be performed on them, and new values for them. * * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#DDB-UpdateItem-request-UpdateExpression * * @default - No update expression */ readonly updateExpression?: string; } /** * Properties for DynamoUpdateItem Task using JSONPath */ export interface DynamoUpdateItemJsonPathProps extends sfn.TaskStateJsonPathBaseProps, DynamoUpdateItemOptions { } /** * Properties for DynamoUpdateItem Task using JSONata */ export interface DynamoUpdateItemJsonataProps extends sfn.TaskStateJsonataBaseProps, DynamoUpdateItemOptions { } /** * Properties for DynamoUpdateItem Task */ export interface DynamoUpdateItemProps extends sfn.TaskStateBaseProps, DynamoUpdateItemOptions { } /** * A StepFunctions task to call DynamoUpdateItem */ export declare class DynamoUpdateItem extends sfn.TaskStateBase { private readonly props; /** * A StepFunctions task using JSONPath to call DynamoUpdateItem */ static jsonPath(scope: Construct, id: string, props: DynamoUpdateItemJsonPathProps): DynamoUpdateItem; /** * A StepFunctions task using JSONata to call DynamoUpdateItem */ static jsonata(scope: Construct, id: string, props: DynamoUpdateItemJsonataProps): DynamoUpdateItem; protected readonly taskMetrics?: sfn.TaskMetricsConfig; protected readonly taskPolicies?: iam.PolicyStatement[]; constructor(scope: Construct, id: string, props: DynamoUpdateItemProps); /** * @internal */ protected _renderTask(topLevelQueryLanguage?: sfn.QueryLanguage): any; } export {};