Exemple #1
0
    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()
Exemple #2
0
 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()
Exemple #3
0
 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()
Exemple #4
0
    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)