Skip to content

Commit cce87ac

Browse files
author
awstools
committed
feat(client-apprunner): This release adds support for private App Runner services. Services may now be configured to be made private and only accessible from a VPC. The changes include a new VpcIngressConnection resource and several new and modified APIs.
1 parent dc1adcf commit cce87ac

14 files changed

+2581
-49
lines changed

Diff for: clients/client-apprunner/src/AppRunner.ts

+229
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ import {
3232
CreateVpcConnectorCommandInput,
3333
CreateVpcConnectorCommandOutput,
3434
} from "./commands/CreateVpcConnectorCommand";
35+
import {
36+
CreateVpcIngressConnectionCommand,
37+
CreateVpcIngressConnectionCommandInput,
38+
CreateVpcIngressConnectionCommandOutput,
39+
} from "./commands/CreateVpcIngressConnectionCommand";
3540
import {
3641
DeleteAutoScalingConfigurationCommand,
3742
DeleteAutoScalingConfigurationCommandInput,
@@ -57,6 +62,11 @@ import {
5762
DeleteVpcConnectorCommandInput,
5863
DeleteVpcConnectorCommandOutput,
5964
} from "./commands/DeleteVpcConnectorCommand";
65+
import {
66+
DeleteVpcIngressConnectionCommand,
67+
DeleteVpcIngressConnectionCommandInput,
68+
DeleteVpcIngressConnectionCommandOutput,
69+
} from "./commands/DeleteVpcIngressConnectionCommand";
6070
import {
6171
DescribeAutoScalingConfigurationCommand,
6272
DescribeAutoScalingConfigurationCommandInput,
@@ -82,6 +92,11 @@ import {
8292
DescribeVpcConnectorCommandInput,
8393
DescribeVpcConnectorCommandOutput,
8494
} from "./commands/DescribeVpcConnectorCommand";
95+
import {
96+
DescribeVpcIngressConnectionCommand,
97+
DescribeVpcIngressConnectionCommandInput,
98+
DescribeVpcIngressConnectionCommandOutput,
99+
} from "./commands/DescribeVpcIngressConnectionCommand";
85100
import {
86101
DisassociateCustomDomainCommand,
87102
DisassociateCustomDomainCommandInput,
@@ -122,6 +137,11 @@ import {
122137
ListVpcConnectorsCommandInput,
123138
ListVpcConnectorsCommandOutput,
124139
} from "./commands/ListVpcConnectorsCommand";
140+
import {
141+
ListVpcIngressConnectionsCommand,
142+
ListVpcIngressConnectionsCommandInput,
143+
ListVpcIngressConnectionsCommandOutput,
144+
} from "./commands/ListVpcIngressConnectionsCommand";
125145
import {
126146
PauseServiceCommand,
127147
PauseServiceCommandInput,
@@ -148,6 +168,11 @@ import {
148168
UpdateServiceCommandInput,
149169
UpdateServiceCommandOutput,
150170
} from "./commands/UpdateServiceCommand";
171+
import {
172+
UpdateVpcIngressConnectionCommand,
173+
UpdateVpcIngressConnectionCommandInput,
174+
UpdateVpcIngressConnectionCommandOutput,
175+
} from "./commands/UpdateVpcIngressConnectionCommand";
151176

152177
/**
153178
* <fullname>App Runner</fullname>
@@ -389,6 +414,38 @@ export class AppRunner extends AppRunnerClient {
389414
}
390415
}
391416

417+
/**
418+
* <p>Create an App Runner VPC Ingress Connection resource. App Runner requires this resource when you want to associate your App Runner service with an Amazon VPC endpoint.</p>
419+
*/
420+
public createVpcIngressConnection(
421+
args: CreateVpcIngressConnectionCommandInput,
422+
options?: __HttpHandlerOptions
423+
): Promise<CreateVpcIngressConnectionCommandOutput>;
424+
public createVpcIngressConnection(
425+
args: CreateVpcIngressConnectionCommandInput,
426+
cb: (err: any, data?: CreateVpcIngressConnectionCommandOutput) => void
427+
): void;
428+
public createVpcIngressConnection(
429+
args: CreateVpcIngressConnectionCommandInput,
430+
options: __HttpHandlerOptions,
431+
cb: (err: any, data?: CreateVpcIngressConnectionCommandOutput) => void
432+
): void;
433+
public createVpcIngressConnection(
434+
args: CreateVpcIngressConnectionCommandInput,
435+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateVpcIngressConnectionCommandOutput) => void),
436+
cb?: (err: any, data?: CreateVpcIngressConnectionCommandOutput) => void
437+
): Promise<CreateVpcIngressConnectionCommandOutput> | void {
438+
const command = new CreateVpcIngressConnectionCommand(args);
439+
if (typeof optionsOrCb === "function") {
440+
this.send(command, optionsOrCb);
441+
} else if (typeof cb === "function") {
442+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
443+
this.send(command, optionsOrCb || {}, cb);
444+
} else {
445+
return this.send(command, optionsOrCb);
446+
}
447+
}
448+
392449
/**
393450
* <p>Delete an App Runner automatic scaling configuration resource. You can delete a specific revision or the latest active revision. You can't delete a
394451
* configuration that's used by one or more App Runner services.</p>
@@ -492,6 +549,10 @@ export class AppRunner extends AppRunnerClient {
492549
* <p>Delete an App Runner service.</p>
493550
* <p>This is an asynchronous operation. On a successful call, you can use the returned <code>OperationId</code> and the <a>ListOperations</a>
494551
* call to track the operation's progress.</p>
552+
* <note>
553+
* <p>Make sure that you don't have any active VPCIngressConnections associated with the service you want to delete.
554+
* </p>
555+
* </note>
495556
*/
496557
public deleteService(
497558
args: DeleteServiceCommandInput,
@@ -555,6 +616,61 @@ export class AppRunner extends AppRunnerClient {
555616
}
556617
}
557618

619+
/**
620+
* <p>Delete an App Runner VPC Ingress Connection resource that's associated with an App Runner service. The VPC Ingress Connection must be in one of the following states to be deleted:
621+
* </p>
622+
* <ul>
623+
* <li>
624+
* <p>
625+
* <code>AVAILABLE</code>
626+
* </p>
627+
* </li>
628+
* <li>
629+
* <p>
630+
* <code>FAILED_CREATION</code>
631+
* </p>
632+
* </li>
633+
* <li>
634+
* <p>
635+
* <code>FAILED_UPDATE</code>
636+
* </p>
637+
* </li>
638+
* <li>
639+
* <p>
640+
* <code>FAILED_DELETION</code>
641+
* </p>
642+
* </li>
643+
* </ul>
644+
*/
645+
public deleteVpcIngressConnection(
646+
args: DeleteVpcIngressConnectionCommandInput,
647+
options?: __HttpHandlerOptions
648+
): Promise<DeleteVpcIngressConnectionCommandOutput>;
649+
public deleteVpcIngressConnection(
650+
args: DeleteVpcIngressConnectionCommandInput,
651+
cb: (err: any, data?: DeleteVpcIngressConnectionCommandOutput) => void
652+
): void;
653+
public deleteVpcIngressConnection(
654+
args: DeleteVpcIngressConnectionCommandInput,
655+
options: __HttpHandlerOptions,
656+
cb: (err: any, data?: DeleteVpcIngressConnectionCommandOutput) => void
657+
): void;
658+
public deleteVpcIngressConnection(
659+
args: DeleteVpcIngressConnectionCommandInput,
660+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteVpcIngressConnectionCommandOutput) => void),
661+
cb?: (err: any, data?: DeleteVpcIngressConnectionCommandOutput) => void
662+
): Promise<DeleteVpcIngressConnectionCommandOutput> | void {
663+
const command = new DeleteVpcIngressConnectionCommand(args);
664+
if (typeof optionsOrCb === "function") {
665+
this.send(command, optionsOrCb);
666+
} else if (typeof cb === "function") {
667+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
668+
this.send(command, optionsOrCb || {}, cb);
669+
} else {
670+
return this.send(command, optionsOrCb);
671+
}
672+
}
673+
558674
/**
559675
* <p>Return a full description of an App Runner automatic scaling configuration resource.</p>
560676
*/
@@ -715,6 +831,38 @@ export class AppRunner extends AppRunnerClient {
715831
}
716832
}
717833

834+
/**
835+
* <p>Return a full description of an App Runner VPC Ingress Connection resource.</p>
836+
*/
837+
public describeVpcIngressConnection(
838+
args: DescribeVpcIngressConnectionCommandInput,
839+
options?: __HttpHandlerOptions
840+
): Promise<DescribeVpcIngressConnectionCommandOutput>;
841+
public describeVpcIngressConnection(
842+
args: DescribeVpcIngressConnectionCommandInput,
843+
cb: (err: any, data?: DescribeVpcIngressConnectionCommandOutput) => void
844+
): void;
845+
public describeVpcIngressConnection(
846+
args: DescribeVpcIngressConnectionCommandInput,
847+
options: __HttpHandlerOptions,
848+
cb: (err: any, data?: DescribeVpcIngressConnectionCommandOutput) => void
849+
): void;
850+
public describeVpcIngressConnection(
851+
args: DescribeVpcIngressConnectionCommandInput,
852+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeVpcIngressConnectionCommandOutput) => void),
853+
cb?: (err: any, data?: DescribeVpcIngressConnectionCommandOutput) => void
854+
): Promise<DescribeVpcIngressConnectionCommandOutput> | void {
855+
const command = new DescribeVpcIngressConnectionCommand(args);
856+
if (typeof optionsOrCb === "function") {
857+
this.send(command, optionsOrCb);
858+
} else if (typeof cb === "function") {
859+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
860+
this.send(command, optionsOrCb || {}, cb);
861+
} else {
862+
return this.send(command, optionsOrCb);
863+
}
864+
}
865+
718866
/**
719867
* <p>Disassociate a custom domain name from an App Runner service.</p>
720868
* <p>Certificates tracking domain validity are associated with a custom domain and are stored in <a href="https://docs.aws.amazon.com/acm/latest/userguide">AWS
@@ -981,6 +1129,38 @@ export class AppRunner extends AppRunnerClient {
9811129
}
9821130
}
9831131

1132+
/**
1133+
* <p>Return a list of App Runner VPC Ingress Connections in your Amazon Web Services account.</p>
1134+
*/
1135+
public listVpcIngressConnections(
1136+
args: ListVpcIngressConnectionsCommandInput,
1137+
options?: __HttpHandlerOptions
1138+
): Promise<ListVpcIngressConnectionsCommandOutput>;
1139+
public listVpcIngressConnections(
1140+
args: ListVpcIngressConnectionsCommandInput,
1141+
cb: (err: any, data?: ListVpcIngressConnectionsCommandOutput) => void
1142+
): void;
1143+
public listVpcIngressConnections(
1144+
args: ListVpcIngressConnectionsCommandInput,
1145+
options: __HttpHandlerOptions,
1146+
cb: (err: any, data?: ListVpcIngressConnectionsCommandOutput) => void
1147+
): void;
1148+
public listVpcIngressConnections(
1149+
args: ListVpcIngressConnectionsCommandInput,
1150+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListVpcIngressConnectionsCommandOutput) => void),
1151+
cb?: (err: any, data?: ListVpcIngressConnectionsCommandOutput) => void
1152+
): Promise<ListVpcIngressConnectionsCommandOutput> | void {
1153+
const command = new ListVpcIngressConnectionsCommand(args);
1154+
if (typeof optionsOrCb === "function") {
1155+
this.send(command, optionsOrCb);
1156+
} else if (typeof cb === "function") {
1157+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
1158+
this.send(command, optionsOrCb || {}, cb);
1159+
} else {
1160+
return this.send(command, optionsOrCb);
1161+
}
1162+
}
1163+
9841164
/**
9851165
* <p>Pause an active App Runner service. App Runner reduces compute capacity for the service to zero and loses state (for example, ephemeral storage is
9861166
* removed).</p>
@@ -1178,4 +1358,53 @@ export class AppRunner extends AppRunnerClient {
11781358
return this.send(command, optionsOrCb);
11791359
}
11801360
}
1361+
1362+
/**
1363+
* <p>Update an existing App Runner VPC Ingress Connection resource. The VPC Ingress Connection must be in one of the following states to be updated:</p>
1364+
* <ul>
1365+
* <li>
1366+
* <p>
1367+
* AVAILABLE
1368+
* </p>
1369+
* </li>
1370+
* <li>
1371+
* <p>
1372+
* FAILED_CREATION
1373+
* </p>
1374+
* </li>
1375+
* <li>
1376+
* <p>
1377+
* FAILED_UPDATE
1378+
* </p>
1379+
* </li>
1380+
* </ul>
1381+
*/
1382+
public updateVpcIngressConnection(
1383+
args: UpdateVpcIngressConnectionCommandInput,
1384+
options?: __HttpHandlerOptions
1385+
): Promise<UpdateVpcIngressConnectionCommandOutput>;
1386+
public updateVpcIngressConnection(
1387+
args: UpdateVpcIngressConnectionCommandInput,
1388+
cb: (err: any, data?: UpdateVpcIngressConnectionCommandOutput) => void
1389+
): void;
1390+
public updateVpcIngressConnection(
1391+
args: UpdateVpcIngressConnectionCommandInput,
1392+
options: __HttpHandlerOptions,
1393+
cb: (err: any, data?: UpdateVpcIngressConnectionCommandOutput) => void
1394+
): void;
1395+
public updateVpcIngressConnection(
1396+
args: UpdateVpcIngressConnectionCommandInput,
1397+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateVpcIngressConnectionCommandOutput) => void),
1398+
cb?: (err: any, data?: UpdateVpcIngressConnectionCommandOutput) => void
1399+
): Promise<UpdateVpcIngressConnectionCommandOutput> | void {
1400+
const command = new UpdateVpcIngressConnectionCommand(args);
1401+
if (typeof optionsOrCb === "function") {
1402+
this.send(command, optionsOrCb);
1403+
} else if (typeof cb === "function") {
1404+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
1405+
this.send(command, optionsOrCb || {}, cb);
1406+
} else {
1407+
return this.send(command, optionsOrCb);
1408+
}
1409+
}
11811410
}

0 commit comments

Comments
 (0)