constructor()

in src/experimental/constructs/iam/roles/fastly-kinesis-log.ts [34:53]


  constructor(scope: GuStack, id: string, props: GuFastlyKinesisLogRoleProps) {
    const fastlyCustomerId = GuFastlyCustomerIdParameter.getInstance(scope).valueAsString;
    const { policyName, roleName, stream } = props;

    super(scope, id, {
      roleName,
      assumedBy: new AccountPrincipal(FASTLY_AWS_ACCOUNT_ID),
      externalIds: [fastlyCustomerId],
    });

    const policy = new GuKinesisPutRecordsPolicyExperimental(
      scope,
      policyName ?? "GuKinesisPutRecordsPolicyExperimental",
      {
        stream,
      },
    );

    policy.attachToRole(this);
  }