constructor()

in deployment/lib/identities.ts [18:54]


  constructor(stack: Stack, props: IdentitiesProps) {
    const buildRole = props.useExistingRoles
      ? Identities.roleFromName(stack, Identities.BUILD_ROLE_NAME)
      : new Role(stack, Identities.BUILD_ROLE_NAME, {
        roleName: Identities.BUILD_ROLE_NAME,
        assumedBy: props.buildAgentPrinciple,
      });

    const bundleRole = props.useExistingRoles
      ? Identities.roleFromName(stack, Identities.BUNDLE_ROLE_NAME)
      : new Role(stack, Identities.BUNDLE_ROLE_NAME, {
        roleName: Identities.BUNDLE_ROLE_NAME,
        assumedBy: props.buildAgentPrinciple,
      });

    const testRole = props.useExistingRoles
      ? Identities.roleFromName(stack, Identities.TEST_ROLE_NAME)
      : new Role(stack, Identities.TEST_ROLE_NAME, {
        roleName: Identities.TEST_ROLE_NAME,
        assumedBy: props.buildAgentPrinciple,
      });

    props.buildBucket.grantPut(buildRole, '*/builds/*');

    props.buildBucket.grantRead(bundleRole, '*/builds/*');
    props.buildBucket.grantPut(bundleRole, '*/builds/*');

    props.buildBucket.grantRead(bundleRole, '*/shas/*');
    props.buildBucket.grantPut(bundleRole, '*/shas/*');

    props.buildBucket.grantRead(bundleRole, '*/dist/*');
    props.buildBucket.grantPut(bundleRole, '*/dist/*');

    props.buildBucket.grantRead(testRole, '*/dist/*');
    props.buildBucket.grantPut(testRole, '*/dist/*/tests/*');
    props.buildBucket.grantPut(testRole, '*/test-results/*');
  }