amazonica
amazonica copied to clipboard
Waiters are difficult to get to
It would be nice if waiters were a little more easily exposed. It took me a while to tease it out but for CloudFormationWaiters I had to do the following:
(def client (AmazonCloudFormationClientBuilder/defaultClient))
(defn wait-complete [stack-name]
(let [waiter (.stackCreateComplete (.waiters client))]
(.run waiter (WaiterParameters. (let [request (DescribeStacksRequest.)]
(.setStackName request stack-name)
request)))))
(defn wait-delete [stack-name]
(let [waiter (.stackDeleteComplete (.waiters client))]
(.run waiter (WaiterParameters. (let [request (DescribeStacksRequest.)]
(.setStackName request stack-name)
request)))))
Other services that use waiters: appstream, autoscaling, cloudfront, cloudwatch, codedeploy, dynamodbv2, ec2, ecs, elasticache, elasticloadbalancing, elasticmapreduce, elastictranscoder, glacier, identitymanagement, kinesis, machinelearning, opsworks, rds, redshift, route53, s3, simplemail,
I used a similar code, but instead of the defaultClient above, I used:
(amazonica.core/candidate-client com.amazonaws.services.rds.AmazonRDSClient {})
This would be awesome to get added to the library.