Skip to content

[Enhancement] Align Power Platform command options #5411

@appieschot

Description

@appieschot

There have been multiple discussions so far but the gist is as followed:

  • Power Platform uses different names for propertys (Id's, Names, DisplayNames'). This issue is to capture the new requirements.
  • The goal is to align the property names so each Power Platfom uses the same properties among the PP grouped commands (eg. all use an Name)

Todo's:

  • Identify all commands that need updates
  • Write out design specs
  • Update commands
  • Update docs
  • Update tenets on how we settle on property names so new commands are done correctly right away.

Commands that needs refactoring

  • m365 pa app commands (export, get, list, remove, consent set, owner set, permission ensure, permission list, permission remove) all the -n, --name parameter that maps to the id property of the returned json object
  • m365 pa connector export uses the --connector property that maps to the name property of the returned json object
  • m365 pa environment get uses the --name property that maps to the name property of the returned json object
  • m365 flow commands (disable, enable, export, get, remove, connector export, connector list, owner, run) use name or flowName that maps to the name property of the returned json object
  • m365 pp aibuilder commands use name or id that map to the msdyn_name and _msdyn_templateid_value vaues of the returned json object
  • m365 pp card commands use name or id that map to the name and cardid values of the returned json object
  • m365 pp chatbot commands use name or id that map to the name and botid values of the returned json object
  • m365 pp table commands use name that map to the LogicalName value of the returned json object
  • m365 pp gateway commands use id that map to the id value of the returned json object (should provide support for Name)
  • m365 pp solution commands use name or id that map to the friendlyname and solutionid values of the returned json object

Suggested spec

  • m365 pa app commands (export, get, list, remove, consent set, owner set, permission ensure, permission list, permission remove)
    • ✅ keep the -n, --name parameter that maps to the name property of the returned json object to --name
  • m365 pa connector export uses the --connector property that maps to the name property of the returned json object
    • ⚠️ rename the --connector parameter that maps to the name property of the returned json object to --name
  • m365 pa environment get uses the --name property that maps to the name property of the returned json object
    • ✅ leave --name as is
  • m365 flow commands (disable, enable, get, remove, connector export, connector list, owner, run) use name or flowName that maps to the name property of the returned json object
    • ✅ leave --name as is
  • m365 flow export command use name that maps to the name property of the returned json object
    • ⚠️ rename the --id parameter to --name
  • m365 pp aibuilder commands use name or id that map to the msdyn_name and _msdyn_templateid_value vaues of the returned json object
    • ✅ leave as is
  • m365 pp card commands use name or id that map to the name and cardid values of the returned json object
    • ✅ leave --cardid as is
    • ✅ leave --name as is
  • m365 pp chatbot commands use name or id that map to the name and botid values of the returned json object
    • ✅ leave --botid as is
    • ⚠️ rename the --name parameter to --displayName
  • m365 pp table commands use name that map to the LogicalName value of the returned json object
    • ✅ leave --name as is
  • m365 pp gateway commands use id that map to the id value of the returned json object (should provide support for Name)
    • ✅ leave --id as is
  • m365 pp solution commands use name or id that map to the friendlyname and solutionid values of the returned json object
    • ⚠️ rename to friendlyname and solutionid

Actual things to change

Let's align some options with our naming convention.

Command Current option New option
pa connector export -c, --connector <connector> -n, --name <name>
flow export -i, --id <id> -n, --name <name>

Aside from these, the pp chatbot list command has a faulty displayName response output. This should be mapped back to name

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions