def __init__(self): """Constructor building up the CloudFormation template """ Template.__init__(self) self.set_description( 'Template creating an S3 bucket destined to hold performance test ' 'reports. The template also contains IAM resources to control access ' 'to the bucket.') self.environmnent_param = self.add_parameter( Parameter( 'Environment', Description= 'Name of the environment the bucket is for (e.g. a k8s namespace)', Type='String', )) self.prefix_param = self.add_parameter( Parameter( 'Prefix', Description='A prefix to prepend all resource names with', Type='String', Default='', )) self.bucket = self.add_s3_bucket() self.add_iam_resources()
def __init__(self): TropoTemplate.__init__(self) self.ordered_resources = OrderedDict() self.metadata = OrderedDict() self.conditions = OrderedDict() self.mappings = OrderedDict() self.outputs = OrderedDict() self.parameters = OrderedDict() self.resources = OrderedDict()
def __init__(self): """Constructor for the AlertingCreationRoleTemplate class. Call to_yaml() on an object of this class to get a string containing the CloudFormation template """ Template.__init__(self) self.set_description( 'Template creating IAM resources (role) allowing to create cost ' 'alerting resources') self.set_version('2010-09-09') # parameters self.assume_role_name_param = self.add_parameter( Parameter( 'AssumeRoleName', Description= 'Name of the role that should be allowed to assume the role allowing to ' 'create the alerting resources', Type='String', )) self.role_name_param = self.add_parameter( Parameter( 'RoleName', Description= 'Name of the role to assume in order to have the access rights to manage ' 'cost alerting resources', Type='String', Default='AwsBudgetAlertingManagementRole', )) self.lambda_bucket_name_param = self.add_parameter( Parameter( 'LambdaBucketName', Description= 'Name of the S3 bucket name containing the package for the Lambda ' 'publishing a message to Slack', Type='String', )) managed_policy = self._create_policy() self._create_role(managed_policy)