def create_app_packager(config, package_format='cloudformation', merge_template=None): # type: (Config, str, Optional[str]) -> AppPackager osutils = OSUtils() ui = UI() application_builder = ApplicationGraphBuilder() deps_builder = DependencyBuilder() post_processors = [] # type: List[TemplatePostProcessor] generator = None # type: Union[None, TemplateGenerator] if package_format == 'cloudformation': build_stage = create_build_stage(osutils, ui, CFNSwaggerGenerator()) post_processors.extend([ SAMCodeLocationPostProcessor(osutils=osutils), TemplateMergePostProcessor(osutils=osutils, merger=TemplateDeepMerger(), merge_template=merge_template) ]) generator = SAMTemplateGenerator(config) else: build_stage = create_build_stage(osutils, ui, TerraformSwaggerGenerator()) generator = TerraformGenerator(config) post_processors.append( TerraformCodeLocationPostProcessor(osutils=osutils)) resource_builder = ResourceBuilder(application_builder, deps_builder, build_stage) return AppPackager(generator, resource_builder, CompositePostProcessor(post_processors), osutils)
def create_app_packager( config, package_format='cloudformation', template_format='json', merge_template=None): # type: (Config, str, str, Optional[str]) -> AppPackager osutils = OSUtils() ui = UI() application_builder = ApplicationGraphBuilder() deps_builder = DependencyBuilder() post_processors = [] # type: List[TemplatePostProcessor] generator = None # type: Union[None, TemplateGenerator] template_serializer = cast(TemplateSerializer, JSONTemplateSerializer()) if package_format == 'cloudformation': build_stage = create_build_stage( osutils, ui, CFNSwaggerGenerator()) use_yaml_serializer = template_format == 'yaml' if merge_template is not None and \ YAMLTemplateSerializer.is_yaml_template(merge_template): # Automatically switch the serializer to yaml if they specify # a yaml template to merge, regardless of what template format # they specify. use_yaml_serializer = True if use_yaml_serializer: template_serializer = YAMLTemplateSerializer() post_processors.extend([ SAMCodeLocationPostProcessor(osutils=osutils), TemplateMergePostProcessor( osutils=osutils, merger=TemplateDeepMerger(), template_serializer=template_serializer, merge_template=merge_template)]) generator = SAMTemplateGenerator(config) else: build_stage = create_build_stage( osutils, ui, TerraformSwaggerGenerator()) generator = TerraformGenerator(config) post_processors.append( TerraformCodeLocationPostProcessor(osutils=osutils)) resource_builder = ResourceBuilder( application_builder, deps_builder, build_stage) return AppPackager( generator, resource_builder, CompositePostProcessor(post_processors), template_serializer, osutils)
def create_app_packager(config): # type: (Config) -> AppPackager osutils = OSUtils() ui = UI() application_builder = ApplicationGraphBuilder() deps_builder = DependencyBuilder() build_stage = create_build_stage(osutils, ui, CFNSwaggerGenerator()) resource_builder = ResourceBuilder(application_builder, deps_builder, build_stage) return AppPackager( SAMTemplateGenerator(), resource_builder, TemplatePostProcessor(osutils=osutils), osutils, )
def create_app_packager(config): # type: (Config) -> AppPackager osutils = OSUtils() ui = UI() application_builder = ApplicationGraphBuilder() deps_builder = DependencyBuilder() build_stage = create_build_stage( osutils, ui, CFNSwaggerGenerator() ) resource_builder = ResourceBuilder(application_builder, deps_builder, build_stage) return AppPackager( SAMTemplateGenerator(), resource_builder, TemplatePostProcessor(osutils=osutils), osutils, )
def create_app_packager(config, merge_template=None): # type: (Config, Optional[str]) -> AppPackager osutils = OSUtils() ui = UI() application_builder = ApplicationGraphBuilder() deps_builder = DependencyBuilder() build_stage = create_build_stage(osutils, ui, CFNSwaggerGenerator()) resource_builder = ResourceBuilder(application_builder, deps_builder, build_stage) processors = [ ReplaceCodeLocationPostProcessor(osutils=osutils), TemplateMergePostProcessor( osutils=osutils, merger=TemplateDeepMerger(), merge_template=merge_template, ), ] return AppPackager( SAMTemplateGenerator(), resource_builder, CompositePostProcessor(processors), osutils, )