@@ -7,11 +7,41 @@ import { AppRunner } from 'aws-sdk'
77import globals from '../extensionGlobals'
88import {
99 AppRunnerClient as AppRunnerClientSDK ,
10+ DeleteServiceCommand ,
11+ DeleteServiceRequest ,
12+ DeleteServiceResponse ,
13+ DescribeServiceCommand ,
14+ DescribeServiceRequest ,
15+ DescribeServiceResponse ,
1016 ListServicesCommand ,
1117 ListServicesRequest ,
1218 ListServicesResponse ,
19+ paginateListServices ,
20+ PauseServiceCommand ,
21+ PauseServiceRequest ,
22+ PauseServiceResponse ,
23+ ResumeServiceCommand ,
24+ ResumeServiceRequest ,
25+ ResumeServiceResponse ,
26+ Service ,
27+ ServiceSummary ,
28+ StartDeploymentCommand ,
29+ StartDeploymentRequest ,
30+ StartDeploymentResponse ,
31+ UpdateServiceCommand ,
32+ UpdateServiceRequest ,
33+ UpdateServiceResponse ,
1334} from '@aws-sdk/client-apprunner'
1435import { ClientWrapper } from './clientWrapper'
36+ import { RequiredProps } from '../utilities/tsUtils'
37+
38+ export type AppRunnerService = RequiredProps < Service , 'ServiceName' | 'ServiceArn' | 'Status' | 'ServiceId' >
39+ export type AppRunnerServiceSummary = RequiredProps <
40+ ServiceSummary ,
41+ 'ServiceName' | 'ServiceArn' | 'Status' | 'ServiceId'
42+ >
43+
44+ type WithService < T > = T & { Service : AppRunnerService }
1545
1646export class AppRunnerClient extends ClientWrapper < AppRunnerClientSDK > {
1747 public constructor ( regionCode : string ) {
@@ -26,16 +56,20 @@ export class AppRunnerClient extends ClientWrapper<AppRunnerClientSDK> {
2656 return await this . makeRequest ( ListServicesCommand , request )
2757 }
2858
29- public async pauseService ( request : AppRunner . PauseServiceRequest ) : Promise < AppRunner . PauseServiceResponse > {
30- return ( await this . createSdkClient ( ) ) . pauseService ( request ) . promise ( )
59+ public paginateServices ( request : ListServicesRequest ) {
60+ return this . makePaginatedRequest ( paginateListServices , request , ( page ) => page . ServiceSummaryList )
61+ }
62+
63+ public async pauseService ( request : PauseServiceRequest ) : Promise < WithService < PauseServiceResponse > > {
64+ return await this . makeRequest ( PauseServiceCommand , request )
3165 }
3266
33- public async resumeService ( request : AppRunner . ResumeServiceRequest ) : Promise < AppRunner . ResumeServiceResponse > {
34- return ( await this . createSdkClient ( ) ) . resumeService ( request ) . promise ( )
67+ public async resumeService ( request : ResumeServiceRequest ) : Promise < WithService < ResumeServiceResponse > > {
68+ return await this . makeRequest ( ResumeServiceCommand , request )
3569 }
3670
37- public async updateService ( request : AppRunner . UpdateServiceRequest ) : Promise < AppRunner . UpdateServiceResponse > {
38- return ( await this . createSdkClient ( ) ) . updateService ( request ) . promise ( )
71+ public async updateService ( request : UpdateServiceRequest ) : Promise < WithService < UpdateServiceResponse > > {
72+ return await this . makeRequest ( UpdateServiceCommand , request )
3973 }
4074
4175 public async createConnection (
@@ -50,24 +84,20 @@ export class AppRunnerClient extends ClientWrapper<AppRunnerClientSDK> {
5084 return ( await this . createSdkClient ( ) ) . listConnections ( request ) . promise ( )
5185 }
5286
53- public async describeService (
54- request : AppRunner . DescribeServiceRequest
55- ) : Promise < AppRunner . DescribeServiceResponse > {
56- return ( await this . createSdkClient ( ) ) . describeService ( request ) . promise ( )
87+ public async describeService ( request : DescribeServiceRequest ) : Promise < WithService < DescribeServiceResponse > > {
88+ return await this . makeRequest ( DescribeServiceCommand , request )
5789 }
5890
59- public async startDeployment (
60- request : AppRunner . StartDeploymentRequest
61- ) : Promise < AppRunner . StartDeploymentResponse > {
62- return ( await this . createSdkClient ( ) ) . startDeployment ( request ) . promise ( )
91+ public async startDeployment ( request : StartDeploymentRequest ) : Promise < StartDeploymentResponse > {
92+ return await this . makeRequest ( StartDeploymentCommand , request )
6393 }
6494
6595 public async listOperations ( request : AppRunner . ListOperationsRequest ) : Promise < AppRunner . ListOperationsResponse > {
6696 return ( await this . createSdkClient ( ) ) . listOperations ( request ) . promise ( )
6797 }
6898
69- public async deleteService ( request : AppRunner . DeleteServiceRequest ) : Promise < AppRunner . DeleteServiceResponse > {
70- return ( await this . createSdkClient ( ) ) . deleteService ( request ) . promise ( )
99+ public async deleteService ( request : DeleteServiceRequest ) : Promise < WithService < DeleteServiceResponse > > {
100+ return this . makeRequest ( DeleteServiceCommand , request )
71101 }
72102
73103 protected async createSdkClient ( ) : Promise < AppRunner > {
0 commit comments