aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap

AWS::CloudFormation::Delay (new resource)

Open
#589 19 comments 42 reactions 0 assignees View on GitHub
Coverage enhancement
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

## 1. Title

#### AWS::CloudFormation::Delay (new resource)

## 2. Scope of request

In order to solve issues such as throttling (#588) or other scenarios where you want to delay the the next resource in line for deployment, I would like to propose to create a new CloudFormation resource type. It should be very similar to `AWS::CloudFormation::WaitCondition`[1], except that we don't need to wait for an external process, only for a period of time.

## 3. Expected behavior

A property should be available to receive the timeout. The value must be in ISO8601 duration format [2], in the form: `PT#H#M#S`, where each # is the number of hours, minutes, and seconds, respectively.

#### In Create/Update/Delete, it should return `SUCCESS` after the amount of time specified by user has passed.

## 4. Suggest specific test cases

This is an example usage for this hypothetical resource type:

```yaml
DomainName1:
Type: AWS::ApiGateway::DomainName
Properties:
DomainName: example.com
CertificateArn: ...

Delay:
Type: AWS::CloudFormation::Delay
Properties:
Timeout: PT1M

# This should only start after 1 minute has passed
DomainName2:
Type: AWS::ApiGateway::DomainName
DependsOn: Delay
Properties:
DomainName: api.example.com
CertificateArn: ...
```

## 5. Helpful Links to speed up research and evaluation

#### [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html
#### [2]: http://en.wikipedia.org/wiki/ISO_8601#Durations

## 6. Category

5. Management (CloudTrail, Config...)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the AWS::CloudFormation::WaitCondition documentation and the ISO 8601 duration reference linked in the issue, then compare the motivation with issue #588. Done means defining the new resource's timeout behavior and ensuring Create, Update, and Delete return SUCCESS only after the requested duration.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.