def __init__(self, args): self.service_list = [] task_definition_config_json = render.load_json(args.task_definition_config_json) files = os.listdir(args.task_definition_template_dir) for file in files: try: task_definitions = render.render_definition(args.task_definition_template_dir, file, task_definition_config_json, args.task_definition_config_env) self.service_list.extend(self.import_service_from_task_definitions(task_definitions)) except: error("Template error. file: %s.\n%s" % (file, traceback.format_exc())) sys.exit(1) if args.deploy_service_group: self.deploy_service_list = list(filter(lambda service:service.task_environment.service_group == args.deploy_service_group, self.service_list)) else: self.deploy_service_list = self.service_list if len(self.deploy_service_list) == 0: error("Deployment target service is None.") sys.exit(1) self.ecs_service = ECSService(access_key=args.key, secret_key=args.secret, region=args.region) self.is_service_zero_keep = args.service_zero_keep self.environment = task_definition_config_json['environment'] self.template_group = args.template_group self.cluster_list = [] for service in self.service_list: if service.task_environment.cluster_name not in self.cluster_list: self.cluster_list.append(service.task_environment.cluster_name) self.error = False
def __init__(self, webhook_url, regions, message, tag_key, tag_value, lifetime_tag_key, behavior_type): self.logger = logging.getLogger() self.logger.setLevel(logging.INFO) self.regions = regions self.behavior_type = behavior_type self.slack_service = slack.Slack.get_instance(webhook_url, message, tag_key, tag_value, lifetime_tag_key) self.ec2_service = EC2Service(tag_key, tag_value, lifetime_tag_key, behavior_type, self.logger) self.rds_service = RDSService(tag_key, tag_value, lifetime_tag_key, behavior_type, self.logger) self.ecs_service = ECSService(tag_key, tag_value, lifetime_tag_key, behavior_type, self.logger)
parser.add_argument('--service-name', dest='service_name', required=False) parser.add_argument('--minimum-running-tasks', type=int, dest='minimum_running_tasks', default=1, required=False) args = parser.parse_args() try: serviceMode = args.service_name is not None # Step: Configuring AWS h1("Step: Configuring AWS") ecs = ECSService(access_key=args.key, secret_key=args.secret, region=args.region) success("Configuring AWS succeeded") # Step: Check ECS cluster h1("Step: Check ECS cluster") ecs.describe_cluster(cluster=args.cluster_name) success("Checking cluster '%s' succeeded" % args.cluster_name) # Step: Check ECS Service if serviceMode: h1("Step: Check ECS Service") response = ecs.describe_service(cluster=args.cluster_name, service=args.service_name) original_running_count = ( response.get('services')[0]).get('runningCount')
def __init__(self, key, secret, region): super().__init__() self.ecs_service = ECSService(access_key=key, secret_key=secret, region=region)