+ return await self._deploy(
+ charm_url=entity_id,
+ application=application_name,
+ series=series,
+ config=config or {},
+ constraints=constraints,
+ endpoint_bindings=bind,
+ resources=resources,
+ storage=storage,
+ channel=channel,
+ num_units=num_units,
+ placement=parse_placement(to),
+ )
+
+ async def _deploy(self, charm_url, application, series, config,
+ constraints, endpoint_bindings, resources, storage,
+ channel=None, num_units=None, placement=None):
+ log.info('Deploying %s', charm_url)
+
+ # stringify all config values for API, and convert to YAML
+ config = {k: str(v) for k, v in config.items()}
+ config = yaml.dump({application: config},
+ default_flow_style=False)
+
+ app_facade = client.ApplicationFacade()
+ app_facade.connect(self.connection)