|
17 | 17 | import json |
18 | 18 | from pathlib import Path |
19 | 19 |
|
| 20 | +from acktest.resources import random_suffix_name |
20 | 21 | from acktest.bootstrapping import Resources, BootstrapFailureException |
21 | 22 | from acktest.bootstrapping.iam import Role, UserPolicies |
22 | 23 | from acktest.bootstrapping.s3 import Bucket |
23 | 24 | from acktest.bootstrapping.sns import Topic |
| 25 | +from acktest.bootstrapping.cloudformation import Stack |
24 | 26 | from e2e import bootstrap_directory |
25 | 27 | from e2e.bootstrap_resources import BootstrapResources |
26 | 28 |
|
@@ -62,13 +64,30 @@ def service_bootstrap() -> Resources: |
62 | 64 | ] |
63 | 65 | }) |
64 | 66 |
|
| 67 | + stack_bucket_name = random_suffix_name("stack-bucket", 24) |
| 68 | + template = { |
| 69 | + "AWSTemplateFormatVersion": "2010-09-09", |
| 70 | + "Resources": { |
| 71 | + "MyS3Bucket": { |
| 72 | + "Type": "AWS::S3::Bucket", |
| 73 | + "Properties": { |
| 74 | + "BucketName": stack_bucket_name, |
| 75 | + "VersioningConfiguration": { |
| 76 | + "Status": "Enabled" |
| 77 | + } |
| 78 | + } |
| 79 | + } |
| 80 | + } |
| 81 | + } |
| 82 | + |
65 | 83 | resources = BootstrapResources( |
66 | 84 | ReplicationBucket=Bucket("ack-s3-replication", enable_versioning=True), |
67 | 85 | AdoptionBucket=Bucket("ack-s3-annotation-adoption", enable_versioning=True), |
68 | 86 | ReplicationRole=Role("ack-s3-replication-role", "s3.amazonaws.com", |
69 | 87 | user_policies=UserPolicies("ack-s3-replication-policy", [replication_policy]) |
70 | 88 | ), |
71 | | - NotificationTopic=Topic("ack-s3-notification", policy=notification_policy) |
| 89 | + NotificationTopic=Topic("ack-s3-notification", policy=notification_policy), |
| 90 | + StackBucket=Stack(name_prefix=stack_bucket_name, template=template) |
72 | 91 | ) |
73 | 92 |
|
74 | 93 | try: |
|
0 commit comments