in syndicate/core/transform/cloudformation/converter/cf_batch_job_defeinition.py [0:0]
def convert(self, name, meta):
container_props = meta.get('container_properties')
if container_props:
container_props = self.prepare_container_properties(
container_props=container_props,
job_definition_name=name)
logic_name = to_logic_name('BatchJobDefinition', name)
job_def = batch.JobDefinition(logic_name)
job_def.JobDefinitionName = name
job_def.Type = meta['job_definition_type']
if meta.get('parameters'):
job_def.Parameters = meta['parameters']
if container_props:
job_def.ContainerProperties = batch.ContainerProperties.from_dict(
title=None, d=container_props)
node_props = meta.get('node_properties')
if node_props:
container_props = \
node_props.get('node_range_properties', {}).get('container')
if container_props:
container_props = self.prepare_container_properties(
container_props=container_props,
job_definition_name=name)
del(node_props['node_range_properties']['container'])
node_props = dict_keys_to_upper_camel_case(node_props)
if container_props:
node_props['node_range_properties']['container'] = \
container_props
job_def.NodeProperties = batch.NodeProperties.from_dict(
title=None, d=node_props)
if meta.get('retry_strategy'):
retry_strategy = dict_keys_to_upper_camel_case(
meta['retry_strategy'])
job_def.RetryStrategy = batch.RetryStrategy.from_dict(
title=None, d=retry_strategy)
if meta.get('propagate_tags') is not None:
job_def.PropagateTags = meta['propagate_tags']
if meta.get('timeout'):
timeout = dict_keys_to_upper_camel_case(meta['timeout'])
job_def.Timeout = batch.Timeout.from_dict(title=None, d=timeout)
if meta.get('tags'):
job_def.Tags = meta['tags']
if meta.get('platform_capabilities'):
job_def.PlatformCapabilities = meta['platform_capabilities']
self.template.add_resource(job_def)