Standard commands - microsoft/service-fabric-cli GitHub Wiki
Standard commands can be specified entirely by their swagger definition. The swagger definition can be used to generate the python function. It is sufficient to add just a mapping for the command syntax for a standard command.
For more information about the differences between standard and custom commands, see the related documentation.
Standard command files
All standard commands are located in the src/sfctl/commands.py
file.
Tests for custom commands are in their corresponding file under
src/sfctl/tests
.
Mapping
To define a new standard command, add an additional command
under the
command group corresponding to your command. For example, here is the mapping
for sfctl cluster health
. Mappings are inside the commands.py
file:
with CommandSuperGroup(__name__, self, client_func_path,
client_factory=client_create) as super_group:
with super_group.group('cluster') as group:
group.command('health', 'get_cluster_health')
Here, the Python SDK client contains a function called get_cluster_health
that gets mapped to the CLI syntax sfctl cluster health
.
Test
Once the command has a mapping in commands.py
, be sure to include tests for the command. If adding new tests, the tests should be added as functions that include the
phrase test
at the start of the function name.
All of the unit tests are under the src/sfctl/tests
folder.