1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Start using ClientRequestTokens in event lists (#31997)

* Start using ClientRequestTokens in event lists

* Include request token in all reqs that support it (basically all but check mode/changeset)

* Update placebo recordings

* Add comments for CRQ popping
This commit is contained in:
Ryan Brown 2017-10-23 14:39:13 -04:00 committed by Sloane Hertel
parent 70c58e74ab
commit 11c225e039
33 changed files with 550 additions and 913 deletions

View file

@ -223,6 +223,7 @@ stack_outputs:
import json import json
import time import time
import uuid
import traceback import traceback
from hashlib import sha1 from hashlib import sha1
@ -237,15 +238,25 @@ import ansible.module_utils.ec2
# import a class, otherwise we'll use a fully qualified path # import a class, otherwise we'll use a fully qualified path
from ansible.module_utils.ec2 import AWSRetry, boto_exception from ansible.module_utils.ec2 import AWSRetry, boto_exception
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_bytes from ansible.module_utils._text import to_bytes, to_native
def get_stack_events(cfn, stack_name): def get_stack_events(cfn, stack_name, token_filter=None):
'''This event data was never correct, it worked as a side effect. So the v2.3 format is different.''' '''This event data was never correct, it worked as a side effect. So the v2.3 format is different.'''
ret = {'events':[], 'log':[]} ret = {'events':[], 'log':[]}
try: try:
events = cfn.describe_stack_events(StackName=stack_name) pg = cfn.get_paginator(
'describe_stack_events'
).paginate(
StackName=stack_name
)
if token_filter is not None:
events = list(pg.search(
"StackEvents[?ClientRequestToken == '{0}']".format(token_filter)
))
else:
events = list(pg)
except (botocore.exceptions.ValidationError, botocore.exceptions.ClientError) as err: except (botocore.exceptions.ValidationError, botocore.exceptions.ClientError) as err:
error_msg = boto_exception(err) error_msg = boto_exception(err)
if 'does not exist' in error_msg: if 'does not exist' in error_msg:
@ -255,7 +266,7 @@ def get_stack_events(cfn, stack_name):
ret['log'].append('Unknown error: ' + str(error_msg)) ret['log'].append('Unknown error: ' + str(error_msg))
return ret return ret
for e in events.get('StackEvents', []): for e in events:
eventline = 'StackEvent {ResourceType} {LogicalResourceId} {ResourceStatus}'.format(**e) eventline = 'StackEvent {ResourceType} {LogicalResourceId} {ResourceStatus}'.format(**e)
ret['events'].append(eventline) ret['events'].append(eventline)
@ -281,7 +292,7 @@ def create_stack(module, stack_params, cfn):
try: try:
cfn.create_stack(**stack_params) cfn.create_stack(**stack_params)
result = stack_operation(cfn, stack_params['StackName'], 'CREATE') result = stack_operation(cfn, stack_params['StackName'], 'CREATE', stack_params['ClientRequestToken'])
except Exception as err: except Exception as err:
error_msg = boto_exception(err) error_msg = boto_exception(err)
module.fail_json(msg="Failed to create stack {0}: {1}.".format(stack_params.get('StackName'), error_msg), exception=traceback.format_exc()) module.fail_json(msg="Failed to create stack {0}: {1}.".format(stack_params.get('StackName'), error_msg), exception=traceback.format_exc())
@ -300,6 +311,10 @@ def create_changeset(module, stack_params, cfn):
module.fail_json(msg="Either 'template' or 'template_url' is required.") module.fail_json(msg="Either 'template' or 'template_url' is required.")
if module.params['changeset_name'] is not None: if module.params['changeset_name'] is not None:
stack_params['ChangeSetName'] = module.params['changeset_name'] stack_params['ChangeSetName'] = module.params['changeset_name']
# changesets don't accept ClientRequestToken parameters
stack_params.pop('ClientRequestToken', None)
try: try:
changeset_name = build_changeset_name(stack_params) changeset_name = build_changeset_name(stack_params)
stack_params['ChangeSetName'] = changeset_name stack_params['ChangeSetName'] = changeset_name
@ -336,7 +351,7 @@ def update_stack(module, stack_params, cfn):
# don't need to be updated. # don't need to be updated.
try: try:
cfn.update_stack(**stack_params) cfn.update_stack(**stack_params)
result = stack_operation(cfn, stack_params['StackName'], 'UPDATE') result = stack_operation(cfn, stack_params['StackName'], 'UPDATE', stack_params['ClientRequestToken'])
except Exception as err: except Exception as err:
error_msg = boto_exception(err) error_msg = boto_exception(err)
if 'No updates are to be performed.' in error_msg: if 'No updates are to be performed.' in error_msg:
@ -368,7 +383,7 @@ def boto_supports_termination_protection(cfn):
return hasattr(cfn, "update_termination_protection") return hasattr(cfn, "update_termination_protection")
def stack_operation(cfn, stack_name, operation): def stack_operation(cfn, stack_name, operation, op_token=None):
'''gets the status of a stack while it is created/updated/deleted''' '''gets the status of a stack while it is created/updated/deleted'''
existed = [] existed = []
while True: while True:
@ -379,15 +394,15 @@ def stack_operation(cfn, stack_name, operation):
# If the stack previously existed, and now can't be found then it's # If the stack previously existed, and now can't be found then it's
# been deleted successfully. # been deleted successfully.
if 'yes' in existed or operation == 'DELETE': # stacks may delete fast, look in a few ways. if 'yes' in existed or operation == 'DELETE': # stacks may delete fast, look in a few ways.
ret = get_stack_events(cfn, stack_name) ret = get_stack_events(cfn, stack_name, op_token)
ret.update({'changed': True, 'output': 'Stack Deleted'}) ret.update({'changed': True, 'output': 'Stack Deleted'})
return ret return ret
else: else:
return {'changed': True, 'failed': True, 'output': 'Stack Not Found', 'exception': traceback.format_exc()} return {'changed': True, 'failed': True, 'output': 'Stack Not Found', 'exception': traceback.format_exc()}
ret = get_stack_events(cfn, stack_name) ret = get_stack_events(cfn, stack_name, op_token)
if not stack: if not stack:
if 'yes' in existed or operation == 'DELETE': # stacks may delete fast, look in a few ways. if 'yes' in existed or operation == 'DELETE': # stacks may delete fast, look in a few ways.
ret = get_stack_events(cfn, stack_name) ret = get_stack_events(cfn, stack_name, op_token)
ret.update({'changed': True, 'output': 'Stack Deleted'}) ret.update({'changed': True, 'output': 'Stack Deleted'})
return ret return ret
else: else:
@ -430,6 +445,9 @@ def build_changeset_name(stack_params):
def check_mode_changeset(module, stack_params, cfn): def check_mode_changeset(module, stack_params, cfn):
"""Create a change set, describe it and delete it before returning check mode outputs.""" """Create a change set, describe it and delete it before returning check mode outputs."""
stack_params['ChangeSetName'] = build_changeset_name(stack_params) stack_params['ChangeSetName'] = build_changeset_name(stack_params)
# changesets don't accept ClientRequestToken parameters
stack_params.pop('ClientRequestToken', None)
try: try:
change_set = cfn.create_change_set(**stack_params) change_set = cfn.create_change_set(**stack_params)
for i in range(60): # total time 5 min for i in range(60): # total time 5 min
@ -506,6 +524,7 @@ def main():
# collect the parameters that are passed to boto3. Keeps us from having so many scalars floating around. # collect the parameters that are passed to boto3. Keeps us from having so many scalars floating around.
stack_params = { stack_params = {
'Capabilities': ['CAPABILITY_IAM', 'CAPABILITY_NAMED_IAM'], 'Capabilities': ['CAPABILITY_IAM', 'CAPABILITY_NAMED_IAM'],
'ClientRequestToken': to_native(uuid.uuid4()),
} }
state = module.params['state'] state = module.params['state']
stack_params['StackName'] = module.params['stack_name'] stack_params['StackName'] = module.params['stack_name']
@ -610,7 +629,7 @@ def main():
result = {'changed': False, 'output': 'Stack not found.'} result = {'changed': False, 'output': 'Stack not found.'}
else: else:
cfn.delete_stack(StackName=stack_params['StackName']) cfn.delete_stack(StackName=stack_params['StackName'])
result = stack_operation(cfn, stack_params['StackName'], 'DELETE') result = stack_operation(cfn, stack_params['StackName'], 'DELETE', stack_params['ClientRequestToken'])
except Exception as err: except Exception as err:
module.fail_json(msg=boto_exception(err), exception=traceback.format_exc()) module.fail_json(msg=boto_exception(err), exception=traceback.format_exc())

View file

@ -1,14 +1,14 @@
{ {
"status_code": 200, "status_code": 200,
"data": { "data": {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "b5c37a4c-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "03fbfc36-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "b5c37a4c-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "03fbfc36-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:14 GMT", "date": "Fri, 20 Oct 2017 19:51:07 GMT",
"content-length": "393", "content-length": "393",
"content-type": "text/xml" "content-type": "text/xml"
} }

View file

@ -4,10 +4,10 @@
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "d86831b6-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "170d1e02-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "d86831b6-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "170d1e02-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:23:12 GMT", "date": "Fri, 20 Oct 2017 19:51:39 GMT",
"content-length": "212", "content-length": "212",
"content-type": "text/xml" "content-type": "text/xml"
} }

View file

@ -3,34 +3,35 @@
"data": { "data": {
"StackEvents": [ "StackEvents": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035", "EventId": "04032730-b5d0-11e7-86b8-503ac93168c5",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack", "ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"ResourceStatusReason": "User Initiated", "ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "ansible-test-basic-yaml" "LogicalResourceId": "ansible-test-basic-yaml"
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "b601e2e5-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "043d4a05-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "b601e2e5-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "043d4a05-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:14 GMT", "date": "Fri, 20 Oct 2017 19:51:08 GMT",
"content-length": "1097", "content-length": "1183",
"content-type": "text/xml" "content-type": "text/xml"
} }
} }

View file

@ -1,100 +0,0 @@
{
"status_code": 200,
"data": {
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_COMPLETE-2017-03-22T16:23:01.740Z",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 1,
"microsecond": 740000,
"year": 2017,
"day": 22,
"minute": 23
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-ia65cw1pppku",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:41.153Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 41,
"microsecond": 153000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-ia65cw1pppku",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:39.863Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 39,
"microsecond": 863000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"LogicalResourceId": "ansible-test-basic-yaml"
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "d215d8ba-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "d215d8ba-0f1b-11e7-8ccd-097b5e15ba0c",
"vary": "Accept-Encoding",
"content-length": "3144",
"content-type": "text/xml",
"date": "Wed, 22 Mar 2017 16:23:01 GMT"
}
}
}
}

View file

@ -1,100 +0,0 @@
{
"status_code": 200,
"data": {
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_COMPLETE-2017-03-22T16:23:01.740Z",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 1,
"microsecond": 740000,
"year": 2017,
"day": 22,
"minute": 23
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-ia65cw1pppku",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:41.153Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 41,
"microsecond": 153000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-ia65cw1pppku",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:39.863Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 39,
"microsecond": 863000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"LogicalResourceId": "ansible-test-basic-yaml"
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "d532cfbf-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "d532cfbf-0f1b-11e7-8ccd-097b5e15ba0c",
"vary": "Accept-Encoding",
"content-length": "3144",
"content-type": "text/xml",
"date": "Wed, 22 Mar 2017 16:23:07 GMT"
}
}
}
}

View file

@ -1,119 +0,0 @@
{
"status_code": 200,
"data": {
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "d5bff430-0f1b-11e7-95e6-503ac931688d",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 8,
"microsecond": 234000,
"year": 2017,
"day": 22,
"minute": 23
},
"StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"LogicalResourceId": "ansible-test-basic-yaml"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_COMPLETE-2017-03-22T16:23:01.740Z",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 1,
"microsecond": 740000,
"year": 2017,
"day": 22,
"minute": 23
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-ia65cw1pppku",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:41.153Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 41,
"microsecond": 153000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-ia65cw1pppku",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:39.863Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 39,
"microsecond": 863000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"LogicalResourceId": "ansible-test-basic-yaml"
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "d855940c-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "d855940c-0f1b-11e7-8ccd-097b5e15ba0c",
"vary": "Accept-Encoding",
"content-length": "3844",
"content-type": "text/xml",
"date": "Wed, 22 Mar 2017 16:23:12 GMT"
}
}
}
}

View file

@ -3,35 +3,80 @@
"data": { "data": {
"StackEvents": [ "StackEvents": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035", "EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:12.754Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 12,
"microsecond": 754000,
"year": 2017,
"day": 20,
"minute": 51
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-13m2y4v8bptj4",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:11.159Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 11,
"microsecond": 159000,
"year": 2017,
"day": 20,
"minute": 51
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "04032730-b5d0-11e7-86b8-503ac93168c5",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack", "ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"ResourceStatusReason": "User Initiated", "ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "ansible-test-basic-yaml" "LogicalResourceId": "ansible-test-basic-yaml"
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "b9201348-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "075d9d71-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "b9201348-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "075d9d71-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:19 GMT", "vary": "Accept-Encoding",
"content-length": "1097", "content-length": "2730",
"content-type": "text/xml" "content-type": "text/xml",
"date": "Fri, 20 Oct 2017 19:51:13 GMT"
} }
} }
} }

View file

@ -3,35 +3,80 @@
"data": { "data": {
"StackEvents": [ "StackEvents": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035", "EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:12.754Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 12,
"microsecond": 754000,
"year": 2017,
"day": 20,
"minute": 51
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-13m2y4v8bptj4",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:11.159Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 11,
"microsecond": 159000,
"year": 2017,
"day": 20,
"minute": 51
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "04032730-b5d0-11e7-86b8-503ac93168c5",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack", "ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"ResourceStatusReason": "User Initiated", "ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "ansible-test-basic-yaml" "LogicalResourceId": "ansible-test-basic-yaml"
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "bc3f063b-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "0a7eb31b-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "bc3f063b-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "0a7eb31b-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:25 GMT", "vary": "Accept-Encoding",
"content-length": "1097", "content-length": "2730",
"content-type": "text/xml" "content-type": "text/xml",
"date": "Fri, 20 Oct 2017 19:51:19 GMT"
} }
} }
} }

View file

@ -3,35 +3,80 @@
"data": { "data": {
"StackEvents": [ "StackEvents": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035", "EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:12.754Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 12,
"microsecond": 754000,
"year": 2017,
"day": 20,
"minute": 51
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-13m2y4v8bptj4",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:11.159Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 11,
"microsecond": 159000,
"year": 2017,
"day": 20,
"minute": 51
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "04032730-b5d0-11e7-86b8-503ac93168c5",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack", "ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"ResourceStatusReason": "User Initiated", "ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "ansible-test-basic-yaml" "LogicalResourceId": "ansible-test-basic-yaml"
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "bf5d3682-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "0d9e1c06-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "bf5d3682-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "0d9e1c06-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:30 GMT", "vary": "Accept-Encoding",
"content-length": "1097", "content-length": "2730",
"content-type": "text/xml" "content-type": "text/xml",
"date": "Fri, 20 Oct 2017 19:51:24 GMT"
} }
} }
} }

View file

@ -3,35 +3,80 @@
"data": { "data": {
"StackEvents": [ "StackEvents": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035", "EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:12.754Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 12,
"microsecond": 754000,
"year": 2017,
"day": 20,
"minute": 51
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-13m2y4v8bptj4",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:11.159Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 11,
"microsecond": 159000,
"year": 2017,
"day": 20,
"minute": 51
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "04032730-b5d0-11e7-86b8-503ac93168c5",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack", "ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"ResourceStatusReason": "User Initiated", "ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "ansible-test-basic-yaml" "LogicalResourceId": "ansible-test-basic-yaml"
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "c27bb4ee-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "10bd84ca-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "c27bb4ee-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "10bd84ca-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:35 GMT", "vary": "Accept-Encoding",
"content-length": "1097", "content-length": "2730",
"content-type": "text/xml" "content-type": "text/xml",
"date": "Fri, 20 Oct 2017 19:51:29 GMT"
} }
} }
} }

View file

@ -3,55 +3,101 @@
"data": { "data": {
"StackEvents": [ "StackEvents": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:39.863Z", "EventId": "MyBucket-CREATE_COMPLETE-2017-10-20T19:51:33.200Z",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 33,
"microsecond": 200000,
"year": 2017,
"day": 20,
"minute": 51
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-13m2y4v8bptj4",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:12.754Z",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket", "ResourceType": "AWS::S3::Bucket",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 39, "second": 12,
"microsecond": 863000, "microsecond": 754000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-13m2y4v8bptj4",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:11.159Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 11,
"microsecond": 159000,
"year": 2017,
"day": 20,
"minute": 51
}, },
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n", "ResourceProperties": "{}\n",
"PhysicalResourceId": "", "PhysicalResourceId": "",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket" "LogicalResourceId": "MyBucket"
}, },
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035", "EventId": "04032730-b5d0-11e7-86b8-503ac93168c5",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack", "ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"ResourceStatusReason": "User Initiated", "ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "ansible-test-basic-yaml" "LogicalResourceId": "ansible-test-basic-yaml"
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "c59c2e1c-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "13dbb3fd-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "c59c2e1c-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "13dbb3fd-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:40 GMT", "vary": "Accept-Encoding",
"content-length": "1711", "content-length": "3490",
"content-type": "text/xml" "content-type": "text/xml",
"date": "Fri, 20 Oct 2017 19:51:34 GMT"
} }
} }
} }

View file

@ -3,77 +3,121 @@
"data": { "data": {
"StackEvents": [ "StackEvents": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:41.153Z", "EventId": "140d7220-b5d0-11e7-933f-50a686be7356",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 35,
"microsecond": 121000,
"year": 2017,
"day": 20,
"minute": 51
},
"StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "ansible-test-basic-yaml"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_COMPLETE-2017-10-20T19:51:33.200Z",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 19,
"__class__": "datetime",
"month": 10,
"second": 33,
"microsecond": 200000,
"year": 2017,
"day": 20,
"minute": 51
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-13m2y4v8bptj4",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:12.754Z",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket", "ResourceType": "AWS::S3::Bucket",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 41, "second": 12,
"microsecond": 153000, "microsecond": 754000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"ResourceStatusReason": "Resource creation Initiated", "ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n", "ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-ia65cw1pppku", "PhysicalResourceId": "ansible-test-basic-yaml-mybucket-13m2y4v8bptj4",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket" "LogicalResourceId": "MyBucket"
}, },
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:39.863Z", "EventId": "MyBucket-CREATE_IN_PROGRESS-2017-10-20T19:51:11.159Z",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket", "ResourceType": "AWS::S3::Bucket",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 39, "second": 11,
"microsecond": 863000, "microsecond": 159000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n", "ResourceProperties": "{}\n",
"PhysicalResourceId": "", "PhysicalResourceId": "",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "MyBucket" "LogicalResourceId": "MyBucket"
}, },
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035", "EventId": "04032730-b5d0-11e7-86b8-503ac93168c5",
"ResourceStatus": "CREATE_IN_PROGRESS", "ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack", "ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": { "Timestamp": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"ResourceStatusReason": "User Initiated", "ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"ClientRequestToken": "3faf3fb5-b289-41fc-b940-44151828f6cf",
"LogicalResourceId": "ansible-test-basic-yaml" "LogicalResourceId": "ansible-test-basic-yaml"
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "c8bc5a17-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "16faf590-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "c8bc5a17-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "16faf590-b5d0-11e7-ae09-550cfe4b2358",
"vary": "Accept-Encoding", "vary": "Accept-Encoding",
"content-length": "2471", "content-length": "4276",
"content-type": "text/xml", "content-type": "text/xml",
"date": "Wed, 22 Mar 2017 16:22:46 GMT" "date": "Fri, 20 Oct 2017 19:51:39 GMT"
} }
} }
} }

View file

@ -1,80 +0,0 @@
{
"status_code": 200,
"data": {
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:41.153Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 41,
"microsecond": 153000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-ia65cw1pppku",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:39.863Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 39,
"microsecond": 863000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"LogicalResourceId": "ansible-test-basic-yaml"
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "cbdb4cd1-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "cbdb4cd1-0f1b-11e7-8ccd-097b5e15ba0c",
"vary": "Accept-Encoding",
"content-length": "2471",
"content-type": "text/xml",
"date": "Wed, 22 Mar 2017 16:22:51 GMT"
}
}
}
}

View file

@ -1,80 +0,0 @@
{
"status_code": 200,
"data": {
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:41.153Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 41,
"microsecond": 153000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "ansible-test-basic-yaml-mybucket-ia65cw1pppku",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "MyBucket-CREATE_IN_PROGRESS-2017-03-22T16:22:39.863Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 39,
"microsecond": 863000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"ResourceProperties": "{}\n",
"PhysicalResourceId": "",
"LogicalResourceId": "MyBucket"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"EventId": "b5caf440-0f1b-11e7-8ebb-503aca41a035",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"ResourceStatusReason": "User Initiated",
"StackName": "ansible-test-basic-yaml",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"LogicalResourceId": "ansible-test-basic-yaml"
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "cef9cb47-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "cef9cb47-0f1b-11e7-8ccd-097b5e15ba0c",
"vary": "Accept-Encoding",
"content-length": "2471",
"content-type": "text/xml",
"date": "Wed, 22 Mar 2017 16:22:55 GMT"
}
}
}
}

View file

@ -3,34 +3,36 @@
"data": { "data": {
"Stacks": [ "Stacks": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"EnableTerminationProtection": false,
"Description": "Basic template that creates an S3 bucket", "Description": "Basic template that creates an S3 bucket",
"Tags": [], "Tags": [],
"StackStatusReason": "User Initiated", "StackStatusReason": "User Initiated",
"CreationTime": { "CreationTime": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"NotificationARNs": [], "NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS", "StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false "DisableRollback": false,
"RollbackConfiguration": {}
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "b5f14113-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "042974db-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "b5f14113-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "042974db-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:14 GMT", "date": "Fri, 20 Oct 2017 19:51:08 GMT",
"content-length": "869", "content-length": "975",
"content-type": "text/xml" "content-type": "text/xml"
} }
} }

View file

@ -1,37 +0,0 @@
{
"status_code": 200,
"data": {
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"Description": "Basic template that creates an S3 bucket",
"Tags": [],
"CreationTime": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "d205fa33-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "d205fa33-0f1b-11e7-8ccd-097b5e15ba0c",
"date": "Wed, 22 Mar 2017 16:23:01 GMT",
"content-length": "807",
"content-type": "text/xml"
}
}
}
}

View file

@ -1,37 +0,0 @@
{
"status_code": 200,
"data": {
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"Description": "Basic template that creates an S3 bucket",
"Tags": [],
"CreationTime": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "d52254fb-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "d52254fb-0f1b-11e7-8ccd-097b5e15ba0c",
"date": "Wed, 22 Mar 2017 16:23:07 GMT",
"content-length": "807",
"content-type": "text/xml"
}
}
}
}

View file

@ -1,43 +0,0 @@
{
"status_code": 200,
"data": {
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"Description": "Basic template that creates an S3 bucket",
"Tags": [],
"Outputs": [
{
"OutputKey": "TheName",
"OutputValue": "ansible-test-basic-yaml-mybucket-ia65cw1pppku"
}
],
"CreationTime": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"NotificationARNs": [],
"StackStatus": "CREATE_COMPLETE",
"DisableRollback": false
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "d83fe923-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "d83fe923-0f1b-11e7-8ccd-097b5e15ba0c",
"date": "Wed, 22 Mar 2017 16:23:11 GMT",
"content-length": "1008",
"content-type": "text/xml"
}
}
}
}

View file

@ -3,34 +3,35 @@
"data": { "data": {
"Stacks": [ "Stacks": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"Description": "Basic template that creates an S3 bucket", "Description": "Basic template that creates an S3 bucket",
"Tags": [], "Tags": [],
"StackStatusReason": "User Initiated", "EnableTerminationProtection": false,
"CreationTime": { "CreationTime": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"NotificationARNs": [], "NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS", "StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false "DisableRollback": false,
"RollbackConfiguration": {}
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "b90efc42-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "074b26dc-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "b90efc42-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "074b26dc-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:19 GMT", "date": "Fri, 20 Oct 2017 19:51:13 GMT",
"content-length": "869", "content-length": "913",
"content-type": "text/xml" "content-type": "text/xml"
} }
} }

View file

@ -3,34 +3,35 @@
"data": { "data": {
"Stacks": [ "Stacks": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"Description": "Basic template that creates an S3 bucket", "Description": "Basic template that creates an S3 bucket",
"Tags": [], "Tags": [],
"StackStatusReason": "User Initiated", "EnableTerminationProtection": false,
"CreationTime": { "CreationTime": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"NotificationARNs": [], "NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS", "StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false "DisableRollback": false,
"RollbackConfiguration": {}
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "bc2d2be9-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "0a6cb1b3-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "bc2d2be9-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "0a6cb1b3-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:24 GMT", "date": "Fri, 20 Oct 2017 19:51:18 GMT",
"content-length": "869", "content-length": "913",
"content-type": "text/xml" "content-type": "text/xml"
} }
} }

View file

@ -3,34 +3,35 @@
"data": { "data": {
"Stacks": [ "Stacks": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"Description": "Basic template that creates an S3 bucket", "Description": "Basic template that creates an S3 bucket",
"Tags": [], "Tags": [],
"StackStatusReason": "User Initiated", "EnableTerminationProtection": false,
"CreationTime": { "CreationTime": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"NotificationARNs": [], "NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS", "StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false "DisableRollback": false,
"RollbackConfiguration": {}
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "bf4c6d9c-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "0d8cddf1-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "bf4c6d9c-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "0d8cddf1-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:30 GMT", "date": "Fri, 20 Oct 2017 19:51:23 GMT",
"content-length": "869", "content-length": "913",
"content-type": "text/xml" "content-type": "text/xml"
} }
} }

View file

@ -3,34 +3,35 @@
"data": { "data": {
"Stacks": [ "Stacks": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"Description": "Basic template that creates an S3 bucket", "Description": "Basic template that creates an S3 bucket",
"Tags": [], "Tags": [],
"StackStatusReason": "User Initiated", "EnableTerminationProtection": false,
"CreationTime": { "CreationTime": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"NotificationARNs": [], "NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS", "StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false "DisableRollback": false,
"RollbackConfiguration": {}
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "c26a28ba-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "10ac94d5-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "c26a28ba-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "10ac94d5-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:35 GMT", "date": "Fri, 20 Oct 2017 19:51:28 GMT",
"content-length": "869", "content-length": "913",
"content-type": "text/xml" "content-type": "text/xml"
} }
} }

View file

@ -3,33 +3,35 @@
"data": { "data": {
"Stacks": [ "Stacks": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"Description": "Basic template that creates an S3 bucket", "Description": "Basic template that creates an S3 bucket",
"Tags": [], "Tags": [],
"EnableTerminationProtection": false,
"CreationTime": { "CreationTime": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"NotificationARNs": [], "NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS", "StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false "DisableRollback": false,
"RollbackConfiguration": {}
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "c589907a-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "13caeb1b-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "c589907a-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "13caeb1b-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:40 GMT", "date": "Fri, 20 Oct 2017 19:51:33 GMT",
"content-length": "807", "content-length": "913",
"content-type": "text/xml" "content-type": "text/xml"
} }
} }

View file

@ -3,33 +3,41 @@
"data": { "data": {
"Stacks": [ "Stacks": [
{ {
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/04023cd0-b5d0-11e7-86b8-503ac93168c5",
"Description": "Basic template that creates an S3 bucket", "Description": "Basic template that creates an S3 bucket",
"Tags": [], "Tags": [],
"Outputs": [
{
"OutputKey": "TheName",
"OutputValue": "ansible-test-basic-yaml-mybucket-13m2y4v8bptj4"
}
],
"EnableTerminationProtection": false,
"CreationTime": { "CreationTime": {
"hour": 16, "hour": 19,
"__class__": "datetime", "__class__": "datetime",
"month": 3, "month": 10,
"second": 14, "second": 8,
"microsecond": 662000, "microsecond": 324000,
"year": 2017, "year": 2017,
"day": 22, "day": 20,
"minute": 22 "minute": 51
}, },
"StackName": "ansible-test-basic-yaml", "StackName": "ansible-test-basic-yaml",
"NotificationARNs": [], "NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS", "StackStatus": "CREATE_COMPLETE",
"DisableRollback": false "DisableRollback": false,
"RollbackConfiguration": {}
} }
], ],
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 200, "HTTPStatusCode": 200,
"RequestId": "c8aacde5-0f1b-11e7-8ccd-097b5e15ba0c", "RequestId": "16ea53bb-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "c8aacde5-0f1b-11e7-8ccd-097b5e15ba0c", "x-amzn-requestid": "16ea53bb-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:46 GMT", "date": "Fri, 20 Oct 2017 19:51:39 GMT",
"content-length": "807", "content-length": "1115",
"content-type": "text/xml" "content-type": "text/xml"
} }
} }

View file

@ -1,37 +0,0 @@
{
"status_code": 200,
"data": {
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"Description": "Basic template that creates an S3 bucket",
"Tags": [],
"CreationTime": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "cbca0fb7-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "cbca0fb7-0f1b-11e7-8ccd-097b5e15ba0c",
"date": "Wed, 22 Mar 2017 16:22:51 GMT",
"content-length": "807",
"content-type": "text/xml"
}
}
}
}

View file

@ -1,37 +0,0 @@
{
"status_code": 200,
"data": {
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/ansible-test-basic-yaml/b5ca09e0-0f1b-11e7-8ebb-503aca41a035",
"Description": "Basic template that creates an S3 bucket",
"Tags": [],
"CreationTime": {
"hour": 16,
"__class__": "datetime",
"month": 3,
"second": 14,
"microsecond": 662000,
"year": 2017,
"day": 22,
"minute": 22
},
"StackName": "ansible-test-basic-yaml",
"NotificationARNs": [],
"StackStatus": "CREATE_IN_PROGRESS",
"DisableRollback": false
}
],
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "cee97795-0f1b-11e7-8ccd-097b5e15ba0c",
"HTTPHeaders": {
"x-amzn-requestid": "cee97795-0f1b-11e7-8ccd-097b5e15ba0c",
"date": "Wed, 22 Mar 2017 16:22:55 GMT",
"content-length": "807",
"content-type": "text/xml"
}
}
}
}

View file

@ -4,10 +4,10 @@
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 400, "HTTPStatusCode": 400,
"RequestId": "d9042387-0f1b-11e7-8b5d-eb16a54c5dc1", "RequestId": "179d9e46-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "d9042387-0f1b-11e7-8b5d-eb16a54c5dc1", "x-amzn-requestid": "179d9e46-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:23:13 GMT", "date": "Fri, 20 Oct 2017 19:51:40 GMT",
"content-length": "301", "content-length": "301",
"content-type": "text/xml", "content-type": "text/xml",
"connection": "close" "connection": "close"

View file

@ -4,10 +4,10 @@
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 400, "HTTPStatusCode": 400,
"RequestId": "d9408f71-0f1b-11e7-8267-e1c161d41249", "RequestId": "17d80f44-b5d0-11e7-80c4-9f499f779cdb",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "d9408f71-0f1b-11e7-8267-e1c161d41249", "x-amzn-requestid": "17d80f44-b5d0-11e7-80c4-9f499f779cdb",
"date": "Wed, 22 Mar 2017 16:23:13 GMT", "date": "Fri, 20 Oct 2017 19:51:40 GMT",
"content-length": "301", "content-length": "301",
"content-type": "text/xml", "content-type": "text/xml",
"connection": "close" "connection": "close"

View file

@ -4,10 +4,10 @@
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 400, "HTTPStatusCode": 400,
"RequestId": "d8c9b229-0f1b-11e7-9f76-f9c3e709b60b", "RequestId": "175fab26-b5d0-11e7-9d9b-45815c77100a",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "d8c9b229-0f1b-11e7-9f76-f9c3e709b60b", "x-amzn-requestid": "175fab26-b5d0-11e7-9d9b-45815c77100a",
"date": "Wed, 22 Mar 2017 16:23:12 GMT", "date": "Fri, 20 Oct 2017 19:51:40 GMT",
"content-length": "307", "content-length": "307",
"content-type": "text/xml", "content-type": "text/xml",
"connection": "close" "connection": "close"

View file

@ -4,10 +4,10 @@
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 400, "HTTPStatusCode": 400,
"RequestId": "d97a3d8c-0f1b-11e7-8683-29a71b5248c0", "RequestId": "181566c8-b5d0-11e7-9d9b-45815c77100a",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "d97a3d8c-0f1b-11e7-8683-29a71b5248c0", "x-amzn-requestid": "181566c8-b5d0-11e7-9d9b-45815c77100a",
"date": "Wed, 22 Mar 2017 16:23:13 GMT", "date": "Fri, 20 Oct 2017 19:51:41 GMT",
"content-length": "307", "content-length": "307",
"content-type": "text/xml", "content-type": "text/xml",
"connection": "close" "connection": "close"

View file

@ -4,10 +4,10 @@
"ResponseMetadata": { "ResponseMetadata": {
"RetryAttempts": 0, "RetryAttempts": 0,
"HTTPStatusCode": 400, "HTTPStatusCode": 400,
"RequestId": "b57ef7f9-0f1b-11e7-909a-5b7ba00cf4e6", "RequestId": "03b1107f-b5d0-11e7-ae09-550cfe4b2358",
"HTTPHeaders": { "HTTPHeaders": {
"x-amzn-requestid": "b57ef7f9-0f1b-11e7-909a-5b7ba00cf4e6", "x-amzn-requestid": "03b1107f-b5d0-11e7-ae09-550cfe4b2358",
"date": "Wed, 22 Mar 2017 16:22:13 GMT", "date": "Fri, 20 Oct 2017 19:51:07 GMT",
"content-length": "320", "content-length": "320",
"content-type": "text/xml", "content-type": "text/xml",
"connection": "close" "connection": "close"

View file

@ -78,6 +78,7 @@ def test_basic_s3_stack(maybe_sleep, placeboify):
params = { params = {
'StackName': 'ansible-test-basic-yaml', 'StackName': 'ansible-test-basic-yaml',
'TemplateBody': basic_yaml_tpl, 'TemplateBody': basic_yaml_tpl,
'ClientRequestToken': '3faf3fb5-b289-41fc-b940-44151828f6cf',
} }
m = FakeModule(disable_rollback=False) m = FakeModule(disable_rollback=False)
result = cfn_module.create_stack(m, params, connection) result = cfn_module.create_stack(m, params, connection)