本文整理汇总了Python中troposphere.Template.add_resource方法的典型用法代码示例。如果您正苦于以下问题:Python Template.add_resource方法的具体用法?Python Template.add_resource怎么用?Python Template.add_resource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类troposphere.Template
的用法示例。
在下文中一共展示了Template.add_resource方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def main():
vpc = ec2.VPC('MyVPC',
CidrBlock='10.0.0.0/16')
subnet = ec2.Subnet('MySubnet',
AvailabilityZone='ap-southeast-2a',
VpcId=Ref(vpc),
CidrBlock='10.0.1.0/24')
template = Template()
sns_topic = SNS(template)
single_instance_config = SingleInstanceConfig(
keypair='INSERT_YOUR_KEYPAIR_HERE',
si_image_id='ami-53371f30',
si_instance_type='t2.micro',
vpc=Ref(vpc),
subnet=Ref(subnet),
is_nat=True,
instance_dependencies=vpc.title,
public_hosted_zone_name=None,
iam_instance_profile_arn=None,
sns_topic=sns_topic,
availability_zone='ap-southeast-2a',
ec2_scheduled_shutdown=None,
owner='[email protected]'
)
SingleInstance(title='nat1',
template=template,
single_instance_config=single_instance_config
)
template.add_resource(vpc)
template.add_resource(subnet)
print(template.to_json(indent=2, separators=(',', ': ')))
示例2: __init__
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
class CFLab:
'''
Class creates VPC/Subnets/ELB/ASG for Cloudformation lab
'''
def __init__(self, config_dictionary):
'''
Method initializes the DevDeploy class and composes the CloudFormation template to deploy the solution
@param config_dictionary [dict] collection of keyword arguments for this class implementation
'''
self.globals = config_dictionary.get('globals', {})
self.template_args = config_dictionary.get('template', {})
self.template = Template()
self.template.description = self.globals.get('description', '')
#create VPC, EC2
self.vpc_generator = VPCGenerator(self.template_args)
self.ec2_generator = EC2Generator(
self.template_args,
self.vpc_generator.vpc,
self.vpc_generator.subnets
)
for resource in self.vpc_generator.resources:
self.template.add_resource(resource)
for resource in self.ec2_generator.resources:
self.template.add_resource(resource)
for output in self.ec2_generator.outputs:
self.template.add_output(output)
示例3: test_simple_table
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def test_simple_table(self):
serverless_table = SimpleTable(
"SomeTable"
)
t = Template()
t.add_resource(serverless_table)
t.to_json()
示例4: sceptre_handler
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def sceptre_handler(sceptre_user_data):
t = Template()
vpc = t.add_resource(VPC(
"VirtualPrivateCloud",
CidrBlock=sceptre_user_data["cidr_block"],
InstanceTenancy="default",
EnableDnsSupport=True,
EnableDnsHostnames=True,
))
igw = t.add_resource(InternetGateway(
"InternetGateway",
))
t.add_resource(VPCGatewayAttachment(
"IGWAttachment",
VpcId=Ref(vpc),
InternetGatewayId=Ref(igw),
))
t.add_output(Output(
"VpcId",
Description="New VPC ID",
Value=Ref(vpc)
))
return t.to_json()
示例5: main
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def main():
vpc = ec2.VPC('MyVPC',
CidrBlock='10.0.0.0/16')
subnet = ec2.Subnet('MySubnet',
AvailabilityZone='ap-southeast-2a',
VpcId=Ref(vpc),
CidrBlock='10.0.1.0/24')
template = Template()
single_instance_config = SingleInstanceConfig(
keypair='INSERT_YOUR_KEYPAIR_HERE',
si_image_id='ami-dc361ebf',
si_instance_type='t2.micro',
vpc=Ref(vpc),
subnet=Ref(subnet),
instance_dependencies=vpc.title,
public_hosted_zone_name=None,
sns_topic=None,
is_nat=False,
iam_instance_profile_arn=None,
availability_zone='ap-southeast-2a'
)
SingleInstance(title='jump',
template=template,
single_instance_config=single_instance_config
)
template.add_resource(vpc)
template.add_resource(subnet)
print(template.to_json(indent=2, separators=(',', ': ')))
示例6: render
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def render(context):
secgroup = ec2_security(context)
instance = ec2instance(context)
template = Template()
template.add_resource(secgroup)
template.add_resource(instance)
keyname = template.add_parameter(Parameter(KEYPAIR, **{
"Type": "String",
"Description": "EC2 KeyPair that enables SSH access to this instance",
}))
cfn_outputs = outputs()
if context['project']['aws'].has_key('rds'):
map(template.add_resource, rdsinstance(context))
cfn_outputs.extend([
mkoutput("RDSHost", "Connection endpoint for the DB cluster", (RDS_TITLE, "Endpoint.Address")),
mkoutput("RDSPort", "The port number on which the database accepts connections", (RDS_TITLE, "Endpoint.Port")),])
if context['project']['aws'].has_key('ext'):
map(template.add_resource, ext_volume(context))
if context['hostname']: # None if one couldn't be generated
template.add_resource(external_dns(context))
template.add_resource(internal_dns(context))
cfn_outputs.extend([
mkoutput("DomainName", "Domain name of the newly created EC2 instance", Ref(R53_EXT_TITLE)),
mkoutput("IntDomainName", "Domain name of the newly created EC2 instance", Ref(R53_INT_TITLE))])
map(template.add_output, cfn_outputs)
return template.to_json()
示例7: test_s3_filter
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def test_s3_filter(self):
t = Template()
t.add_resource(
Function(
"ProcessorFunction",
Handler='process_file.handler',
CodeUri='.',
Runtime='python3.6',
Policies='AmazonS3FullAccess',
Events={
'FileUpload': S3Event(
'FileUpload',
Bucket="bucket",
Events=['s3:ObjectCreated:*'],
Filter=Filter(S3Key=S3Key(
Rules=[
Rules(Name="prefix", Value="upload/"),
Rules(Name="suffix", Value=".txt"),
],
))
)
}
)
)
t.to_json()
示例8: test_mutualexclusion
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def test_mutualexclusion(self):
t = Template()
t.add_resource(FakeAWSObject(
'fake', callcorrect=True, singlelist=[10])
)
with self.assertRaises(ValueError):
t.to_json()
示例9: test_api_no_definition
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def test_api_no_definition(self):
serverless_api = Api(
"SomeApi",
StageName='test',
)
t = Template()
t.add_resource(serverless_api)
t.to_json()
示例10: test_no_required
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def test_no_required(self):
stack = Stack(
"mystack",
)
t = Template()
t.add_resource(stack)
with self.assertRaises(ValueError):
t.to_json()
示例11: test_s3_bucket_accelerate_configuration
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def test_s3_bucket_accelerate_configuration(self):
t = Template()
ac = AccelerateConfiguration(AccelerationStatus="Enabled")
b = Bucket("s3Bucket", AccelerateConfiguration=ac)
t.add_resource(b)
output = t.to_json()
self.assertIn('"AccelerationStatus": "Enabled"', output)
示例12: _generate_template
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def _generate_template(tms=1, within_vpc=False):
t = Template()
t.add_description(FLINK_TEMPLATE_DESCRIPTION)
t.add_version(FLINK_TEMPLATE_VERSION)
t.add_metadata({'LastUpdated': datetime.datetime.now().strftime('%c')})
# mappings
mappings.add_mappings(t)
# parameters
parameters.add_parameters(t)
vpc = None
subnet_pri = None
subnet_pub = None
if within_vpc:
# networking resources
vpc, subnet_pri, subnet_pub = _define_vpc(t)
# security groups
sg_ssh = t.add_resource(securitygroups.ssh(
parameters.ssh_location, vpc))
sg_jobmanager = t.add_resource(securitygroups.jobmanager(
parameters.http_location, vpc))
sg_taskmanager = t.add_resource(securitygroups.taskmanager(None, vpc))
jobmanager = t.add_resource(instances.jobmanager(
0,
[Ref(sg_ssh), Ref(sg_jobmanager)],
within_vpc,
subnet_pub
))
prefix = "JobManager00"
t.add_output(outputs.ssh_to(jobmanager, prefix))
t.add_output(Output(
"FlinkWebGui",
Description="Flink web interface",
Value=Join("", [
'http://', GetAtt(jobmanager, "PublicDnsName"), ':8081'
])
))
for index in range(0, tms):
i = t.add_resource(instances.taskmanager(
index,
jobmanager,
[Ref(sg_ssh), Ref(sg_taskmanager)],
within_vpc,
subnet_pri
))
prefix = "TaskManager%2.2d" % index
t.add_output(outputs.ssh_to(i, prefix, bastion=jobmanager))
return t.to_json()
示例13: test_yaml_long_form
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def test_yaml_long_form(self):
t = Template()
t.add_resource(WaitCondition(
"MyWaitCondition", Timeout=30, Handle=Sub(cond_string)))
self.assertEqual(cond_normal, t.to_yaml())
self.assertEqual(cond_long, t.to_yaml(long_form=True))
self.assertEqual(cond_long, t.to_yaml(False, True))
self.assertEqual(cond_clean, t.to_yaml(clean_up=True))
self.assertEqual(cond_clean, t.to_yaml(True))
示例14: test_required_api_definitionuri
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def test_required_api_definitionuri(self):
serverless_api = Api(
"SomeApi",
StageName='test',
DefinitionUri='s3://bucket/swagger.yml',
)
t = Template()
t.add_resource(serverless_api)
t.to_json()
示例15: test_required_api_definitionbody
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_resource [as 别名]
def test_required_api_definitionbody(self):
serverless_api = Api(
"SomeApi",
StageName='test',
DefinitionBody=self.swagger,
)
t = Template()
t.add_resource(serverless_api)
t.to_json()