def convert()

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)