microsoftgraph / msgraph-cli-archived

The Microsoft Graph CLI repository has moved. This repository is now an archive.
https://github.com/microsoftgraph/msgraph-cli
Other
44 stars 9 forks source link

CLI commands should accept a set of parameters that represent the top level properties of the request payload #64

Closed darrelmiller closed 3 years ago

darrelmiller commented 3 years ago

As an example, see Azure CLI.

C:\Users\darrmi>az ad app create --help

Command
    az ad app create : Create a web application, web API or native application.

Arguments
    --display-name    [Required] : The display name of the application.
    --app-roles                  : Declare the roles you want to associate with your application.
                                   Should be in manifest json format. See examples below for
                                   details.
    --available-to-other-tenants : The application can be used from any Azure AD tenants.  Allowed
                                   values: false, true.
    --credential-description     : The description of the password.
    --end-date                   : Date or datetime after which credentials expire(e.g.
                                   '2017-12-31T11:59:59+00:00' or '2017-12-31'). Default value is
                                   one year after current time.
    --homepage                   : The url where users can sign in and use your app.
    --identifier-uris            : Space-separated unique URIs that Azure AD can use for this app.
    --key-type                   : The type of the key credentials associated with the application.
                                   Allowed values: AsymmetricX509Cert, Password, Symmetric.
                                   Default: AsymmetricX509Cert.
    --key-usage                  : The usage of the key credentials associated with the application.
                                   Allowed values: Sign, Verify.  Default: Verify.
    --key-value                  : The value for the key credentials associated with the
                                   application.
    --native-app                 : An application which can be installed on a user's device or
                                   computer.  Allowed values: false, true.
    --oauth2-allow-implicit-flow : Whether to allow implicit grant flow for OAuth2.  Allowed values:
                                   false, true.
    --optional-claims            : Declare the optional claims for the application. Should be in
                                   manifest json format. See examples below for details. Please
                                   reference https://docs.microsoft.com/en-us/azure/active-
                                   directory/develop/active-directory-optional-claims#optionalclaim-
                                   type for optional claim properties.
    --password                   : App password, aka 'client secret'.
    --reply-urls                 : Space-separated URIs to which Azure AD will redirect in response
                                   to an OAuth 2.0 request. The value does not need to be a physical
                                   endpoint, but must be a valid URI.
    --required-resource-accesses : Resource scopes and roles the application requires access to.
                                   Should be in manifest json format. See examples below for
                                   details.
    --start-date                 : Date or datetime at which credentials become valid(e.g.
                                   '2017-01-01T01:00:00+00:00' or '2017-01-01'). Default value is
                                   current time.

Microsoft Graph CLI currently has this:

C:\Users\darrmi> mg applications create-application -h

Command
    mg applications create-application : Add new entity to applications.

Arguments
    --body  [Required] : New entity Expected value: json-string/@json-file.

We do not want users to have to create a JSON file to specify properties unless those properties themselves are complex types. AB#7760