@@ -4413,6 +4413,33 @@ func (me *VpcService) DescribeVpnGatewayRoutes(ctx context.Context, vpnGatewayId
44134413 }
44144414}
44154415
4416+ func (me * VpcService ) DescribeVpcTaskResult (ctx context.Context , taskId * string ) (err error ) {
4417+
4418+ logId := getLogId (ctx )
4419+ request := vpc .NewDescribeVpcTaskResultRequest ()
4420+ defer func () {
4421+ if err != nil {
4422+ log .Printf ("[CRITAL]%s api[%s] fail,reason[%s]" , logId , request .GetAction (), err .Error ())
4423+ }
4424+ }()
4425+ request .TaskId = taskId
4426+ err = resource .Retry (readRetryTimeout , func () * resource.RetryError {
4427+ ratelimit .Check (request .GetAction ())
4428+ response , err := me .client .UseVpcClient ().DescribeVpcTaskResult (request )
4429+ if err != nil {
4430+ return retryError (err )
4431+ }
4432+ if response .Response .Status != nil && * response .Response .Status == VPN_TASK_STATUS_RUNNING {
4433+ return resource .RetryableError (errors .New ("VPN task is running" ))
4434+ }
4435+ return nil
4436+ })
4437+ if err != nil {
4438+ return err
4439+ }
4440+ return
4441+ }
4442+
44164443func (me * VpcService ) DescribeTaskResult (ctx context.Context , taskId * uint64 ) (err error ) {
44174444
44184445 logId := getLogId (ctx )
@@ -4520,7 +4547,7 @@ func (me *VpcService) DescribeVpnGwSslServerByFilter(ctx context.Context, filter
45204547 return
45214548}
45224549
4523- func (me * VpcService ) DeleteVpnGatewaySslServer (ctx context.Context , SslServerId string ) (errRet error ) {
4550+ func (me * VpcService ) DeleteVpnGatewaySslServer (ctx context.Context , SslServerId string ) (taskId uint64 , errRet error ) {
45244551 logId := getLogId (ctx )
45254552 request := vpc .NewDeleteVpnGatewaySslServerRequest ()
45264553 defer func () {
@@ -4532,10 +4559,11 @@ func (me *VpcService) DeleteVpnGatewaySslServer(ctx context.Context, SslServerId
45324559
45334560 errRet = resource .Retry (writeRetryTimeout , func () * resource.RetryError {
45344561 ratelimit .Check (request .GetAction ())
4535- _ , errRet = me .client .UseVpcClient ().DeleteVpnGatewaySslServer (request )
4562+ response , errRet : = me .client .UseVpcClient ().DeleteVpnGatewaySslServer (request )
45364563 if errRet != nil {
45374564 return retryError (errRet , InternalError )
45384565 }
4566+ taskId = * response .Response .TaskId
45394567 return nil
45404568 })
45414569 return
@@ -4621,7 +4649,7 @@ func (me *VpcService) DescribeVpnGwSslClientByFilter(ctx context.Context, filter
46214649 return
46224650}
46234651
4624- func (me * VpcService ) DeleteVpnGatewaySslClient (ctx context.Context , SslClientId string ) (errRet error ) {
4652+ func (me * VpcService ) DeleteVpnGatewaySslClient (ctx context.Context , SslClientId string ) (taskId * uint64 , errRet error ) {
46254653 logId := getLogId (ctx )
46264654 request := vpc .NewDeleteVpnGatewaySslClientRequest ()
46274655 defer func () {
@@ -4633,10 +4661,11 @@ func (me *VpcService) DeleteVpnGatewaySslClient(ctx context.Context, SslClientId
46334661
46344662 errRet = resource .Retry (writeRetryTimeout , func () * resource.RetryError {
46354663 ratelimit .Check (request .GetAction ())
4636- _ , errRet = me .client .UseVpcClient ().DeleteVpnGatewaySslClient (request )
4664+ response , errRet : = me .client .UseVpcClient ().DeleteVpnGatewaySslClient (request )
46374665 if errRet != nil {
46384666 return retryError (errRet , InternalError )
46394667 }
4668+ taskId = response .Response .TaskId
46404669 return nil
46414670 })
46424671 return
0 commit comments