Class CfnTable.StreamSpecificationProperty.Builder

java.lang.Object
software.amazon.awscdk.services.dynamodb.CfnTable.StreamSpecificationProperty.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnTable.StreamSpecificationProperty>
Enclosing interface:
CfnTable.StreamSpecificationProperty

@Stability(Stable) public static final class CfnTable.StreamSpecificationProperty.Builder extends Object implements software.amazon.jsii.Builder<CfnTable.StreamSpecificationProperty>
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • streamViewType

      @Stability(Stable) public CfnTable.StreamSpecificationProperty.Builder streamViewType(String streamViewType)
      Parameters:
      streamViewType - When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. This parameter is required. Valid values for StreamViewType are:

      • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.
      • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.
      • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.
      • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.
      Returns:
      this
    • resourcePolicy

      @Stability(Stable) public CfnTable.StreamSpecificationProperty.Builder resourcePolicy(IResolvable resourcePolicy)
      Parameters:
      resourcePolicy - Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.

      When you remove the StreamSpecification property from the template, DynamoDB disables the stream but retains any attached resource policy until the stream is deleted after 24 hours. When you modify the StreamViewType property, DynamoDB creates a new stream and retains the old stream's resource policy. The old stream and its resource policy are deleted after the 24-hour retention period.

      In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see Using resource-based policies for DynamoDB and Resource-based policy examples .

      Returns:
      this
    • resourcePolicy

      @Stability(Stable) public CfnTable.StreamSpecificationProperty.Builder resourcePolicy(CfnTable.ResourcePolicyProperty resourcePolicy)
      Parameters:
      resourcePolicy - Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.

      When you remove the StreamSpecification property from the template, DynamoDB disables the stream but retains any attached resource policy until the stream is deleted after 24 hours. When you modify the StreamViewType property, DynamoDB creates a new stream and retains the old stream's resource policy. The old stream and its resource policy are deleted after the 24-hour retention period.

      In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see Using resource-based policies for DynamoDB and Resource-based policy examples .

      Returns:
      this
    • build

      @Stability(Stable) public CfnTable.StreamSpecificationProperty build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnTable.StreamSpecificationProperty>
      Returns:
      a new instance of CfnTable.StreamSpecificationProperty
      Throws:
      NullPointerException - if any required attribute was not provided