本文整理汇总了Python中troposphere.Template.add_metadata方法的典型用法代码示例。如果您正苦于以下问题:Python Template.add_metadata方法的具体用法?Python Template.add_metadata怎么用?Python Template.add_metadata使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类troposphere.Template
的用法示例。
在下文中一共展示了Template.add_metadata方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _generate_template
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_metadata [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()
示例2: database
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_metadata [as 别名]
template.add_metadata({
"AWS::CloudFormation::Interface": {
"ParameterGroups": [
{
"Label": {
"default": "Basic configuration"
},
"Parameters": [
"TargetRegionParameter",
"S3BucketParameter",
"SourceZipParameter",
]
},
{
"Label": {
"default": "Encryption - see https://github.com/pbudzon/aws-maintenance#encryption for details"
},
"Parameters": [
"KMSKeyParameter",
]
},
{
"Label": {
"default": "Optional: limit to specific RDS database(s)"
},
"Parameters": [
"DatabasesToUse",
]
},
{
"Label": {
"default": "Optional: Aurora support"
},
"Parameters": [
"IncludeAuroraClusters",
"ClustersToUse"
]
},
],
"ParameterLabels": {
"TargetRegionParameter": {"default": "Target region"},
"DatabasesToUse": {"default": "Databases to use for"},
"KMSKeyParameter": {"default": "KMS Key in target region"},
"IncludeAuroraClusters": {"default": "Use for Aurora clusters"},
"ClustersToUse": {"default": "Aurora clusters to use for"},
"S3BucketParameter": {"default": "Name of S3 bucket"},
"SourceZipParameter": {"default": "Name of ZIP file"},
}
}
})
示例3:
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_metadata [as 别名]
TEMPLATE.add_metadata({
'AWS::CloudFormation::Interface': {
'ParameterGroups': [
{
'Label': {'default': 'Configuration for Cloudera'},
'Parameters': [
CLOUDERA_MASTER_INSTANCE_TYPE.title,
CLOUDERA_WORKER_INSTANCE_TYPE.title,
CLOUDERA_WORKER_COUNT.title,
],
},
{
'Label': {'default': 'Configuration for Cloud Foundry'},
'Parameters': [
CF_PASSWORD.title,
CF_SYSTEM_DOMAIN.title,
CF_RUNNER_Z1_INSTANCES.title,
CF_RUNNER_Z1_INSTANCE_TYPE.title,
],
},
{
'Label': {'default': 'Configuration for SMTP'},
'Parameters': [
SMTP_HOST.title,
SMTP_PORT.title,
SMTP_SENDER_USER.title,
SMTP_PASSWORD.title,
SMTP_SENDER_NAME.title,
SMTP_SENDER_EMAIL.title,
],
},
{
'Label': {'default': 'Credentials for Quay.io robot account'},
'Parameters': [
QUAY_IO_USERNAME.title,
QUAY_IO_PASSWORD.title,
],
},
],
'ParameterLabels': {
KEY_NAME.title: {'default': 'Key pair name'},
TERMINATION_PROTECTION_ENABLED.title: {'default': 'Termination protection'},
CLOUDERA_MASTER_INSTANCE_TYPE.title: {'default': 'Instance type for masters'},
CLOUDERA_WORKER_INSTANCE_TYPE.title: {'default': 'Instance type for workers'},
CLOUDERA_WORKER_COUNT.title: {'default': 'Number of workers'},
CF_PASSWORD.title: {'default': 'Password'},
CF_SYSTEM_DOMAIN.title: {'default': 'System domain'},
CF_RUNNER_Z1_INSTANCES.title: {'default': 'Number of DEAs'},
CF_RUNNER_Z1_INSTANCE_TYPE.title: {'default': 'Instance type for DEA'},
SMTP_HOST.title: {'default': 'Server host address'},
SMTP_PORT.title: {'default': 'Server port'},
SMTP_SENDER_USER.title: {'default': 'Server username'},
SMTP_PASSWORD.title: {'default': 'Server password'},
SMTP_SENDER_NAME.title: {'default': 'From name'},
SMTP_SENDER_EMAIL.title: {'default': 'From email address'},
QUAY_IO_USERNAME.title: {'default': 'Username'},
QUAY_IO_PASSWORD.title: {'default': 'Password'},
NGINX_EIP.title: {'default': 'Elastic IP address for the load balancer'},
},
}
})
示例4:
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_metadata [as 别名]
"SourceZipParameter",
Type="String",
Default="ebs-snapshots.zip",
Description="Name of the zip file inside the S3 bucket",
))
template.add_metadata({
"AWS::CloudFormation::Interface": {
"ParameterGroups": [
{
"Label": {
"default": "Basic configuration"
},
"Parameters": [
"S3BucketParameter",
"SourceZipParameter",
]
},
],
"ParameterLabels": {
"S3BucketParameter": {"default": "Name of S3 bucket"},
"SourceZipParameter": {"default": "Name of ZIP file"},
}
}
})
# Role for Lambda
lambda_role = template.add_resource(iam.Role(
"LambdaRole",
AssumeRolePolicyDocument=aws.Policy(
Statement=[
示例5: Template
# 需要导入模块: from troposphere import Template [as 别名]
# 或者: from troposphere.Template import add_metadata [as 别名]
from awacs import aws, sts
template = Template()
template.add_description("Image gateway")
template.add_metadata({
'AWS::CloudFormation::Interface': {
'ParameterGroups': [
{
'Label': {'default': 'Storage'},
'Parameters': ['BucketName']
},
{
'Label': {'default': 'Lambda source'},
'Parameters': ['LambdaSourceBucket', 'LambdaFileName']
},
],
'ParameterLabels': {
'BucketName': {'default': 'S3 Storage Bucket'},
'LambdaSourceBucket': {'default': 'S3 Bucket with Lambda source'},
'LambdaFileName': {'default': 'Path and name of the file inside S3 Bucket'},
}
}
})
param_bucket_name = template.add_parameter(Parameter(
"BucketName",
Type="String",
Description='Name of the STORAGE bucket to create where the images will be uploaded and renditions cached'
))