pac.doc.json

[
  {
    "name": "admin",
    "help": "Work with your Power Platform Admin Account",
    "verbs": [
      {
        "name": "list",
        "help": "List all environments from your tenant.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "List all environments that contain given string in their name or ID.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--type",
            "alias": "-t",
            "help": "List all environments with the given type.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Trial, Sandbox, Production, Developer, Teams, SubscriptionBasedTrial",
            "listOfDisplayValues": "Trial, Sandbox, Production, Developer, Teams, SubscriptionBasedTrial",
            "allowMultipleValues": false
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "List all environments that contain given string in their name.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--organization-id",
            "alias": "-oi",
            "help": "List all environments that contain given string in their organization ID.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--application",
            "alias": "-a",
            "help": "List all environments that have specified application installed. To specify application, use unique name or ID.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "create",
        "help": "Creates a Dataverse instance in your tenant.",
        "arguments": [
          {
            "name": "--name",
            "alias": "-n",
            "help": "Sets the name of the environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--region",
            "alias": "-r",
            "help": "Sets the environment's region name. [defaults to unitedstates]",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--type",
            "alias": "-t",
            "help": "Sets the environment Type.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Trial, Sandbox, Production, Developer, Teams, SubscriptionBasedTrial",
            "listOfDisplayValues": "Trial, Sandbox, Production, Developer, Teams, SubscriptionBasedTrial",
            "allowMultipleValues": false
          },
          {
            "name": "--currency",
            "alias": "-c",
            "help": "Sets the currency used for your environment. [defaults to USD]",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--language",
            "alias": "-l",
            "help": "Sets the language used for your environment. [defaults to English]",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--templates",
            "alias": "-tm",
            "help": "Sets the Dynamics 365 app that needs to be deployed, passed as comma separated values. For example: -tm \"D365_Sample, D365_Sales\"",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--domain",
            "alias": "-d",
            "help": "The domain name is part of the environment URL. If domain name is already in use, a numeric value is appended to the domain name. For example: If 'contoso' is already in use, then the environment URL is updated to https://{contoso}0.crm.dynamics.com.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "minLength": 2,
            "maxLength": 32,
            "allowMultipleValues": false,
            "RegexHelp": "Only characters within the ranges [A - Z], [a - z], [0 - 9], or '-' are allowed. The first and last character can't be the '-' character. Consecutive '-' characters aren't allowed."
          },
          {
            "name": "--input-file",
            "alias": "-if",
            "help": "The verb arguments to be passed in a .json input file. For example: {\"name\" : \"contoso\"}. The arguments passed through command-line will take precedence over arguments from the .json input file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Optional boolean argument to run pac verbs asynchronously, defaults to false.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--team-id",
            "alias": "-tid",
            "help": "Team ID as Guid",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The Team Id must be a valid Guid."
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "backup",
        "help": "Takes a manual backup of your environment.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--environment",
            "argument2": "--url",
            "argument3": "--environment-id",
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Environment URL or ID of the Environment that requires backup.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--label",
            "alias": "-l",
            "help": "Sets the backup label as provided.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--notes",
            "alias": "-n",
            "help": "**ignored**: Additional notes for this backup.",
            "deprecated": "Ignored",
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "set-backup-retention-period",
        "help": "Takes a manual backup of your environment.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--environment",
            "argument2": "--url",
            "argument3": "--environment-id",
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Environment URL or ID of the Environment that requires backup.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--backup-retention-period",
            "alias": "-br",
            "help": "Sets the backup retention period in days as provided. Valid values are: 7, 14, 21, 28.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Optional boolean argument to run pac verbs asynchronously, defaults to false.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "delete",
        "help": "Deletes the environment from your tenant.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--environment",
            "argument2": "--url",
            "argument3": "--environment-id",
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Environment URL or ID of the Environment that needs to be deleted from your tenant.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Optional boolean argument to run pac verbs asynchronously, defaults to false.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "reset",
        "help": "Reset the environment from your tenant.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--environment",
            "argument2": "--url",
            "argument3": "--environment-id",
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "URL or ID of the Environment that needs to be reset.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "minLength": 1,
            "maxLength": 16384,
            "allowMultipleValues": false
          },
          {
            "name": "--currency",
            "alias": "-c",
            "help": "Sets the currency used for your environment. [defaults to USD]",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--domain",
            "alias": "-d",
            "help": "The domain name is part of the environment URL. If domain name is already in use, a numeric value is appended to the domain name. For example: If 'contoso' is already in use, then the environment URL is updated to https://{contoso}0.crm.dynamics.com.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "Sets the name of the environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--language",
            "alias": "-l",
            "help": "Sets the language used for your environment. [defaults to English]",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--purpose",
            "alias": "-p",
            "help": "Sets the description used to associate the environment with a specific intent.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--templates",
            "alias": "-tm",
            "help": "Sets the Dynamics 365 app that needs to be deployed, passed as comma separated values. For example: -tm \"D365_Sample, D365_Sales\"",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--input-file",
            "alias": "-if",
            "help": "The verb arguments to be passed in a .json input file. For example: {\"name\" : \"contoso\"}. The arguments passed through command-line will take precedence over arguments from the .json input file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Optional boolean argument to run pac verbs asynchronously, defaults to false.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "list-backups",
        "help": "Lists all backups of your environment.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--environment",
            "argument2": "--url",
            "argument3": "--environment-id",
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "List all environments that contain a given string in their Environment ID or URL.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "restore",
        "help": "Restores an environment to a given backup.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--source-env",
            "argument2": "--source-url",
            "argument3": "--source-id",
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--source-env",
            "alias": "-se",
            "help": "Environment URL or ID of the source environment required for restore.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--target-env",
            "alias": "-te",
            "help": "Environment URL or ID of the target environment required for restore. This would default to source URL/ID if not provided.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--selected-backup",
            "alias": "-sb",
            "help": "DateTime of the backup in 'mm/dd/yyyy hh:mm' format OR string 'latest'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "Optional name of the restored environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--skip-audit-data",
            "alias": "-sa",
            "help": "Switch indicating whether audit data should be skipped",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Optional boolean argument to run pac verbs asynchronously, defaults to false.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "copy",
        "help": "Copy Source Environment to Destination Environment.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--source-env",
            "argument2": "--source-url",
            "argument3": "--source-id",
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--target-env",
            "argument2": "--target-url",
            "argument3": "--target-id",
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--source-env",
            "alias": "-se",
            "help": "Environment URL or ID of the source environment that is being copied",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--target-env",
            "alias": "-te",
            "help": "Environment URL or ID of the target environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "Name of the target environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--type",
            "alias": "-t",
            "help": null,
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "MinimalCopy, FullCopy",
            "listOfDisplayValues": "MinimalCopy, FullCopy",
            "allowMultipleValues": false
          },
          {
            "name": "--skip-audit-data",
            "alias": "-sa",
            "help": "Switch indicating whether audit data should be skipped",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Optional boolean argument to run pac verbs asynchronously, defaults to false.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "status",
        "help": "This command lists the status of all the operations in progress."
      },
      {
        "name": "assign-user",
        "help": "Assign a user to a target Dataverse environment with specified security role.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "ID or URL of the environment to assign a user to.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--user",
            "alias": "-u",
            "help": "Object ID or user principal name (UPN) of Azure Active Directory user to be assigned to the environment or Application ID if assigning an Application User.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--role",
            "alias": "-r",
            "help": "Name or ID of security role to be applied to user",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--application-user",
            "alias": "-au",
            "help": "Specifies whether the input user is an application user. If a business unit isn't specified, the application user is added to the authenticated users business unit.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--business-unit",
            "alias": "-bu",
            "help": "ID of business unit to associate application user with.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Optional boolean argument to run pac verbs asynchronously, defaults to false.",
            "deprecated": "Ignored",
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "assign-group",
        "help": "Assign group to target Dataverse environment with specified security role.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "ID or URL of the environment to assign a user to.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--group",
            "alias": "-g",
            "help": "Azure Active Directory object ID of group to assign to target Dataverse environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--group-name",
            "alias": "-gn",
            "help": "Name of the group or team to create in Dataverse.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--role",
            "alias": "-r",
            "help": "Name or ID of security role to be applied to user",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--team-type",
            "alias": "-tt",
            "help": "Type of team.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Owner, Access, AadSecurityGroup, AadOfficeGroup",
            "listOfDisplayValues": "Owner, Access, AadSecurityGroup, AadOfficeGroup",
            "allowMultipleValues": false
          },
          {
            "name": "--membership-type",
            "alias": "-mt",
            "help": "Team membership type.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "MembersAndGuests, Members, Owners, Guests",
            "listOfDisplayValues": "MembersAndGuests, Members, Owners, Guests",
            "allowMultipleValues": false
          },
          {
            "name": "--business-unit",
            "alias": "-bu",
            "help": "ID of business unit to associate application user with.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "list-app-templates",
        "help": "Lists all supported Dataverse templates of model-driven apps in Dynamics 365.",
        "arguments": [
          {
            "name": "--region",
            "alias": "-r",
            "help": "Sets the environment's region name. [defaults to unitedstates]",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "create-service-principal",
        "help": "Add Microsoft Azure Active Directory application and associated application user to the Dataverse environment.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "ID or URL of the environment to add an application user to.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--role",
            "alias": "-r",
            "help": "Name or ID of security role to be applied to application user. The default value is: 'System Administrator'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "application",
    "help": "Commands for listing and installing available Dataverse applications from AppSource",
    "verbs": [
      {
        "name": "list",
        "help": "List available Dataverse applications from AppSource",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "List available Dataverse applications for given environment (by ID or url); if not specified, list all applications in the tenant",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--output",
            "alias": "-o",
            "help": "Location of the JSON file to be created with list of the Dataverse applications from AppSource",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--installState",
            "alias": "-s",
            "help": "Filter by application install state",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "NotInstalled, Installed, All",
            "listOfDisplayValues": "NotInstalled, Installed, All",
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "install",
        "help": "Installs Dataverse application to given environment.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--application-name",
            "argument2": "--application-list",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "List available Dataverse applications for given environment (by ID or url); if not specified, list all applications in the tenant",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--application-name",
            "alias": "-an",
            "help": "Unique name of the application to install to the target environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--application-list",
            "alias": "-al",
            "help": "Location of the JSON file with list of the Dataverse applications from AppSource to be installed",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "auth",
    "help": "Manage how you authenticate to various services",
    "verbs": [
      {
        "name": "create",
        "help": "Create and store authentication profiles on this computer",
        "argumentRelations": [
          {
            "RelationType": "Biconditional",
            "argument1": "--username",
            "argument2": "--password",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--clientSecret",
            "argument2": "--certificateDiskPath",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--clientSecret",
            "argument2": "--certificatePassword",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "Biconditional",
            "argument1": "--certificateDiskPath",
            "argument2": "--certificatePassword",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--name",
            "alias": "-n",
            "help": "The name you want to give to this authentication profile (maximum 30 characters).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The length of the name should be between 1 and 30"
          },
          {
            "name": "--kind",
            "alias": "-k",
            "help": "The kind of authentication profile you're creating.",
            "deprecated": "Ignored",
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--url",
            "alias": "-u",
            "help": "The resource URL to connect to",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--username",
            "alias": "-un",
            "help": "Optional: The username to authenticate with; shows Azure Active Directory dialog if not specified.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--password",
            "alias": "-p",
            "help": "Optional: The password to authenticate with",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--applicationId",
            "alias": "-id",
            "help": "Optional: The application ID to authenticate with.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--clientSecret",
            "alias": "-cs",
            "help": "Optional: The client secret to authenticate with",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--certificateDiskPath",
            "alias": "-cdp",
            "help": "Optional: The certificate disk path to authenticate with",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--certificatePassword",
            "alias": "-cp",
            "help": "Optional: The certificate password to authenticate with",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--tenant",
            "alias": "-t",
            "help": "Tenant ID if using application ID/client secret or application ID/client certificate.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--cloud",
            "alias": "-ci",
            "help": "Optional: The cloud instance to authenticate with",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Public, Preprod, Test, UsGov, UsGovHigh, UsGovDod, China",
            "listOfDisplayValues": "Public, UsGov, UsGovHigh, UsGovDod, China",
            "allowMultipleValues": false
          },
          {
            "name": "--deviceCode",
            "alias": "-dc",
            "help": "Use the Azure Active Directory Device Code flow for interactive sign-in.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--managedIdentity",
            "alias": "-mi",
            "help": "Use Azure Managed Identity.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Default environment (ID, url, unique name, or partial name).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "list",
        "help": "List the authentication profiles stored on this computer"
      },
      {
        "name": "select",
        "help": "Select which authentication profile should be active",
        "arguments": [
          {
            "name": "--index",
            "alias": "-i",
            "help": "The index of the profile to be active.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The value must be a positive integer."
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "The name of the profile to be active",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The length of the name should be between 1 and 30"
          }
        ]
      },
      {
        "name": "delete",
        "help": "Delete a particular authentication profile",
        "arguments": [
          {
            "name": "--index",
            "alias": "-i",
            "help": "The index of the profile to be deleted",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The value must be a positive integer."
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "The name of the profile to be active",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The length of the name should be between 1 and 30"
          }
        ]
      },
      {
        "name": "update",
        "help": "Update name or target environment of an existing authentication profile",
        "argumentRelations": [
          {
            "RelationType": "Any",
            "argument1": "--name",
            "argument2": "--environment",
            "argument3": null,
            "areSwitchArguments": true
          }
        ],
        "arguments": [
          {
            "name": "--index",
            "alias": "-i",
            "help": "The index of the profile to be named/renamed",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The value must be a positive integer."
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "The name you want to give to this authentication profile (maximum 30 characters).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "minLength": 0,
            "maxLength": 30,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Default environment (ID, url, unique name, or partial name).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "name",
        "help": "Name or rename an existing authentication profile",
        "arguments": [
          {
            "name": "--index",
            "alias": "-i",
            "help": "The index of the profile to be named/renamed",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The value must be a positive integer."
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "The name you want to give to this authentication profile (maximum 30 characters).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The length of the name should be between 1 and 30"
          }
        ]
      },
      {
        "name": "clear",
        "help": "Clear all authentication profiles stored on this computer"
      }
    ]
  },
  {
    "name": "canvas",
    "help": "Operating with Power Apps .msapp files",
    "verbs": [
      {
        "name": "pack",
        "help": "(Preview) Pack sources into an msapp file",
        "arguments": [
          {
            "name": "--sources",
            "alias": null,
            "help": "Directory to sources to be packed",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--msapp",
            "alias": null,
            "help": "Path to .msapp file",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "unpack",
        "help": "(Preview) Extract an msapp file into sources",
        "arguments": [
          {
            "name": "--sources",
            "alias": null,
            "help": "Directory to sources to be unpacked",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--msapp",
            "alias": null,
            "help": "Path to .msapp file",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "create",
        "help": "Generate a canvas app from a custom connector",
        "arguments": [
          {
            "name": "--msapp",
            "alias": null,
            "help": "Path to .msapp file to be generated",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--connector-id",
            "alias": null,
            "help": "The ID of the Connector to generate the Power App from.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--connector-display-name",
            "alias": null,
            "help": "The display name of the Connector to generate the Power App from.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": null,
            "help": "The target Environment ID or URL. The default value is the environment of your currently active Dataverse Auth Profile.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "catalog",
    "help": "(Preview) Commands for working with Catalog in Power Platform",
    "verbs": [
      {
        "name": "list",
        "help": "(Preview) List all published catalog items from the current Dataverse organization.",
        "arguments": [
          {
            "name": "--catalog-item-name",
            "alias": "-n",
            "help": "Catalog item name to search for.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--catalog-item-id",
            "alias": "-cid",
            "help": "Catalog item ID to search for. When catalog item ID is used, catalog item name is ignored.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--include-active",
            "alias": "-ia",
            "help": "Include active items.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "submit",
        "help": "(Preview) Submit catalog approval request.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--package-zip",
            "argument2": "--solution-zip",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path to catalog submission document",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--package-zip",
            "alias": "-pz",
            "help": "Path to package zip file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solution-zip",
            "alias": "-sz",
            "help": "Path to solution zip file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--poll-status",
            "alias": "-ps",
            "help": "Poll to check status of your request",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "install",
        "help": "(Preview) Install a catalog item to the target environment.",
        "arguments": [
          {
            "name": "--catalog-item-id",
            "alias": "-cid",
            "help": "Catalog item to be installed on the target environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--target-url",
            "alias": "-tu",
            "help": "Url of the target environment for catalog item installation",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": true,
            "allowMultipleValues": false
          },
          {
            "name": "--settings",
            "alias": "-s",
            "help": "Runtime Package Settings for the installation framework to execute. The format of the string must be `key=value|key=value`.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The format of the string must be `key=value|key=value`."
          },
          {
            "name": "--target-version",
            "alias": "-tv",
            "help": "Target version to install. If left empty, the published version is selected.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--poll-status",
            "alias": "-ps",
            "help": "Poll to check status of your request",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "status",
        "help": "(Preview) Get status of the catalog install/submit request.",
        "arguments": [
          {
            "name": "--tracking-id",
            "alias": "-id",
            "help": "Request tracking ID.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--type",
            "alias": "-t",
            "help": "Request type",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Install, Submit",
            "listOfDisplayValues": "Install, Submit",
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "update",
        "help": "(Preview) Update settings for the catalog.",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path to catalog settings document",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "create-submission",
        "help": "(Preview) Create catalog submission document. Note: This command will be removed in a future release.",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path to catalog submission document",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "connector",
    "help": "(Preview) Commands for working with Power Platform Connectors",
    "verbs": [
      {
        "name": "list",
        "help": "(Preview) List the Connectors registered in Dataverse.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "The target Environment ID or URL. The default value is the environment of your currently active Dataverse Auth Profile.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "init",
        "help": "(Preview) Initializes a new API Properties file for a Connector.",
        "arguments": [
          {
            "name": "--connection-template",
            "alias": "-ct",
            "help": "Generate an initial Connection Parameters set with the specified template.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "NoAuth, BasicAuth, ApiKey, OAuthGeneric, OAuthAAD",
            "listOfDisplayValues": "NoAuth, BasicAuth, ApiKey, OAuthGeneric, OAuthAAD",
            "allowMultipleValues": false
          },
          {
            "name": "--generate-script-file",
            "alias": null,
            "help": "Generate an initial Connector Script file",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--generate-settings-file",
            "alias": null,
            "help": "Generate an initial Connector Settings file",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--outputDirectory",
            "alias": "-o",
            "help": "Output directory",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "create",
        "help": "(Preview) Creates a new row in the Connector table in Dataverse.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--settings-file",
            "argument2": "--api-definition-file",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--settings-file",
            "argument2": "--api-properties-file",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--settings-file",
            "argument2": "--icon-file",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--settings-file",
            "argument2": "--script-file",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--settings-file",
            "argument2": "--environment",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--api-definition-file",
            "alias": "-df",
            "help": "The filename and path to read the Connector's OpenApiDefinition.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--api-properties-file",
            "alias": "-pf",
            "help": "The filename and path to read the Connector's API Properties file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--icon-file",
            "alias": "-if",
            "help": "The filename and path to and Icon .png file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--script-file",
            "alias": "-sf",
            "help": "The filename and path to a Script .csx file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solution-unique-name",
            "alias": "-sol",
            "help": "The unique name of the solution to add the connector to",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": "-env",
            "help": "The target Environment ID or URL. The default value is the environment of your currently active Dataverse Auth Profile.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--settings-file",
            "alias": null,
            "help": "The filename and path Connector Settings file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "download",
        "help": "(Preview) Download a Connector's OpenApiDefinition and API Properties file",
        "arguments": [
          {
            "name": "--connector-id",
            "alias": "-id",
            "help": "The ID of the Connector",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The Connector ID must be a valid Guid."
          },
          {
            "name": "--outputDirectory",
            "alias": "-o",
            "help": "Output directory",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": "-env",
            "help": "The target Environment ID or URL. The default value is the environment of your currently active Dataverse Auth Profile.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "update",
        "help": "(Preview) Updates a Connector Entity in Dataverse.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--settings-file",
            "argument2": "--connector-id",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--settings-file",
            "argument2": "--api-definition-file",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--settings-file",
            "argument2": "--api-properties-file",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--settings-file",
            "argument2": "--icon-file",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--settings-file",
            "argument2": "--script-file",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--settings-file",
            "argument2": "--environment",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--connector-id",
            "alias": "-id",
            "help": "The ID of the Connector",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The Connector ID must be a valid Guid."
          },
          {
            "name": "--api-definition-file",
            "alias": "-df",
            "help": "The filename and path to read the Connector's OpenApiDefinition.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--api-properties-file",
            "alias": "-pf",
            "help": "The filename and path to read the Connector's API Properties file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--icon-file",
            "alias": "-if",
            "help": "The filename and path to and Icon .png file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--script-file",
            "alias": "-sf",
            "help": "The filename and path to a Script .csx file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solution-unique-name",
            "alias": "-sol",
            "help": "The unique name of the solution to add the connector to",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": "-env",
            "help": "The target Environment ID or URL. The default value is the environment of your currently active Dataverse Auth Profile.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--settings-file",
            "alias": null,
            "help": "The filename and path Connector Settings file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "copilot",
    "help": "(Preview) Tools and utilities for copilot scenarios",
    "verbs": [
      {
        "name": "list",
        "help": "AI Builder models in the current environment."
      },
      {
        "name": "predict",
        "help": "Sends text or prompt to AI Model",
        "arguments": [
          {
            "name": "--model-id",
            "alias": "-m",
            "help": "AI Builder model Id",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--prompt",
            "alias": "-p",
            "help": "Prompt to send to AI Model",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--text",
            "alias": "-t",
            "help": "Text to send to AI Model",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "prepare-fetch",
        "help": "Takes the FetchXML file from the AI Large Language Model (LLM) and prepares it for execution against the current environment.",
        "arguments": [
          {
            "name": "--inputFile",
            "alias": "-i",
            "help": "Input FetchXML file that usually comes from AI LLM.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--outputFile",
            "alias": "-o",
            "help": "Output FetchXML file that is ready to execute against the current environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "data",
    "help": "Import and export data from Dataverse.",
    "verbs": [
      {
        "name": "export",
        "help": "Export data",
        "arguments": [
          {
            "name": "--schemaFile",
            "alias": "-sf",
            "help": "Schema file name. It can be created using the Configuration Migration Tool.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--dataFile",
            "alias": "-df",
            "help": "File name for data zip file. Default data.zip",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--overwrite",
            "alias": "-o",
            "help": "Allow overwrite of the output data file if it already exists.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--verbose",
            "alias": "-v",
            "help": "Output more diagnostic information during data import/export",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Environment (ID, org ID, url, unique name, or partial name).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "import",
        "help": "Import data",
        "arguments": [
          {
            "name": "--dataDirectory",
            "alias": "-dd",
            "help": "Directory name with data for import.",
            "deprecated": "Ignored",
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--data",
            "alias": "-d",
            "help": "Zip file or directory name with data for import.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--verbose",
            "alias": "-v",
            "help": "Output more diagnostic information during data import/export",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Environment (ID, org ID, url, unique name, or partial name).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "help",
    "help": "Show help for the Microsoft Power Platform CLI."
  },
  {
    "name": "modelbuilder",
    "help": "Code Generator for Dataverse APIs and Tables",
    "verbs": [
      {
        "name": "build",
        "help": "Builds a code model for Dataverse APIs and Tables",
        "arguments": [
          {
            "name": "--suppressGeneratedCodeAttribute",
            "alias": "-sgca",
            "help": "When set, this suppress all generated objects being tagged with the code generation engine and version",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--language",
            "alias": "-l",
            "help": "The language to use for the generated proxy code. This value can be either 'CS' or 'VB'. The default language is 'CS'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--namespace",
            "alias": "-n",
            "help": "The namespace for the generated code. The default namespace is the global namespace.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--serviceContextName",
            "alias": "-sctx",
            "help": "The name for the generated service context. If a value is passed in, it's used for the Service Context. If not, no Service Context is generated.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--generatesdkmessages",
            "alias": "-a",
            "help": "When set, emits Sdk message classes as part of code generation.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--emitentityetc",
            "alias": "-etc",
            "help": "When set, includes the entity ETC ( entity type code ) in the generated code.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--emitvirtualattributes",
            "alias": "-eva",
            "help": "When set, includes the Virtual Attributes of entities in the generated code.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--emitfieldsclasses",
            "alias": "-efc",
            "help": "Generate a constants structure that contains all of the field names by entity at the time of code generation.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--entitynamesfilter",
            "alias": "-enf",
            "help": "Filters the list of entities are retrieved when reading data from Dataverse. Passed in as a semicolon separated list. Using the form <entitylogicalname>;<entitylogicalname>",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--messagenamesfilter",
            "alias": "-mnf",
            "help": "Filters the list of messages that are retrieved when reading data from Dataverse. Passed in as a semicolon separated list, required messages (Create, Update, Delete, Retrieve, RetrieveMultiple, Associate and Disassociate) are always included. Use a trailing or leading asterisk (*) with the names of the messages to allow for all messages starting with or ending with a string. Using the form <messagename>;<messagename>.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--outdirectory",
            "alias": "-o",
            "help": "Write directory for entity, message, and optionset files.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--entitytypesfolder",
            "alias": "-etf",
            "help": "Folder name that contains entities. The default name is 'Entities'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--messagestypesfolder",
            "alias": "-mtf",
            "help": "Folder name that contains messages. The default name is 'Messages'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--optionsetstypesfolder",
            "alias": "-otf",
            "help": "Folder name that contains option sets. The default name is 'OptionSets'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--generateGlobalOptionSets",
            "alias": "-go",
            "help": "Emit all Global OptionSets. Note: If an entity contains a reference to a global optionset, it is emitted even if this switch is not present.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--writesettingsTemplateFile",
            "alias": "-wstf",
            "help": "When set, writes a settings file out to the output directory with the current passed settings or default settings.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--settingsTemplateFile",
            "alias": "-stf",
            "help": "Contains Settings to be used for this run of the Dataverse Model Builder, overrides any duplicate parameters on command line. Can't be set when --writesettingstemplate is used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--suppressINotifyPattern",
            "alias": null,
            "help": "When enabled, doesn't write the INotify wrappers for properties and classes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--logLevel",
            "alias": "-ll",
            "help": "Log level. The default value is 'Off'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Off, Critical, Error, Warning, Information, Verbose, ActivityTracing, All",
            "listOfDisplayValues": "Off, Critical, Error, Warning, Information, Verbose, ActivityTracing, All",
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "org",
    "help": "Work with your Dataverse organization.",
    "verbs": [
      {
        "name": "who",
        "help": "Displays information about the current Dataverse organization."
      },
      {
        "name": "list",
        "help": "Lists all of the Dataverse organizations the user has access to",
        "arguments": [
          {
            "name": "--filter",
            "alias": "-f",
            "help": "Show only environments containing filter criteria.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "fetch",
        "help": "(Preview) Performs FetchXML query against Dataverse",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--xml",
            "argument2": "--xmlFile",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--xml",
            "alias": "-x",
            "help": "FetchXML query to run",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--xmlFile",
            "alias": "-xf",
            "help": "File with FetchXML query to run",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "list-settings",
        "help": "List environment settings",
        "arguments": [
          {
            "name": "--filter",
            "alias": "-f",
            "help": "Show only settings containing filter criteria",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "update-settings",
        "help": "Update environment settings",
        "arguments": [
          {
            "name": "--name",
            "alias": "-n",
            "help": "Name of the setting to update",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--value",
            "alias": "-v",
            "help": "Value to which setting should be updated to",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "select",
        "help": "Select default organization for current authentication profile.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Default environment (ID, url, unique name, or partial name).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "package",
    "help": "Commands for working with Dataverse package projects",
    "verbs": [
      {
        "name": "init",
        "help": "Initializes a directory with a new Dataverse package project",
        "arguments": [
          {
            "name": "--outputDirectory",
            "alias": "-o",
            "help": "Output directory",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--package-name",
            "alias": null,
            "help": "Sets the default name of the package. Applies to the generation of ImportExtension.GetNameOfImport.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "add-external-package",
        "help": "Adds a package that is external to the Dataverse solution system to a Package Deployer Package project.",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path to the external package",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--package-type",
            "alias": "-t",
            "help": "The type of the package being added. For example: 'xpp' for FnO packages.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--import-order",
            "alias": null,
            "help": "A whole number that indicates the order to insert this item into the final ImportConfig.xml file at build time. Negative numbers are inserted before existing elements. Positive numbers are added after existing elements.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--skip-validation",
            "alias": "-sv",
            "help": "Adds the item to the project file even if the file doesn't exist or appears to be invalid. Note: Using this doesn't affect any validation performed by MSBuild.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "add-solution",
        "help": "Adds a prebuilt Dataverse solution file to a Package Deployer Package project.",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path to the Dataverse solution file. The file must be a compressed ZIP file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--import-order",
            "alias": null,
            "help": "A whole number that indicates the order to insert this item into the final ImportConfig.xml file at build time. Negative numbers are inserted before existing elements. Positive numbers are added after existing elements.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--skip-validation",
            "alias": "-sv",
            "help": "Adds the item to the project file even if the file doesn't exist or appears to be invalid. Note: Using this doesn't affect any validation performed by MSBuild.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--publish-workflows-activate-plugins",
            "alias": null,
            "help": "Explicitly indicates whether to publish the workflows and activate plug-ins when this solution is imported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "true, false",
            "listOfDisplayValues": "true, false",
            "allowMultipleValues": false
          },
          {
            "name": "--overwrite-unmanaged-customizations",
            "alias": null,
            "help": "Explicitly indicates whether to overwrite unmanaged customizations when this solution is imported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "true, false",
            "listOfDisplayValues": "true, false",
            "allowMultipleValues": false
          },
          {
            "name": "--import-mode",
            "alias": null,
            "help": "Explicitly specifies the required mode when importing this solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "sync, async",
            "listOfDisplayValues": "sync, async",
            "allowMultipleValues": false
          },
          {
            "name": "--missing-dependency-behavior",
            "alias": null,
            "help": "Specifies the behavior on import when a dependency of this solution is missing from the target environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "skip, fault",
            "listOfDisplayValues": "skip, fault",
            "allowMultipleValues": false
          },
          {
            "name": "--dependency-overrides",
            "alias": null,
            "help": "A semicolon delimited list of overrides. This value overrides any dependency information encoded in the solution's metadata. Each override should be in the format: `<uniquename>:<minVersion>:<maxVersion>`. Where minVersion and maxVersion are optional but should be in .NET version format syntax.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "Use a semicolon delimited list of dependency overrides of the format <uniquename>:<minVersion>:<maxVersion>."
          }
        ]
      },
      {
        "name": "add-reference",
        "help": "Adds reference to Dataverse solution project",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "The path to the referenced Dataverse solution project",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--import-order",
            "alias": null,
            "help": "A whole number that indicates the order to insert this item into the final ImportConfig.xml file at build time. Negative numbers are inserted before existing elements. Positive numbers are added after existing elements.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--publish-workflows-activate-plugins",
            "alias": null,
            "help": "Explicitly indicates whether to publish the workflows and activate plug-ins when this solution is imported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "true, false",
            "listOfDisplayValues": "true, false",
            "allowMultipleValues": false
          },
          {
            "name": "--overwrite-unmanaged-customizations",
            "alias": null,
            "help": "Explicitly indicates whether to overwrite unmanaged customizations when this solution is imported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "true, false",
            "listOfDisplayValues": "true, false",
            "allowMultipleValues": false
          },
          {
            "name": "--import-mode",
            "alias": null,
            "help": "Explicitly specifies the required mode when importing this solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "sync, async",
            "listOfDisplayValues": "sync, async",
            "allowMultipleValues": false
          },
          {
            "name": "--missing-dependency-behavior",
            "alias": null,
            "help": "Specifies the behavior on import when a dependency of this solution is missing from the target environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "skip, fault",
            "listOfDisplayValues": "skip, fault",
            "allowMultipleValues": false
          },
          {
            "name": "--dependency-overrides",
            "alias": null,
            "help": "A semicolon delimited list of overrides. This value overrides any dependency information encoded in the solution's metadata. Each override should be in the format: `<uniquename>:<minVersion>:<maxVersion>`. Where minVersion and maxVersion are optional but should be in .NET version format syntax.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "Use a semicolon delimited list of dependency overrides of the format <uniquename>:<minVersion>:<maxVersion>."
          }
        ]
      },
      {
        "name": "deploy",
        "help": "Deploys package to Dataverse",
        "arguments": [
          {
            "name": "--logFile",
            "alias": "-lf",
            "help": "Log file path",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--logConsole",
            "alias": "-c",
            "help": "Output log to console",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--package",
            "alias": "-p",
            "help": "Path to a package dll or zip file with a package.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--settings",
            "alias": "-s",
            "help": "Runtime Package Settings that are passed to the package that is being deployed. The format of the string must be `key=value|key=value`.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The format of the string must be `key=value|key=value`."
          },
          {
            "name": "--verbose",
            "alias": "-vdbg",
            "help": "Emit verbose logs to the log outputs.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "show",
        "help": "Shows details of Dataverse package",
        "arguments": [
          {
            "name": "--package",
            "alias": "-p",
            "help": "Path to a package dll or zip file with a package.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--logFile",
            "alias": "-lf",
            "help": "Log file path",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--verbose",
            "alias": "-vdbg",
            "help": "Emit verbose logs to the log outputs.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "paportal",
    "help": "Commands for working with Power Pages website.",
    "verbs": [
      {
        "name": "list",
        "help": "List all Power Pages websites from the current Dataverse environment.",
        "arguments": [
          {
            "name": "--verbose",
            "alias": "-v",
            "help": "Enables verbose mode to provide more details.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "download",
        "help": "Download Power Pages website content from the current Dataverse environment.",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path where the Power Pages website content is downloaded",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--webSiteId",
            "alias": "-id",
            "help": "Power Pages website ID to download",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--includeEntities",
            "alias": "-ie",
            "help": "Download only the entities specified for this argument using comma separated entity logical names.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--excludeEntities",
            "alias": "-xe",
            "help": "Comma separated list of entity logical names to exclude downloading",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--overwrite",
            "alias": "-o",
            "help": "Power Pages website content to overwrite",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--modelVersion",
            "alias": "-mv",
            "help": "Power Pages website data model version to download.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "upload",
        "help": "Upload Power Pages website content to current Dataverse environment.",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path from where the Power Pages website content is uploaded.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--deploymentProfile",
            "alias": "-dp",
            "help": "Deployment profile name to be used. Defaults to 'default'",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--forceUploadAll",
            "alias": "-f",
            "help": "Upload all Power Pages website content to the current Dataverse environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--modelVersion",
            "alias": "-mv",
            "help": "Power Pages website data model version to upload.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "pcf",
    "help": "Commands for working with Power Apps component framework projects",
    "verbs": [
      {
        "name": "init",
        "help": "Initializes a directory with a new Power Apps component framework project",
        "arguments": [
          {
            "name": "--namespace",
            "alias": "-ns",
            "help": "The namespace for the component.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "minLength": 1,
            "maxLength": 75,
            "allowMultipleValues": false,
            "RegexHelp": "Only characters within the ranges [A - Z], [a - z], [0 - 9], or '.' are allowed. The first and last character may not be the '.' character. Consecutive '.' characters are not allowed. Numbers are not allowed as the first character or immediately after a period."
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "The name for the component.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "minLength": 1,
            "maxLength": 75,
            "allowMultipleValues": false,
            "RegexHelp": "Only characters within the ranges [A - Z], [a - z] or [0 - 9] are allowed. The first character may not be a number."
          },
          {
            "name": "--template",
            "alias": "-t",
            "help": "Choose a template for the component.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "field, dataset",
            "listOfDisplayValues": "field, dataset",
            "allowMultipleValues": false
          },
          {
            "name": "--framework",
            "alias": "-fw",
            "help": "The rendering framework for control. The default value is 'none', which means HTML.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "none, react",
            "listOfDisplayValues": "none, react",
            "allowMultipleValues": false
          },
          {
            "name": "--outputDirectory",
            "alias": "-o",
            "help": "Output directory",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--run-npm-install",
            "alias": "-npm",
            "help": "Auto run 'npm install' after the control is created. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "push",
        "help": "Import the Power Apps component framework project into the current Dataverse organization",
        "arguments": [
          {
            "name": "--publisher-prefix",
            "alias": "-pp",
            "help": "Customization prefix value for the Dataverse solution publisher",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "minLength": 2,
            "maxLength": 8,
            "allowMultipleValues": false,
            "RegexHelp": "The prefix must be 2 to 8 characters long, can only consist of alpha-numerics, must start with a letter, and can't start with 'mscrm'."
          },
          {
            "name": "--verbosity",
            "alias": "-v",
            "help": "Verbosity level for MSBuild when building the temporary solution wrapper.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "minimal, normal, detailed, diagnostic",
            "listOfDisplayValues": "minimal, normal, detailed, diagnostic",
            "allowMultipleValues": false
          },
          {
            "name": "--force-import",
            "alias": "-f",
            "help": "Force a full update of the control",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--interactive",
            "alias": "-i",
            "help": "Indicates that actions in the build are allowed to interact with the user. Don't use this argument in an automated scenario where interactivity is not expected.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "version",
        "help": "Patch version for controls",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--patchversion",
            "argument2": "--strategy",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--strategy",
            "alias": "-s",
            "help": "Updates patch version for 'ControlManifest.xml' files using specified strategy. If using gittags, set a personal access token in the following environment variable \"PacCli.PAT\"",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "None, GitTags, FileTracking, Manifest",
            "listOfDisplayValues": "None, GitTags, FileTracking, Manifest",
            "allowMultipleValues": false
          },
          {
            "name": "--patchversion",
            "alias": "-pv",
            "help": "Patch version for controls",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The value must be a positive integer."
          },
          {
            "name": "--path",
            "alias": "-p",
            "help": "Absolute/Relative path of the 'ControlManifest.xml' for updating.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--allmanifests",
            "alias": "-a",
            "help": "Updates patch version for all 'ControlManifest.xml' files",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--updatetarget",
            "alias": "-ut",
            "help": "Specify which target manifest needs to be updated.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "build, project",
            "listOfDisplayValues": "build, project",
            "allowMultipleValues": false
          },
          {
            "name": "--filename",
            "alias": "-fn",
            "help": "Tracker CSV file name to be used when using filetracking as a strategy. The default value is 'ControlsStateVersionInfo.csv'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "pipeline",
    "help": "Work with Pipelines",
    "verbs": [
      {
        "name": "list",
        "help": "List Pipelines",
        "arguments": [
          {
            "name": "--pipeline",
            "alias": "-p",
            "help": "Pipeline name or ID for which show list of details such as deployment stages",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "deploy",
        "help": "Start pipeline deployment.",
        "arguments": [
          {
            "name": "--solutionName",
            "alias": "-sn",
            "help": "Solution Name",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--stageId",
            "alias": "-sid",
            "help": "Deployment Stage ID",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Deployment Environment",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--currentVersion",
            "alias": "-cv",
            "help": "Current solution version",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--newVersion",
            "alias": "-nv",
            "help": "New solution version",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--wait",
            "alias": "-w",
            "help": "Wait until the deployment finishes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "plugin",
    "help": "Commands for working with Dataverse plug-in class library",
    "verbs": [
      {
        "name": "init",
        "help": "Initializes a directory with a new Dataverse plug-in class library.",
        "arguments": [
          {
            "name": "--signing-key-file-path",
            "alias": "-sk",
            "help": "Relative path to the Dataverse plug-in assembly originator key file for signing.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--outputDirectory",
            "alias": "-o",
            "help": "Output directory",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--author",
            "alias": "-a",
            "help": "One or more authors of the Dataverse Plug-in Package.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--skip-signing",
            "alias": "-ss",
            "help": "Skip plug-in assembly signing that gives the plug-in assembly a strong name. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "push",
        "help": "Import plug-in into Dataverse.",
        "arguments": [
          {
            "name": "--pluginId",
            "alias": "-id",
            "help": "ID of plug-in assembly or plug-in package",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--pluginFile",
            "alias": "-pf",
            "help": "File name of plug-in assembly or plug-in package",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--type",
            "alias": "-t",
            "help": "Type of item if not specified explicitly through --pluginFile. The default value is: 'Nuget'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Nuget, Assembly",
            "listOfDisplayValues": "Nuget, Assembly",
            "allowMultipleValues": false
          },
          {
            "name": "--configuration",
            "alias": "-c",
            "help": "Build configuration. The default value is: 'Debug'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "solution",
    "help": "Commands for working with Dataverse solution projects",
    "verbs": [
      {
        "name": "init",
        "help": "Initializes a directory with a new Dataverse solution project",
        "arguments": [
          {
            "name": "--publisher-name",
            "alias": "-pn",
            "help": "Name of the Dataverse solution publisher",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "Only characters within the ranges [A - Z], [a - z], [0 - 9], or _ are allowed. The first character may only be in the ranges [A - Z], [a - z], or _."
          },
          {
            "name": "--publisher-prefix",
            "alias": "-pp",
            "help": "Customization prefix value for the Dataverse solution publisher",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "minLength": 2,
            "maxLength": 8,
            "allowMultipleValues": false,
            "RegexHelp": "The prefix must be 2 to 8 characters long, can only consist of alpha-numerics, must start with a letter, and can't start with 'mscrm'."
          },
          {
            "name": "--outputDirectory",
            "alias": "-o",
            "help": "Output directory",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "add-reference",
        "help": "Adds a reference from the project in the current directory to the project at 'path'",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "The path to the referenced project",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "list",
        "help": "List all Solutions from the current Dataverse organization",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--environment-id",
            "argument2": "--environment",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "The target Environment ID or URL. The default value is the environment of your currently active Dataverse Auth Profile.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "delete",
        "help": "Delete a solution from Dataverse in the current environment.",
        "arguments": [
          {
            "name": "--solution-name",
            "alias": "-sn",
            "help": "Name of the solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "online-version",
        "help": "Sets version for solution loaded in Dataverse.",
        "arguments": [
          {
            "name": "--solution-name",
            "alias": "-sn",
            "help": "Name of the solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solution-version",
            "alias": "-sv",
            "help": "Specify the solution version number.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "version",
        "help": "Update build or revision version for the solution.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--buildversion",
            "argument2": "--revisionversion",
            "argument3": "--strategy",
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--strategy",
            "alias": "-s",
            "help": "Updates build version for 'Solution.xml' file using specified strategy. If using gittags, set personal access token in the following environment variable \"PacCli.PAT\"",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "None, GitTags, FileTracking, Solution",
            "listOfDisplayValues": "None, GitTags, FileTracking, Solution",
            "allowMultipleValues": false
          },
          {
            "name": "--patchversion",
            "alias": "-pv",
            "help": "Patch version for the solution.",
            "deprecated": "Ignored",
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--buildversion",
            "alias": "-bv",
            "help": "Build version for the solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The value must be a positive integer."
          },
          {
            "name": "--revisionversion",
            "alias": "-rv",
            "help": "Revision version for the solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The value must be a positive integer."
          },
          {
            "name": "--filename",
            "alias": "-fn",
            "help": "Tracker CSV file name to be used when using filetracking as a strategy. The default value is 'ControlsStateVersionInfo.csv'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solutionPath",
            "alias": "-sp",
            "help": "Path to Dataverse solution directory or Solution.xml file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "import",
        "help": "Import the solution into Dataverse.",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path to solution zip file. If not specified, assumes the current folder is a cdsproj project.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--activate-plugins",
            "alias": "-ap",
            "help": "Activate plug-ins and workflows on the solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--force-overwrite",
            "alias": "-f",
            "help": "Force an overwrite of unmanaged customizations",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--skip-dependency-check",
            "alias": "-s",
            "help": "Skip dependency check against dependencies flagged as product update",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--import-as-holding",
            "alias": "-h",
            "help": "Import the solution as a holding solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--publish-changes",
            "alias": "-pc",
            "help": "Publish your changes upon a successful import.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--convert-to-managed",
            "alias": "-cm",
            "help": "Convert to a managed solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Imports the solution asynchronously.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--settings-file",
            "alias": null,
            "help": "The .json file with the deployment settings for connection references and environment variables.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--skip-lower-version",
            "alias": "-slv",
            "help": "Skip solution import if same or higher version is present in current environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "export",
        "help": "Export a solution from Dataverse.",
        "arguments": [
          {
            "name": "--name",
            "alias": "-n",
            "help": "The name of the solution to be exported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path where the exported solution zip file is written.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--managed",
            "alias": "-m",
            "help": "Whether the solution should be exported as a managed solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--targetversion",
            "alias": "-v",
            "help": "The version that the exported solution will support",
            "deprecated": "Ignored",
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--include",
            "alias": "-i",
            "help": "Which settings should be included in the solution being exported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "autonumbering, calendar, customization, emailtracking, externalapplications, general, isvconfig, marketing, outlooksynchronization, relationshiproles, sales",
            "listOfDisplayValues": "autonumbering, calendar, customization, emailtracking, externalapplications, general, isvconfig, marketing, outlooksynchronization, relationshiproles, sales",
            "allowMultipleValues": true
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Exports the solution asynchronously.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--overwrite",
            "alias": "-ow",
            "help": "The exported solution file can overwrite the solution zip file on the local file system.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "clone",
        "help": "Create a solution project based on an existing solution in your organization.",
        "arguments": [
          {
            "name": "--name",
            "alias": "-n",
            "help": "The name of the solution to be exported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--targetversion",
            "alias": "-v",
            "help": "The version that the exported solution will support",
            "deprecated": "Ignored",
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--include",
            "alias": "-i",
            "help": "Which settings should be included in the solution being exported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "autonumbering, calendar, customization, emailtracking, externalapplications, general, isvconfig, marketing, outlooksynchronization, relationshiproles, sales",
            "listOfDisplayValues": "autonumbering, calendar, customization, emailtracking, externalapplications, general, isvconfig, marketing, outlooksynchronization, relationshiproles, sales",
            "allowMultipleValues": true
          },
          {
            "name": "--outputDirectory",
            "alias": "-o",
            "help": "Output directory",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Exports the solution asynchronously.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--processCanvasApps",
            "alias": "-pca",
            "help": "(Preview) Pack/unpack any Canvas apps (.msapp) while processing the solution. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--packagetype",
            "alias": "-p",
            "help": "Specifies the extraction type for the solution. Can be: 'Unmanaged', 'Managed' or 'Both'. The default value is: 'Both'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--localize",
            "alias": "-loc",
            "help": "Extract or merge all string resources into .resx files.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "publish",
        "help": "Publishes all customizations",
        "arguments": [
          {
            "name": "--async",
            "alias": "-a",
            "help": "Publishes all customizations asynchronously",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "upgrade",
        "help": "Option to stage the Dataverse solution for upgrade",
        "arguments": [
          {
            "name": "--solution-name",
            "alias": "-sn",
            "help": "Name of the solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Upgrades solution asynchronously",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "add-license",
        "help": "Add license and plan info to the solution.",
        "arguments": [
          {
            "name": "--planDefinitionFile",
            "alias": "-pd",
            "help": "License plan definition file in CSV format; expected columns: Service ID, Display name, More info URL.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--planMappingFile",
            "alias": "-pm",
            "help": "License plan mapping file in CSV format; expected columns: Service ID, Component name",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "check",
        "help": "Upload a Dataverse solution project to run against the Power Apps Checker service.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--path",
            "argument2": "--solutionUrl",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--geo",
            "argument2": "--customEndpoint",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path where one or more solution files to be checked exist. The path can contain glob/wildcard characters.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solutionUrl",
            "alias": "-u",
            "help": "SAS Uri pointing to solution.zip to be analyzed",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": true,
            "allowMultipleValues": false
          },
          {
            "name": "--outputDirectory",
            "alias": "-o",
            "help": "Output directory",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--geo",
            "alias": "-g",
            "help": "Which geographical instance of the Power Apps Checker service to use.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "PreviewUnitedStates, UnitedStates, Europe, Asia, Australia, Japan, India, Canada, SouthAmerica, UnitedKingdom, France, SouthAfrica, Germany, UnitedArabEmirates, Switzerland, Norway, Singapore, Korea, USGovernment, USGovernmentL4, USGovernmentL5DoD, China",
            "listOfDisplayValues": "PreviewUnitedStates, UnitedStates, Europe, Asia, Australia, Japan, India, Canada, SouthAmerica, UnitedKingdom, France, SouthAfrica, Germany, UnitedArabEmirates, Switzerland, Norway, Singapore, Korea, USGovernment, USGovernmentL4, USGovernmentL5DoD, China",
            "allowMultipleValues": false
          },
          {
            "name": "--customEndpoint",
            "alias": "-ce",
            "help": "Specify a custom URL as the Power Apps Checker endpoint.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": true,
            "allowMultipleValues": false
          },
          {
            "name": "--ruleLevelOverride",
            "alias": "-rl",
            "help": "Path to a file containing a JSON array rules and levels to override. Accepted values for OverrideLevel are: Critical, High, Medium, Low, Informational. Example: [{\"Id\":\"meta-remove-dup-reg\",\"OverrideLevel\":\"Medium\"},{\"Id\":\"il-avoid-specialized-update-ops\",\"OverrideLevel\":\"Medium\"}]",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--ruleSet",
            "alias": "-rs",
            "help": "Select a rule set that is executed as part of this build. Values: A valid Guid, \"AppSource Certification\", \"Solution Checker\" (default).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--excludedFiles",
            "alias": "-ef",
            "help": "Exclude Files from the Analysis. Pass as comma-separated values",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--saveResults",
            "alias": "-sav",
            "help": "Uses current environment to store solution analysis results that can be seen in Solution Health Hub App. By default, this argument is set to false.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "create-settings",
        "help": "Create a settings file from solution zip or solution folder.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--solution-zip",
            "argument2": "--solution-folder",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--solution-zip",
            "alias": "-z",
            "help": "Path to solution zip file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solution-folder",
            "alias": "-f",
            "help": "Path to the local, unpacked solution folder: either the root of the 'Other/Solution.xml' file or a folder with a .cdsproj file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--settings-file",
            "alias": "-s",
            "help": "The .json file with the deployment settings for connection references and environment variables.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "pack",
        "help": "Package solution components on local filesystem into solution.zip (SolutionPackager).",
        "arguments": [
          {
            "name": "--zipfile",
            "alias": "-z",
            "help": "The full path to the solution ZIP file",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--folder",
            "alias": "-f",
            "help": "The path to the root folder on the local filesystem. When unpacking or extracting, this is written to. When packing this is read from.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--packagetype",
            "alias": "-p",
            "help": "When unpacking or extracting, use to specify dual Managed and Unmanaged operation. When packing, use to specify Managed or Unmanaged from a previous unpack 'Both'. Can be: 'Unmanaged', 'Managed' or 'Both'. The default value is 'Unmanaged'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--log",
            "alias": "-l",
            "help": "The path to the log file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--errorlevel",
            "alias": "-e",
            "help": "Minimum logging level for log output [Verbose|Info|Warning|Error|Off]. The default value is 'Info'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--singleComponent",
            "alias": "-sc",
            "help": "Only perform action on a single component type [WebResource|Plugin|Workflow|None]. The default value is 'None'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--allowDelete",
            "alias": "-ad",
            "help": "Dictates if delete operations may occur. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--allowWrite",
            "alias": "-aw",
            "help": "Dictates if write operations may occur. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--clobber",
            "alias": "-c",
            "help": "Enables that files marked read-only can be deleted or overwritten. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--map",
            "alias": "-m",
            "help": "The full path to a mapping xml file from which to read component folders to pack.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--sourceLoc",
            "alias": "-src",
            "help": "Generates a template resource file. Valid only on extract. Possible values are 'auto', or language code of the language you wish to export. You can use Language Code Identifier (LCID), or International Organization for Standardization (ISO) language code formats. When present, this extracts the string resources from the given locale as a neutral .resx. If 'auto' or just the long or short form of the switch is specified, the base locale for the solution is used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--localize",
            "alias": "-loc",
            "help": "Extract or merge all string resources into .resx files.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--useLcid",
            "alias": "-lcid",
            "help": "Use Language Code Identifier (LCID) values (1033) rather than International Organization for Standardization (ISO) codes (en-US) for language files.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--useUnmanagedFileForMissingManaged",
            "alias": "-same",
            "help": "Use the same XML source file when packaging for Managed and only Unmanaged XML file is found; applies to AppModuleSiteMap, AppModuleMap, FormXml files.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--disablePluginRemap",
            "alias": "-dpm",
            "help": "Disabled plug-in fully qualified type name remapping. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--processCanvasApps",
            "alias": "-pca",
            "help": "(Preview) Pack/unpack any Canvas apps (.msapp) while processing the solution. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "unpack",
        "help": "Extract solution components from solution.zip onto local filesystem (SolutionPackager).",
        "arguments": [
          {
            "name": "--zipfile",
            "alias": "-z",
            "help": "The full path to the solution ZIP file",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--folder",
            "alias": "-f",
            "help": "The path to the root folder on the local filesystem. When unpacking or extracting, this is written to. When packing this is read from.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--packagetype",
            "alias": "-p",
            "help": "When unpacking or extracting, use to specify dual Managed and Unmanaged operation. When packing, use to specify Managed or Unmanaged from a previous unpack 'Both'. Can be: 'Unmanaged', 'Managed' or 'Both'. The default value is 'Unmanaged'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--log",
            "alias": "-l",
            "help": "The path to the log file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--errorlevel",
            "alias": "-e",
            "help": "Minimum logging level for log output [Verbose|Info|Warning|Error|Off]. The default value is 'Info'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--singleComponent",
            "alias": "-sc",
            "help": "Only perform action on a single component type [WebResource|Plugin|Workflow|None]. The default value is 'None'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--allowDelete",
            "alias": "-ad",
            "help": "Dictates if delete operations may occur. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--allowWrite",
            "alias": "-aw",
            "help": "Dictates if write operations may occur. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--clobber",
            "alias": "-c",
            "help": "Enables that files marked read-only can be deleted or overwritten. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--map",
            "alias": "-m",
            "help": "The full path to a mapping xml file from which to read component folders to pack.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--sourceLoc",
            "alias": "-src",
            "help": "Generates a template resource file. Valid only on extract. Possible values are 'auto', or language code of the language you wish to export. You can use Language Code Identifier (LCID), or International Organization for Standardization (ISO) language code formats. When present, this extracts the string resources from the given locale as a neutral .resx. If 'auto' or just the long or short form of the switch is specified, the base locale for the solution is used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--localize",
            "alias": "-loc",
            "help": "Extract or merge all string resources into .resx files.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--useLcid",
            "alias": "-lcid",
            "help": "Use Language Code Identifier (LCID) values (1033) rather than International Organization for Standardization (ISO) codes (en-US) for language files.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--useUnmanagedFileForMissingManaged",
            "alias": "-same",
            "help": "Use the same XML source file when packaging for Managed and only Unmanaged XML file is found; applies to AppModuleSiteMap, AppModuleMap, FormXml files.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--disablePluginRemap",
            "alias": "-dpm",
            "help": "Disabled plug-in fully qualified type name remapping. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--processCanvasApps",
            "alias": "-pca",
            "help": "(Preview) Pack/unpack any Canvas apps (.msapp) while processing the solution. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "add-solution-component",
        "help": "Add one or more solution components to the target unmanaged solution in Dataverse.",
        "arguments": [
          {
            "name": "--solutionUniqueName",
            "alias": "-sn",
            "help": "Name of the solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--component",
            "alias": "-c",
            "help": "The schema name or ID of the component to add to the target solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--componentType",
            "alias": "-ct",
            "help": "The value that represents the solution component that you're adding.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--AddRequiredComponents",
            "alias": "-arc",
            "help": "Indicates whether other solution components required by the solution component that you're adding should also be added to the unmanaged solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Environment URL or ID of the target environment.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "sync",
        "help": "Sync the current Dataverse solution project to the current state of the solution in your organization.",
        "arguments": [
          {
            "name": "--solution-folder",
            "alias": "-f",
            "help": "Path to the local, unpacked solution folder: either the root of the 'Other/Solution.xml' file or a folder with a .cdsproj file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--include",
            "alias": "-i",
            "help": "Which settings should be included in the solution being exported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "autonumbering, calendar, customization, emailtracking, externalapplications, general, isvconfig, marketing, outlooksynchronization, relationshiproles, sales",
            "listOfDisplayValues": "autonumbering, calendar, customization, emailtracking, externalapplications, general, isvconfig, marketing, outlooksynchronization, relationshiproles, sales",
            "allowMultipleValues": true
          },
          {
            "name": "--async",
            "alias": "-a",
            "help": "Exports the solution asynchronously.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-async-wait-time",
            "alias": "-wt",
            "help": "Max asynchronous wait time in minutes. The default value is 60 minutes.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--processCanvasApps",
            "alias": "-pca",
            "help": "(Preview) Pack/unpack any Canvas apps (.msapp) while processing the solution. The default value is 'false'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--packagetype",
            "alias": "-p",
            "help": "When unpacking or extracting, use to specify dual Managed and Unmanaged operation. When packing, use to specify Managed or Unmanaged from a previous unpack 'Both'. Can be: 'Unmanaged', 'Managed' or 'Both'. The default value is: 'Both'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--localize",
            "alias": "-loc",
            "help": "Extract or merge all string resources into .resx files.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "telemetry",
    "help": "Manage telemetry settings.",
    "verbs": [
      {
        "name": "enable",
        "help": "Choose to send usage information to help Microsoft improve this product"
      },
      {
        "name": "disable",
        "help": "Choose to not send usage information to help Microsoft improve this product"
      },
      {
        "name": "status",
        "help": "Show the current status of telemetry."
      }
    ]
  },
  {
    "name": "tool",
    "help": "Power Platform tools that can be installed and launched.",
    "verbs": [
      {
        "name": "list",
        "help": "List the launchable tools and their local install state and version."
      },
      {
        "name": "admin",
        "help": "Launch Power Platform Admin Center for the current environment."
      },
      {
        "name": "maker",
        "help": "Launch Power Apps Maker Portal for the current environment."
      },
      {
        "name": "prt",
        "help": "Launch Plug-in Registration Tool (PRT).",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--update",
            "argument2": "--clear",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--update",
            "alias": "-u",
            "help": "Update tool to latest available version from nuget.org.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--clear",
            "alias": "-c",
            "help": "Clear tool from local file cache",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "cmt",
        "help": "Launch Configuration Migration Tool (CMT).",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--update",
            "argument2": "--clear",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--update",
            "alias": "-u",
            "help": "Update tool to latest available version from nuget.org.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--clear",
            "alias": "-c",
            "help": "Clear tool from local file cache",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "pd",
        "help": "Launch Package Deployer (PD).",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--update",
            "argument2": "--clear",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--update",
            "alias": "-u",
            "help": "Update tool to latest available version from nuget.org.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--clear",
            "alias": "-c",
            "help": "Clear tool from local file cache",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "virtual-agent",
    "help": "Commands for working with Power Virtual Agent bots",
    "verbs": [
      {
        "name": "list",
        "help": "List of Virtual Agents in the current or target Dataverse environment.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "The target Environment ID or URL. The default value is the environment of your currently active Dataverse Auth Profile.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "status",
        "help": "Poll the deployment status of a specified Virtual Agent in the current or target Dataverse environment.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "The target Environment ID or URL. The default value is the environment of your currently active Dataverse Auth Profile.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--bot-id",
            "alias": "-id",
            "help": "The ID of a Virtual Agent (Chatbot).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  }
]