prefect_aws.client_waiter
Task for waiting on a long-running AWS job
client_waiter(client, waiter_name, aws_credentials, waiter_definition=None, **waiter_kwargs)
async
Uses the underlying boto3 waiter functionality.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
client
|
str
|
The AWS client on which to wait (e.g., 'client_wait', 'ec2', etc). |
required |
waiter_name
|
str
|
The name of the waiter to instantiate. You may also use a custom waiter name, if you supply an accompanying waiter definition dict. |
required |
aws_credentials
|
AwsCredentials
|
Credentials to use for authentication with AWS. |
required |
waiter_definition
|
Optional[Dict[str, Any]]
|
A valid custom waiter model, as a dict. Note that if you supply a custom definition, it is assumed that the provided 'waiter_name' is contained within the waiter definition dict. |
None
|
**waiter_kwargs
|
Optional[Dict[str, Any]]
|
Arguments to pass to the |
{}
|
Example
Run an ec2 waiter until instance_exists.
from prefect import flow
from prefect_aws import AwsCredentials
from prefect_aws.client_wait import client_waiter
@flow
def example_client_wait_flow():
aws_credentials = AwsCredentials(
aws_access_key_id="acccess_key_id",
aws_secret_access_key="secret_access_key"
)
waiter = client_waiter(
"ec2",
"instance_exists",
aws_credentials
)
return waiter
example_client_wait_flow()
Source code in prefect_aws/client_waiter.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
|