(self, parsed_args, parsed_globals)
| 314 | ] |
| 315 | |
| 316 | def _run_main(self, parsed_args, parsed_globals): |
| 317 | cloudformation_client = self._session.create_client( |
| 318 | 'cloudformation', |
| 319 | region_name=parsed_globals.region, |
| 320 | endpoint_url=parsed_globals.endpoint_url, |
| 321 | verify=parsed_globals.verify_ssl, |
| 322 | ) |
| 323 | |
| 324 | template_dict, template_str, template_size = self.load_template_file( |
| 325 | parsed_args.template_file |
| 326 | ) |
| 327 | |
| 328 | stack_name = parsed_args.stack_name |
| 329 | parameter_overrides = self.parse_parameter_overrides( |
| 330 | parsed_args.parameter_overrides |
| 331 | ) |
| 332 | tags_dict = self.parse_key_value_arg(parsed_args.tags, self.TAGS_CMD) |
| 333 | tags = [ |
| 334 | {"Key": key, "Value": value} for key, value in tags_dict.items() |
| 335 | ] |
| 336 | |
| 337 | parameters = self.merge_parameters(template_dict, parameter_overrides) |
| 338 | |
| 339 | if template_size > 51200 and not parsed_args.s3_bucket: |
| 340 | raise exceptions.DeployBucketRequiredError() |
| 341 | |
| 342 | bucket = parsed_args.s3_bucket |
| 343 | if bucket: |
| 344 | s3_client = self._session.create_client( |
| 345 | "s3", |
| 346 | config=Config(signature_version='s3v4'), |
| 347 | region_name=parsed_globals.region, |
| 348 | verify=parsed_globals.verify_ssl, |
| 349 | ) |
| 350 | |
| 351 | s3_uploader = S3Uploader( |
| 352 | s3_client, |
| 353 | bucket, |
| 354 | parsed_args.s3_prefix, |
| 355 | parsed_args.kms_key_id, |
| 356 | parsed_args.force_upload, |
| 357 | ) |
| 358 | else: |
| 359 | s3_uploader = None |
| 360 | |
| 361 | deployer = Deployer(cloudformation_client) |
| 362 | return self.deploy( |
| 363 | deployer, |
| 364 | stack_name, |
| 365 | template_str, |
| 366 | parameters, |
| 367 | parsed_args.capabilities, |
| 368 | parsed_args.execute_changeset, |
| 369 | parsed_args.role_arn, |
| 370 | parsed_args.notification_arns, |
| 371 | s3_uploader, |
| 372 | tags, |
| 373 | parsed_args.fail_on_empty_changeset, |
nothing calls this directly
no test coverage detected