in lib/constructs/fetch-cross-stack-values.ts [47:270]
constructor(scope: Construct, id: string, buildConfig: BuildConfig) {
super(scope, id);
this.errorNotificationsTopic = Topic.fromTopicArn(
this,
name(buildConfig, "importedErrorNotificationsTopic"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "errorNotificationsTopicArn")
)
);
this.ssoGroupEventNotificationsTopic = Topic.fromTopicArn(
this,
name(buildConfig, "importedssoGroupEventNotificationsTopic"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "ssoGroupEventNotificationsTopicArn")
)
);
this.ssoUserEventNotificationsTopic = Topic.fromTopicArn(
this,
name(buildConfig, "importedssoUserEventNotificationsTopic"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "ssoUserEventsNotificationsTopicArn")
)
);
this.orgEventsNotificationsTopic = Topic.fromTopicArn(
this,
name(buildConfig, "importedOrgEventNotificationsTopic"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "importedOrgEventsNotificationsTopicArn")
)
);
this.processTargetAccountSMTopic = Topic.fromTopicArn(
this,
name(buildConfig, "importedprocessTargetAccountSMTopic"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "importedProcessTargetAccountSMTopicArn")
)
);
this.linkProcessorTopic = Topic.fromTopicArn(
this,
name(buildConfig, "importedLinkProcessorTopic"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "linkProcessorTopicArn")
)
);
this.permissionSetProcessorTopic = Topic.fromTopicArn(
this,
name(buildConfig, "importedPermissionSetProcessorTopic"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "permissionSetProcessorTopicArn")
)
);
this.linkManagerQueue = Queue.fromQueueArn(
this,
name(buildConfig, "importedLinkManagerQueue"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "linkQueueArn")
)
);
this.nodeJsLayer = lambda.LayerVersion.fromLayerVersionArn(
this,
name(buildConfig, "importedNodeJsLayerVersion"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "nodeJsLayerVersionArn")
).toString()
);
this.linksTable = Table.fromTableAttributes(
this,
name(buildConfig, "importedLinksTable"),
{
tableArn: StringParameter.valueForStringParameter(
this,
name(buildConfig, "linksTableArn")
),
globalIndexes: [
"awsEntityData",
"principalName",
"permissionSetName",
"principalType",
],
}
);
this.provisionedLinksTable = Table.fromTableAttributes(
this,
name(buildConfig, "importedProvisionedLinksTable"),
{
tableArn: StringParameter.valueForStringParameter(
this,
name(buildConfig, "provisionedLinksTableArn")
),
globalIndexes: ["tagKeyLookUp"],
}
);
this.permissionSetTable = Table.fromTableAttributes(
this,
name(buildConfig, "importedPermissionSetTable"),
{
tableArn: StringParameter.valueForStringParameter(
this,
name(buildConfig, "permissionSetTableArn")
),
}
);
this.permissionSetArnTable = Table.fromTableArn(
this,
name(buildConfig, "importedPermissionSetArnTable"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "permissionSetArnTableArn")
)
);
this.snsTopicsKey = Key.fromKeyArn(
this,
name(buildConfig, "importedSnsTopicsKey"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "snsTopicsKeyArn")
)
);
this.ddbTablesKey = Key.fromKeyArn(
this,
name(buildConfig, "importedDdbTablesKey"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "ddbTablesKeyArn")
)
);
this.queuesKey = Key.fromKeyArn(
this,
name(buildConfig, "importedQueuesKey"),
StringParameter.valueForStringParameter(
this,
name(buildConfig, "queuesKeyArn")
)
);
this.permissionSetHandlerSSOAPIRoleArn = new SSMParamReader(
this,
name(buildConfig, "permissionSetHandlerSSOAPIRoleArnpr"),
buildConfig,
{
ParamAccountId: buildConfig.PipelineSettings.SSOServiceAccountId,
ParamRegion: buildConfig.PipelineSettings.SSOServiceAccountRegion,
ParamNameKey: "permissionSetHandler-ssoapi-roleArn",
LambdaLayers: this.nodeJsLayer,
}
).paramValue;
this.linkManagerHandlerSSOAPIRoleArn = new SSMParamReader(
this,
name(buildConfig, "linkManagerHandlerSSOAPIRoleArnpr"),
buildConfig,
{
ParamAccountId: buildConfig.PipelineSettings.SSOServiceAccountId,
ParamRegion: buildConfig.PipelineSettings.SSOServiceAccountRegion,
ParamNameKey: "linkManagerHandler-ssoapi-roleArn",
LambdaLayers: this.nodeJsLayer,
}
).paramValue;
this.listInstancesSSOAPIRoleArn = new SSMParamReader(
this,
name(buildConfig, "listInstancesSSOAPIRoleArnpr"),
buildConfig,
{
ParamAccountId: buildConfig.PipelineSettings.SSOServiceAccountId,
ParamRegion: buildConfig.PipelineSettings.SSOServiceAccountRegion,
ParamNameKey: "listInstances-ssoapi-roleArn",
LambdaLayers: this.nodeJsLayer,
}
).paramValue;
this.listGroupsIdentityStoreAPIRoleArn = new SSMParamReader(
this,
name(buildConfig, "listGroupsIdentityStoreAPIRoleArnpr"),
buildConfig,
{
ParamAccountId: buildConfig.PipelineSettings.SSOServiceAccountId,
ParamRegion: buildConfig.PipelineSettings.SSOServiceAccountRegion,
ParamNameKey: "listPrincipals-identitystoreapi-roleArn",
LambdaLayers: this.nodeJsLayer,
}
).paramValue;
this.orgListSMRoleArn = new SSMParamReader(
this,
name(buildConfig, "orgListSMRoleArnpr"),
buildConfig,
{
ParamAccountId: buildConfig.PipelineSettings.OrgMainAccountId,
ParamRegion: "us-east-1", // Organizations discovery can only be done in us-east-1, hence the step functions and related roles are declared in that region
ParamNameKey: "orgListSM-orgapi-roleArn",
LambdaLayers: this.nodeJsLayer,
}
).paramValue;
this.waiterHandlerSSOAPIRoleArn = StringParameter.valueForStringParameter(
this,
name(buildConfig, "waiterHandlerSSOAPIRoleArn")
);
}