def add_rule(cls, cloud, secgroup, from_port, to_port, protocol, cidr): try: # Get the nova client object cloud_provider = CloudProvider(cloud).provider # Create add secgroup rules to the cloud args = { 'uuid': secgroup.uuid, 'protocol': protocol, 'from_port': from_port, 'to_port': to_port, 'cidr': cidr } rule_id = cloud_provider.add_secgroup_rule(**args) # create local db record ruleObj = cls.cm_db.db_obj_dict("secgrouprule", uuid=str(rule_id), name=secgroup.name, groupid=secgroup.uuid, category=secgroup.category, user=secgroup.user, project=secgroup.project, fromPort=from_port, toPort=to_port, protocol=protocol, cidr=cidr) cls.cm_db.add_obj(ruleObj) cls.cm_db.save() Console.ok( "Added rule [{} | {} | {} | {}] to secgroup [{}]".format( from_port, to_port, protocol, cidr, secgroup.name)) except Exception as ex: if "This rule already exists" in ex.message: Console.ok("Rule already exists. Added rule.") return else: Console.error(ex.message, ex) return
def add_rule(cls, cloud, secgroup_uuid, from_port, to_port, protocol, cidr): try: # Get the nova client object cloud_provider = CloudProvider(cloud).provider # Create add secgroup rules to the cloud args = { 'uuid': secgroup_uuid, 'protocol': protocol, 'from_port': from_port, 'to_port': to_port, 'cidr': cidr } rule_id = cloud_provider.add_secgroup_rule(**args) # create local db record rule = { "kind": "secgrouprule", "uuid": str(rule_id), "category": cloud, "fromPort": from_port, "toPort": to_port, "protocol": protocol, "cidr": cidr } """ cls.cm.add(**rule) cls.cm.save() """ Console.ok( "Added rule {category} {uuid} {fromPort} {toPort} {protocol} {cidr}" .format(**rule)) except Exception as ex: if "This rule already exists" in ex.message: Console.ok("Rule already exists. Added rule.") return else: Console.error(ex.message, ex) return
def add_rule(cls, cloud, secgroup, from_port, to_port, protocol, cidr): try: # Get the nova client object cloud_provider = CloudProvider(cloud).provider # Create add secgroup rules to the cloud args = { 'uuid': secgroup.uuid, 'protocol': protocol, 'from_port': from_port, 'to_port': to_port, 'cidr': cidr } rule_id = cloud_provider.add_secgroup_rule(**args) # create local db record ruleObj = cls.cm_db.db_obj_dict("secgrouprule", uuid=str(rule_id), name=secgroup.name, groupid=secgroup.uuid, category=secgroup.category, user=secgroup.user, project=secgroup.project, fromPort=from_port, toPort=to_port, protocol=protocol, cidr=cidr) cls.cm_db.add_obj(ruleObj) cls.cm_db.save() Console.ok("Added rule [{} | {} | {} | {}] to secgroup [{}]" .format(from_port, to_port, protocol, cidr, secgroup.name)) except Exception as ex: if "This rule already exists" in ex.message: Console.ok("Rule already exists. Added rule.") return else: Console.error(ex.message, ex) return
def add_rule_cloud(cls, cloud, groupname, rulename): ret = None provider = CloudProvider(cloud).provider # fetch rule from db db_rule = cls.cm.find(kind="secgrouprule", category="general", group=groupname, name=rulename, scope='first', output='dict') kwargs = {} kwargs["protocol"] = db_rule["protocol"] kwargs["cidr"] = db_rule["cidr"] kwargs["from_port"] = db_rule["fromPort"] kwargs["to_port"] = db_rule["toPort"] group = cls.get_group_cloud(cloud, groupname) if group: groupid = group["id"] kwargs["uuid"] = groupid ret = provider.add_secgroup_rule(**kwargs) return ret
def add_rule_cloud(cls, cloud, groupname, rulename): ret = None provider = CloudProvider(cloud).provider # fetch rule from db db_rule = cls.cm.find(kind="secgrouprule", category="general", group=groupname, name=rulename, scope='first', output='dict') kwargs = {} kwargs["protocol"] = db_rule["protocol"] kwargs["cidr"] = db_rule["cidr"] kwargs["from_port"] = db_rule["fromPort"] kwargs["to_port"] = db_rule["toPort"] group = cls.get_group_cloud(cloud, groupname) if group: groupid = group["id"] kwargs["uuid"] = groupid ret = provider.add_secgroup_rule(**kwargs) return ret
def add_rule(cls, cloud, secgroup_uuid, from_port, to_port, protocol, cidr): try: # Get the nova client object cloud_provider = CloudProvider(cloud).provider # Create add secgroup rules to the cloud args = { 'uuid': secgroup_uuid, 'protocol': protocol, 'from_port': from_port, 'to_port': to_port, 'cidr': cidr } rule_id = cloud_provider.add_secgroup_rule(**args) # create local db record rule = {"kind": "secgrouprule", "uuid": str(rule_id), "category": cloud, "fromPort": from_port, "toPort": to_port, "protocol": protocol, "cidr": cidr} """ cls.cm.add(**rule) cls.cm.save() """ Console.ok("Added rule {category} {uuid} {fromPort} {toPort} {protocol} {cidr}" .format(**rule)) except Exception as ex: if "This rule already exists" in ex.message: Console.ok("Rule already exists. Added rule.") return else: Console.error(ex.message, ex) return