BuildResourceNamePrefixArgs

BuildResourceNamePrefixArgs = BuildResourceNamePrefixBaseArgs & ({ account?: never; availabilityZone?: never; serviceCode?: never } | { account: string; availabilityZone?: never; serviceCode?: never } | { account?: never; availabilityZone?: never; serviceCode: IamRoleServiceCode } | { account?: never; availabilityZone: string; serviceCode?: never })

Explicit inputs with at most one account, service, or availability-zone qualifier.

Remarks

Supply no qualifier for a <stack>-<projectHash> prefix, or exactly one of account, serviceCode, or availabilityZone. The returned prefix never includes a consumer-specific purpose suffix.

Example

CODE
const args = {
  projectName: 'checkout-service',
  stackName: 'prd',
} satisfies BuildResourceNamePrefixArgs;
CODE
const args = {
  projectName: 'checkout-service',
  stackName: 'prd',
  account: '000000000000',
} satisfies BuildResourceNamePrefixArgs;
CODE
const args = {
  projectName: 'checkout-service',
  stackName: 'prd',
  serviceCode: iamRoleServiceCodes.lambda,
} satisfies BuildResourceNamePrefixArgs;
CODE
const args = {
  projectName: 'checkout-service',
  stackName: 'prd',
  availabilityZone: 'eu-west-1a',
} satisfies BuildResourceNamePrefixArgs;