def main(): params = common.parse_cli_args('List Task Definitions', []) command = ["ecs", "list-task-definitions"] result = common.run_shell_command(params.region, command) print json.dumps(result, indent=2)
def main(): # Command Line Arguments args = [{ 'arg': '--host', 'dest': 'host', 'default': 'localhost:3000', 'help': 'Blox CSS <Host>:<Port>' }, { 'arg': '--cluster', 'dest': 'cluster', 'default': None, 'required': False, 'help': 'ECS cluster name' }, { 'arg': '--status', 'dest': 'status', 'default': None, 'required': False, 'help': 'ECS task status' }, { 'arg': '--task-arn', 'dest': 'task', 'default': None, 'required': False, 'help': 'ECS task Arn' }] # Parse Command Line Arguments params = common.parse_cli_args('List Blox Tasks', args) run_local(params)
def main(): # Command Line Arguments args = [ {'arg':'--host', 'dest':'host', 'default':'localhost:3000', 'help':'Blox CSS <Host>:<Port>'}, {'arg':'--cluster', 'dest':'cluster', 'default':None, 'required':False, 'help':'ECS cluster name'}, {'arg':'--status', 'dest':'status', 'default':None, 'required':False, 'help':'EC2 instance status'}, {'arg':'--instance-arn', 'dest':'instance', 'default':None, 'required':False, 'help':'EC2 instance Arn'} ] # Parse Command Line Arguments params = common.parse_cli_args('List Blox Instances', args) run_local(params)
def main(): args = [ {'arg':'--cluster', 'dest':'cluster', 'default':None, 'help':'ECS cluster name'}, {'arg':'--num', 'dest':'num', 'default':None, 'help':'number of instances to increment by'} ] params = common.parse_cli_args('Increment Cluster Instances', args) params.num = int(params.num) command = ["ecs", "describe-clusters", "--clusters", params.cluster] clusterResult = common.run_shell_command(params.region, command) if len(clusterResult['clusters']) == 0: print "Error: Cluster '%s' does not exist." % params.cluster sys.exit(1) command = ["ecs", "list-container-instances", "--cluster", params.cluster] containersResult = common.run_shell_command(params.region, command) if len(containersResult['containerInstanceArns']) == 0: print "Error: Cluster '%s' does not contain any instances." % params.cluster sys.exit(1) command = ["ecs", "describe-container-instances", "--cluster", params.cluster, "--container-instances", containersResult['containerInstanceArns'][0]] containerResult = common.run_shell_command(params.region, command) if len(containerResult['containerInstances']) == 0: print "Error: Could not retrieve container instance '%s'." % containersResult['containerInstanceArns'][0] sys.exit(1) command = ["ec2", "describe-instances", "--instance-ids", containerResult['containerInstances'][0]['ec2InstanceId']] instanceResult = common.run_shell_command(params.region, command) if len(instanceResult['Reservations']) == 0: print "Error: Could not retrieve ec2 instance '%s'." % containerResult['containerInstances'][0]['ec2InstanceId'] sys.exit(1) amiId = instanceResult['Reservations'][0]['Instances'][0]['ImageId'] keyName = instanceResult['Reservations'][0]['Instances'][0]['KeyName'] securityGroup = instanceResult['Reservations'][0]['Instances'][0]['SecurityGroups'][0]['GroupId'] subnetId = instanceResult['Reservations'][0]['Instances'][0]['SubnetId'] instanceType = instanceResult['Reservations'][0]['Instances'][0]['InstanceType'] instanceProfileArn = instanceResult['Reservations'][0]['Instances'][0]['IamInstanceProfile']['Arn'] instanceProfile = None instanceProfileRegex = re.match('(.+)\/(.+)', instanceProfileArn) if instanceProfileRegex != None: instanceProfile = instanceProfileRegex.group(2) userDataRaw = "#!/bin/bash\necho ECS_CLUSTER=%s >> /etc/ecs/ecs.config\n" % params.cluster userData = base64.b64encode(userDataRaw) for i in range(params.num): command = ["ec2", "run-instances", "--image-id", amiId, "--instance-type", instanceType, "--user-data", userData, "--iam-instance-profile", "Name=\"%s\"" % instanceProfile, "--security-group-ids", securityGroup, "--key-name", keyName] result = common.run_shell_command(params.region, command) print "Created instance '%s'." % result['Instances'][0]['InstanceId']
def main(): args = [ {'arg':'--file', 'dest':'file', 'default':None, 'help':'path to task definition file'} ] params = common.parse_cli_args('Register Task Definition', args) if not os.path.isfile(params.file): print "Error: File path '%s' does not exist." % params.file sys.exit(1) command = ["ecs", "register-task-definition", "--cli-input-json", "file://%s" % params.file] result = common.run_shell_command(params.region, command) print json.dumps(result, indent=2)
def main(argv): # Command Line Arguments args = [{ 'arg': '--apigateway', 'dest': 'apigateway', 'default': None, 'type': 'boolean', 'help': 'Call API Gateway endpoint' }] if '--apigateway' in argv: args.extend([{ 'arg': '--stack', 'dest': 'stack', 'default': None, 'help': 'CloudFormation stack name' }]) else: args.extend([{ 'arg': '--host', 'dest': 'host', 'default': 'localhost:2000', 'help': 'Blox Scheduler <Host>:<Port>' }]) args.extend([{ 'arg': '--environment', 'dest': 'environment', 'default': None, 'help': 'Blox environment name' }]) args.extend([{ 'arg': '--cluster', 'dest': 'cluster', 'default': None, 'help': 'ECS cluster name' }]) args.extend([{ 'arg': '--task-definition', 'dest': 'taskDef', 'default': None, 'help': 'ECS task definition arn' }]) # Parse Command Line Arguments params = common.parse_cli_args('Create Blox Environment', args) if params.apigateway: run_apigateway(params) else: run_local(params)
def main(argv): # Command Line Arguments args = [{'arg':'--apigateway', 'dest':'apigateway', 'default':None, 'type':'boolean', 'help':'Call API Gateway endpoint'}] if '--apigateway' in argv: args.extend([{'arg':'--stack', 'dest':'stack', 'default':None, 'help':'CloudFormation stack name'}]) else: args.extend([{'arg':'--host', 'dest':'host', 'default':'localhost:2000', 'help':'Blox Scheduler <Host>:<Port>'}]) args.extend([{'arg':'--environment', 'dest':'environment', 'default':None, 'help':'Blox environment name'}]) args.extend([{'arg':'--deployment-token', 'dest':'token', 'default':None, 'help':'Blox deployment token'}]) # Parse Command Line Arguments params = common.parse_cli_args('Create Blox Deployment', args) if params.apigateway: run_apigateway(params) else: run_local(params)
def main(argv): # Command Line Arguments args = [{'arg':'--apigateway', 'dest':'apigateway', 'default':None, 'type':'boolean', 'help':'Call API Gateway endpoint'}] if '--apigateway' in argv: args.extend([{'arg':'--stack', 'dest':'stack', 'default':None, 'help':'CloudFormation stack name'}]) else: args.extend([{'arg':'--host', 'dest':'host', 'default':'localhost:2000', 'help':'Blox Scheduler <Host>:<Port>'}]) args.extend([{'arg':'--environment', 'dest':'environment', 'default':None, 'required':False, 'help':'Blox environment name'}]) args.extend([{'arg':'--cluster', 'dest':'cluster', 'default':None, 'required':False, 'help':'ECS cluster name'}]) # Parse Command Line Arguments params = common.parse_cli_args('List Blox Environments', args) if params.apigateway: run_apigateway(params) else: run_local(params)
def main(): args = [{ 'arg': '--file', 'dest': 'file', 'default': None, 'help': 'path to task definition file' }] params = common.parse_cli_args('Register Task Definition', args) if not os.path.isfile(params.file): print "Error: File path '%s' does not exist." % params.file sys.exit(1) command = [ "ecs", "register-task-definition", "--cli-input-json", "file://%s" % params.file ] result = common.run_shell_command(params.region, command) print json.dumps(result, indent=2)
def main(argv): # Command Line Arguments args = [{'arg': '--apigateway', 'dest': 'apigateway', 'default': None, 'type': 'boolean', 'help': 'Call API Gateway endpoint'}] if '--apigateway' in argv: args.extend([{'arg': '--stack', 'dest': 'stack', 'default': None, 'help': 'CloudFormation stack name'}]) else: args.extend( [{'arg': '--host', 'dest': 'host', 'default': 'localhost:2000', 'help': 'Blox Scheduler <Host>:<Port>'}]) args.extend([{'arg': '--environment', 'dest': 'environment', 'default': None, 'help': 'Blox environment name'}]) args.extend( [{'arg': '--deployment-id', 'dest': 'id', 'default': None, 'required': False, 'help': 'Blox deployment id'}]) # Parse Command Line Arguments params = common.parse_cli_args('List Blox Deployments', args) if params.apigateway: run_apigateway(params) else: run_local(params)