import { checkExceptions , createWaiter , WaiterConfiguration , WaiterResult , WaiterState } from "@aws-sdk/util-waiter" ; import { DescribeCacheClustersCommand , DescribeCacheClustersCommandInput , } from "../commands/DescribeCacheClustersCommand" ; import { ElastiCacheClient } from "../ElastiCacheClient" ; const checkState = async ( client , input ) : Promise < WaiterResult > => { let reason ; try { const result = await client . send ( new DescribeCacheClustersCommand ( input ) ) ; reason = result ; try { const returnComparator = ( ) => { const flat_1 = [ ] . concat ( ... result . CacheClusters ) ; const projection_3 = flat_1 . map ( ( element_2 ) => { return element_2 . CacheClusterStatus ; } ) ; return projection_3 ; } ; let allStringEq_5 = returnComparator ( ) . length > 0 ; for ( const element_4 of returnComparator ( ) ) { allStringEq_5 = allStringEq_5 && element_4 == "available" ; } if ( allStringEq_5 ) { return { state : WaiterState . SUCCESS , reason } ; } } catch ( e ) { } try { const returnComparator = ( ) => { const flat_1 = [ ] . concat ( ... result . CacheClusters ) ; const projection_3 = flat_1 . map ( ( element_2 ) => { return element_2 . CacheClusterStatus ; } ) ; return projection_3 ; } ; for ( const anyStringEq_4 of returnComparator ( ) ) { if ( anyStringEq_4 == "deleted" ) { return { state : WaiterState . FAILURE , reason } ; } } } catch ( e ) { } try { const returnComparator = ( ) => { const flat_1 = [ ] . concat ( ... result . CacheClusters ) ; const projection_3 = flat_1 . map ( ( element_2 ) => { return element_2 . CacheClusterStatus ; } ) ; return projection_3 ; } ; for ( const anyStringEq_4 of returnComparator ( ) ) { if ( anyStringEq_4 == "deleting" ) { return { state : WaiterState . FAILURE , reason } ; } } } catch ( e ) { } try { const returnComparator = ( ) => { const flat_1 = [ ] . concat ( ... result . CacheClusters ) ; const projection_3 = flat_1 . map ( ( element_2 ) => { return element_2 . CacheClusterStatus ; } ) ; return projection_3 ; } ; for ( const anyStringEq_4 of returnComparator ( ) ) { if ( anyStringEq_4 == "incompatible-network" ) { return { state : WaiterState . FAILURE , reason } ; } } } catch ( e ) { } try { const returnComparator = ( ) => { const flat_1 = [ ] . concat ( ... result . CacheClusters ) ; const projection_3 = flat_1 . map ( ( element_2 ) => { return element_2 . CacheClusterStatus ; } ) ; return projection_3 ; } ; for ( const anyStringEq_4 of returnComparator ( ) ) { if ( anyStringEq_4 == "restore-failed" ) { return { state : WaiterState . FAILURE , reason } ; } } } catch ( e ) { } } catch ( exception ) { reason = exception ; } return { state : WaiterState . RETRY , reason } ; } ; deprecated export const waitForCacheClusterAvailable = async ( params , input ) : Promise < WaiterResult > => { const serviceDefaults = { minDelay : 15 , maxDelay : 120 } ; return createWaiter ( { ... serviceDefaults , ... params } , input , checkState ) ; } ; param params param input export const waitUntilCacheClusterAvailable = async ( params , input ) : Promise < WaiterResult > => { const serviceDefaults = { minDelay : 15 , maxDelay : 120 } ; const result = await createWaiter ( { ... serviceDefaults , ... params } , input , checkState ) ; return checkExceptions ( result ) ; } ;