public visit()

in src/aspect.ts [92:114]


  public visit(construct: IConstruct): void {
    if (construct instanceof TaskDefinition) {
      const containers = construct.stack.resolve((construct.node.defaultChild as CfnTaskDefinition).containerDefinitions);
      let imageUri = undefined;
      if (containers instanceof Array) {
        for (const container of containers) {
          if (container as CfnTaskDefinition.ContainerDefinitionProperty) {
            imageUri = this.hasBeReplaced(container);
            if (imageUri) { break; }
          }
        }
      } else if (containers as CfnTaskDefinition.ContainerDefinitionProperty) {
        imageUri = this.hasBeReplaced(containers);
      }

      if (imageUri) {
        const repoName = this.getRepoName(imageUri);
        if (repoName) {
          construct.executionRole!.attachInlinePolicy(this.crossAccountECRPolicy(construct.stack, repoName));
        }
      }
    }
  }