Skip to content

Commit 34cd7e3

Browse files
committed
fix(payments): preserve published L3 compatibility
1 parent 5b4970d commit 34cd7e3

2 files changed

Lines changed: 56 additions & 20 deletions

File tree

src/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -581,14 +581,26 @@ export class AgentCoreStack extends Stack {
581581
// Create connectors for this manager
582582
for (const connector of payment.connectors) {
583583
const connId = toCdkId(connector.name);
584-
const conn = new AgentCorePaymentConnector(this, \`Payment\${mgrId}\${connId}\`, {
584+
const baseConnectorProps = {
585585
projectName: spec.name,
586586
paymentManager: manager,
587587
connectorName: connector.name,
588588
connectorType: connector.provider,
589-
provisionMode: connector.provisionMode,
590-
credentialProviderArn: connector.credentialProviderArn,
591-
});
589+
};
590+
const conn =
591+
connector.provisionMode === 'QUICK_CREATE'
592+
? new AgentCorePaymentConnector(
593+
this,
594+
\`Payment\${mgrId}\${connId}\`,
595+
{
596+
...baseConnectorProps,
597+
provisionMode: 'QUICK_CREATE',
598+
} as unknown as ConstructorParameters<typeof AgentCorePaymentConnector>[2]
599+
)
600+
: new AgentCorePaymentConnector(this, \`Payment\${mgrId}\${connId}\`, {
601+
...baseConnectorProps,
602+
credentialProviderArn: connector.credentialProviderArn!,
603+
});
592604
593605
// Wire first connector's ID as env var (eligible agents only)
594606
if (connector === payment.connectors[0]) {
@@ -601,12 +613,18 @@ export class AgentCoreStack extends Stack {
601613
new CfnOutput(this, \`Payment\${mgrId}\${connId}ConnectorId\`, {
602614
value: conn.paymentConnectorId,
603615
});
604-
new CfnOutput(this, \`Payment\${mgrId}\${connId}ConnectorStatus\`, {
605-
value: conn.paymentConnectorStatus,
606-
});
607-
new CfnOutput(this, \`Payment\${mgrId}\${connId}AuthorizationUrl\`, {
608-
value: conn.authorizationUrl,
609-
});
616+
if (connector.provisionMode === 'QUICK_CREATE') {
617+
const quickCreateConnector = conn as AgentCorePaymentConnector & {
618+
paymentConnectorStatus: string;
619+
authorizationUrl: string;
620+
};
621+
new CfnOutput(this, \`Payment\${mgrId}\${connId}ConnectorStatus\`, {
622+
value: quickCreateConnector.paymentConnectorStatus,
623+
});
624+
new CfnOutput(this, \`Payment\${mgrId}\${connId}AuthorizationUrl\`, {
625+
value: quickCreateConnector.authorizationUrl,
626+
});
627+
}
610628
}
611629
612630
// CFN Outputs for post-deploy state parsing

src/assets/cdk/lib/cdk-stack.ts

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -204,14 +204,26 @@ export class AgentCoreStack extends Stack {
204204
// Create connectors for this manager
205205
for (const connector of payment.connectors) {
206206
const connId = toCdkId(connector.name);
207-
const conn = new AgentCorePaymentConnector(this, `Payment${mgrId}${connId}`, {
207+
const baseConnectorProps = {
208208
projectName: spec.name,
209209
paymentManager: manager,
210210
connectorName: connector.name,
211211
connectorType: connector.provider,
212-
provisionMode: connector.provisionMode,
213-
credentialProviderArn: connector.credentialProviderArn,
214-
});
212+
};
213+
const conn =
214+
connector.provisionMode === 'QUICK_CREATE'
215+
? new AgentCorePaymentConnector(
216+
this,
217+
`Payment${mgrId}${connId}`,
218+
{
219+
...baseConnectorProps,
220+
provisionMode: 'QUICK_CREATE',
221+
} as unknown as ConstructorParameters<typeof AgentCorePaymentConnector>[2]
222+
)
223+
: new AgentCorePaymentConnector(this, `Payment${mgrId}${connId}`, {
224+
...baseConnectorProps,
225+
credentialProviderArn: connector.credentialProviderArn!,
226+
});
215227

216228
// Wire first connector's ID as env var (eligible agents only)
217229
if (connector === payment.connectors[0]) {
@@ -224,12 +236,18 @@ export class AgentCoreStack extends Stack {
224236
new CfnOutput(this, `Payment${mgrId}${connId}ConnectorId`, {
225237
value: conn.paymentConnectorId,
226238
});
227-
new CfnOutput(this, `Payment${mgrId}${connId}ConnectorStatus`, {
228-
value: conn.paymentConnectorStatus,
229-
});
230-
new CfnOutput(this, `Payment${mgrId}${connId}AuthorizationUrl`, {
231-
value: conn.authorizationUrl,
232-
});
239+
if (connector.provisionMode === 'QUICK_CREATE') {
240+
const quickCreateConnector = conn as AgentCorePaymentConnector & {
241+
paymentConnectorStatus: string;
242+
authorizationUrl: string;
243+
};
244+
new CfnOutput(this, `Payment${mgrId}${connId}ConnectorStatus`, {
245+
value: quickCreateConnector.paymentConnectorStatus,
246+
});
247+
new CfnOutput(this, `Payment${mgrId}${connId}AuthorizationUrl`, {
248+
value: quickCreateConnector.authorizationUrl,
249+
});
250+
}
233251
}
234252

235253
// CFN Outputs for post-deploy state parsing

0 commit comments

Comments
 (0)