boto / botocore

The low-level, core functionality of boto3 and the AWS CLI.
Apache License 2.0
1.44k stars 1.06k forks source link

Add missing waiters for RDS Blue green deployment #3118

Closed patrickmagyarskaylink closed 2 months ago

patrickmagyarskaylink commented 4 months ago

Describe the feature

Hey,

i need waiters for the rds blue green deployment. Currently i have created custom waiters but it would be great if they will implemented in the package.

Kind regards,

Patrick

Use Case

Automated RDS Mysql Upgrade

Proposed Solution

My custom waiters:

    "DBBlueGreenDeploymentSwitchOverCompleted": {
      "operation": "DescribeBlueGreenDeployments",
      "delay": 15,
      "maxAttempts": 40,
      "acceptors": [
        {
          "expected": "SWITCHOVER_IN_PROGRESS",
          "matcher": "pathAll",
          "state": "retry",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": "SWITCHOVER_COMPLETED",
          "matcher": "pathAll",
          "state": "success",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": "SWITCHOVER_FAILED",
          "matcher": "pathAll",
          "state": "failure",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": "PROVISIONING",
          "matcher": "pathAll",
          "state": "failure",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": "INVALID_CONFIGURATION",
          "matcher": "pathAny",
          "state": "failure",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": "DELETING",
          "matcher": "pathAny",
          "state": "failure",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": true,
          "matcher": "path",
          "state": "failure",
          "argument": "length(BlueGreenDeployments[]) == `0`"
        }
      ]
    },
    "DBBlueGreenDeploymentCompleted": {
      "operation": "DescribeBlueGreenDeployments",
      "delay": 30,
      "maxAttempts": 120,
      "acceptors": [
        {
          "expected": "PROVISIONING",
          "matcher": "pathAll",
          "state": "retry",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": "AVAILABLE",
          "matcher": "pathAll",
          "state": "success",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": "INVALID_CONFIGURATION",
          "matcher": "pathAny",
          "state": "failure",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": "DELETING",
          "matcher": "pathAny",
          "state": "failure",
          "argument": "BlueGreenDeployments[].Status"
        },
        {
          "expected": true,
          "matcher": "path",
          "state": "failure",
          "argument": "length(BlueGreenDeployments[]) == `0`"
        }
      ]
    }

Other Information

No response

Acknowledgements

SDK version used

botocore 1.34.26

Environment details (OS name and version, etc.)

Mac

tim-finnigan commented 2 months ago

Hello, thanks for your reaching out and for your patience here. It looks like the original issue (https://github.com/boto/boto3/issues/3618) auto-closed. As mentioned there:

Waiters are owned and implemented by service teams, so we can pass this along to the RDS team for review. Here are the existing RDS waiters: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rds.html#waiters.

Since waiters are used across SDKs, the waiter models need to be defined and maintained upstream by the service team. I will reach out to the RDS team with this request, and I created a new issue in our cross-SDK repository https://github.com/aws/aws-sdk/issues/728 to track this going forward. I'll share any updates in this new issue. Thanks again for creating this request and sharing your custom waiter definitions.

github-actions[bot] commented 2 months ago

This issue is now closed. Comments on closed issues are hard for our team to see. If you need more assistance, please open a new issue that references this one.