Skip to content

Commit e08971e

Browse files
committed
finish defining the network domain of resources
1 parent 6649eea commit e08971e

File tree

3 files changed

+23
-19
lines changed

3 files changed

+23
-19
lines changed

netfoundry/ctl.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def __call__(self, parser, namespace, values, option_string=None):
5959
"""Split comma-separated list elements."""
6060
setattr(namespace, self.dest, values.split(','))
6161

62-
@cli.argument('-p','--profile', default='nfctl', help='login profile for storing and retrieving concurrent, discrete sessions')
62+
@cli.argument('-p','--profile', default='default', help='login profile for storing and retrieving concurrent, discrete sessions')
6363
@cli.argument('-C', '--credentials', help='API account JSON file from web console')
6464
@cli.argument('-O', '--organization', help="label or ID of an alternative organization (default is caller's org)" )
6565
@cli.argument('-N', '--network', help='caseless name of the network to manage')
@@ -348,7 +348,7 @@ def create(cli):
348348
resource = network.create_resource(type=cli.args.resource_type, properties=create_object, wait=cli.config.create.wait)
349349

350350
@cli.argument('query', arg_only=True, action=StoreDictKeyPair, nargs='?', help="id=UUIDv4 or query params as k=v,k=v comma-separated pairs")
351-
@cli.argument('resource_type', arg_only=True, help='type of resource', choices=NETWORK_RESOURCES.keys())
351+
@cli.argument('resource_type', arg_only=True, help='type of resource', choices=[singular(type) for type in NETWORK_RESOURCES.keys()])
352352
# this allows us to pass the edit subcommand's cli object to function get without further modifying that functions params
353353
@cli.argument('-a', '--accept', arg_only=True, default='update', help=argparse.SUPPRESS)
354354
@cli.subcommand('edit a single resource selected by query with editor defined in NETFOUNDRY_EDITOR or EDITOR')
@@ -591,7 +591,10 @@ def delete(cli):
591591
if not cli.args.query:
592592
cli.log.error("need query to select a resource")
593593
exit(1)
594-
matches = network.get_resources(type=cli.args.resource_type, **cli.args.query)
594+
if 'id' in cli.args.query.keys():
595+
matches = [network.get_resource_by_id(type=cli.args.resource_type, id=cli.args.query['id'])]
596+
else:
597+
matches = network.get_resources(type=cli.args.resource_type, **cli.args.query)
595598
if len(matches) == 0:
596599
cli.log.info("found no %s '%s'", cli.args.resource_type, str(cli.args.query))
597600
exit(1)

netfoundry/network.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -531,11 +531,11 @@ def get_resources(self, type: str, accept: str=None, deleted: bool=False, **kwar
531531
return([])
532532
# if there is one page of resources
533533
elif total_pages == 1:
534-
all_entities = resources['_embedded'][RESOURCES[type]['embedded']]
534+
all_entities = resources['_embedded'][NETWORK_RESOURCES[type]['embedded']]
535535
# if there are multiple pages of resources
536536
else:
537537
# initialize the list with the first page of resources
538-
all_entities = resources['_embedded'][RESOURCES[type]['embedded']]
538+
all_entities = resources['_embedded'][NETWORK_RESOURCES[type]['embedded']]
539539
# append the remaining pages of resources
540540
for page in range(1,total_pages):
541541
try:
@@ -554,7 +554,7 @@ def get_resources(self, type: str, accept: str=None, deleted: bool=False, **kwar
554554
if response_code == STATUS_CODES.codes.OK: # HTTP 200
555555
try:
556556
resources = json.loads(response.text)
557-
all_entities.extend(resources['_embedded'][RESOURCES[type]['embedded']])
557+
all_entities.extend(resources['_embedded'][NETWORK_RESOURCES[type]['embedded']])
558558
except ValueError as e:
559559
eprint('ERROR: failed to load resources object from GET response')
560560
raise(e)
@@ -909,7 +909,7 @@ def create_endpoint(self, name: str, attributes: list=[], session_identity: str=
909909
started = None
910910
any_in = lambda a, b: any(i in b for i in a)
911911
response_code_symbols = [s.upper() for s in STATUS_CODES._codes[response_code]]
912-
if any_in(response_code_symbols, RESOURCES['endpoints']['create_responses']):
912+
if any_in(response_code_symbols, NETWORK_RESOURCES['endpoints']['create_responses']):
913913
try:
914914
started = json.loads(response.text)
915915
except ValueError as e:
@@ -1016,7 +1016,7 @@ def create_edge_router(self, name: str, attributes: list=[], link_listener: bool
10161016
raise
10171017
any_in = lambda a, b: any(i in b for i in a)
10181018
response_code_symbols = [s.upper() for s in STATUS_CODES._codes[response_code]]
1019-
if any_in(response_code_symbols, RESOURCES['edge-routers']['create_responses']):
1019+
if any_in(response_code_symbols, NETWORK_RESOURCES['edge-routers']['create_responses']):
10201020
try:
10211021
started = json.loads(response.text)
10221022
except ValueError as e:
@@ -1095,7 +1095,7 @@ def create_edge_router_policy(self, name: str, endpoint_attributes: list=[], edg
10951095
raise
10961096
any_in = lambda a, b: any(i in b for i in a)
10971097
response_code_symbols = [s.upper() for s in STATUS_CODES._codes[response_code]]
1098-
if any_in(response_code_symbols, RESOURCES['edge-router-policies']['create_responses']):
1098+
if any_in(response_code_symbols, NETWORK_RESOURCES['edge-router-policies']['create_responses']):
10991099
try:
11001100
started = json.loads(response.text)
11011101
except ValueError as e:
@@ -1249,7 +1249,7 @@ def create_service_simple(self, name: str, client_host_name: str, client_port: i
12491249
raise
12501250
any_in = lambda a, b: any(i in b for i in a)
12511251
response_code_symbols = [s.upper() for s in STATUS_CODES._codes[response_code]]
1252-
if any_in(response_code_symbols, RESOURCES['services']['create_responses']):
1252+
if any_in(response_code_symbols, NETWORK_RESOURCES['services']['create_responses']):
12531253
try:
12541254
started = json.loads(response.text)
12551255
except ValueError as e:
@@ -1346,7 +1346,7 @@ def create_service_policy(self, name: str, services: list, endpoints: list, type
13461346

13471347
any_in = lambda a, b: any(i in b for i in a)
13481348
response_code_symbols = [s.upper() for s in STATUS_CODES._codes[response_code]]
1349-
if any_in(response_code_symbols, RESOURCES['service-policies']['create_responses']):
1349+
if any_in(response_code_symbols, NETWORK_RESOURCES['service-policies']['create_responses']):
13501350
try:
13511351
started = json.loads(response.text)
13521352
except ValueError as e:
@@ -1435,7 +1435,7 @@ def create_service_edge_router_policy(self, name: str, services: list, edge_rout
14351435

14361436
any_in = lambda a, b: any(i in b for i in a)
14371437
response_code_symbols = [s.upper() for s in STATUS_CODES._codes[response_code]]
1438-
if any_in(response_code_symbols, RESOURCES['service-edge-router-policies']['create_responses']):
1438+
if any_in(response_code_symbols, NETWORK_RESOURCES['service-edge-router-policies']['create_responses']):
14391439
try:
14401440
started = json.loads(response.text)
14411441
except ValueError as e:
@@ -1539,7 +1539,7 @@ def create_service_with_configs(self, name: str, intercept_config_data: dict, ho
15391539

15401540
any_in = lambda a, b: any(i in b for i in a)
15411541
response_code_symbols = [s.upper() for s in STATUS_CODES._codes[response_code]]
1542-
if any_in(response_code_symbols, RESOURCES['services']['create_responses']):
1542+
if any_in(response_code_symbols, NETWORK_RESOURCES['services']['create_responses']):
15431543
try:
15441544
started = json.loads(response.text)
15451545
except ValueError as e:
@@ -1857,7 +1857,7 @@ def create_service_advanced(self, name: str, endpoints: list, client_hosts: list
18571857

18581858
any_in = lambda a, b: any(i in b for i in a)
18591859
response_code_symbols = [s.upper() for s in STATUS_CODES._codes[response_code]]
1860-
if any_in(response_code_symbols, RESOURCES['services']['create_responses']):
1860+
if any_in(response_code_symbols, NETWORK_RESOURCES['services']['create_responses']):
18611861
try:
18621862
started = json.loads(response.text)
18631863
except ValueError as e:
@@ -1937,7 +1937,7 @@ def create_app_wan(self, name: str, endpoint_attributes: list=[], service_attrib
19371937
raise
19381938
any_in = lambda a, b: any(i in b for i in a)
19391939
response_code_symbols = [s.upper() for s in STATUS_CODES._codes[response_code]]
1940-
if any_in(response_code_symbols, RESOURCES['app-wans']['create_responses']):
1940+
if any_in(response_code_symbols, NETWORK_RESOURCES['app-wans']['create_responses']):
19411941
try:
19421942
started = json.loads(response.text)
19431943
except ValueError as e:
@@ -1960,7 +1960,8 @@ def create_app_wan(self, name: str, endpoint_attributes: list=[], service_attrib
19601960
return(started)
19611961

19621962
def get_network_by_name(self,name: str,group: str=None):
1963-
"""return exactly one network object
1963+
"""Get one network by name.
1964+
19641965
:param: name required name of the NF network may contain quoted whitespace
19651966
:param: group optional string UUID to limit results by Network Group ID
19661967
"""
@@ -2001,15 +2002,15 @@ def get_network_by_name(self,name: str,group: str=None):
20012002
)
20022003
hits = networks['page']['totalElements']
20032004
if hits == 1:
2004-
network = networks['_embedded'][RESOURCES['networks']['embedded']][0]
2005+
network = networks['_embedded'][NETWORK_RESOURCES['networks']['embedded']][0]
20052006
return(network)
20062007
else:
20072008
raise Exception("ERROR: failed to find exactly one match for {}".format(name))
20082009

20092010
def get_network_by_id(self,network_id):
20102011
"""Return the network object for a particular UUID.
20112012
2012-
:network_id [required] the UUID of the network
2013+
:param str network_id: the UUID of the network
20132014
"""
20142015
try:
20152016
headers = {

netfoundry/utility.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def singular(plural):
119119
},
120120
'networks': {
121121
'embedded': "networkList",
122-
'domain': "network-group",
122+
'domain': "network",
123123
'create_responses': ["ACCEPTED"],
124124
'create_template': {
125125
"name": "Name",

0 commit comments

Comments
 (0)