const targetPolicy = new PolicyDocument({
  statements: [
    new PolicyStatement({
      resources: [targetStepFunction.stateMachineArn],
      actions: ["states:StartExecution"],
      effect: Effect.ALLOW,
    }),
  ],
});

const sourcePolicy = new PolicyDocument({
  statements: [
    new PolicyStatement({
      resources: [soureTable.tableStreamArn!],
      actions: [
        "dynamodb:DescribeStream",
        "dynamodb:GetRecords",
        "dynamodb:GetShardIterator",
        "dynamodb:ListStreams",
      ],
      effect: Effect.ALLOW,
    }),
  ],
});

const pipeRole = new Role(this, "role", {
  assumedBy: new ServicePrincipal("pipes.amazonaws.com"),
  inlinePolicies: {
    sourcePolicy,
    targetPolicy,
  },
});