[
  {
    "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": "--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": "list-groups",
        "help": "List environment groups from your tenant."
      },
      {
        "name": "add-group",
        "help": "Add environment to a group.",
        "arguments": [
          {
            "name": "--environment-group",
            "alias": "-eg",
            "help": "Environment group.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "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": "create",
        "help": "Creates a Dataverse instance in your tenant.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--security-group-id",
            "argument2": "--team-id",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "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": "--security-group-id",
            "alias": "-sgid",
            "help": "Microsoft Entra ID Security Group Id or Microsoft 365 Group Id (required for Teams environment).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false,
            "RegexHelp": "The Security Group 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": "--user",
            "alias": "-u",
            "help": "Object ID or user principal name (UPN) of Microsoft Entra ID user to be assigned to the environment.",
            "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": "set-backup-retention-period",
        "help": "Sets the backup retention period in days as provided. Valid values are: 7, 14, 21, 28.",
        "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.",
        "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,
            "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.",
        "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
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "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 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": "MutuallyExclusiveOrNeither",
            "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": "",
            "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": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--user",
            "alias": "-u",
            "help": "Object ID or user principal name (UPN) of Microsoft Entra ID 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": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--group",
            "alias": "-g",
            "help": "Microsoft Entra ID 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 Entra ID application and associated application user to the Dataverse environment.",
        "arguments": [
          {
            "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": "--name",
            "alias": "-n",
            "help": "Application name to create in Entra ID.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "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": "list-service-principal",
        "help": "List Microsoft Entra ID applications which have access to Dataverse.",
        "arguments": [
          {
            "name": "--filter",
            "alias": "-f",
            "help": "Application name 'starts with' filter.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max",
            "alias": "-m",
            "help": "Max number of applications to show. Default: 20",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "set-governance-config",
        "help": "Enable, disable, and edit managed environments.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "URL or ID of the environment for which managed environments need to be enabled, disabled or edited.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--protection-level",
            "alias": "-pl",
            "help": "Set protection level : 'Standard' to enable managed environments, 'Basic' to disable managed environments.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Basic, Standard",
            "listOfDisplayValues": "Basic, Standard",
            "allowMultipleValues": false
          },
          {
            "name": "--disable-group-sharing",
            "alias": "-dgs",
            "help": "Disable group sharing.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--exclude-analysis",
            "alias": "-ea",
            "help": "Exclude usage insights for the environment from the weekly digest email.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--include-insights",
            "alias": "-ii",
            "help": "Include insights in the Power Platform Admin Center homepage cards.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--limit-sharing-mode",
            "alias": "-lsm",
            "help": "Limit sharing mode.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--max-limit-user-sharing",
            "alias": "-ml",
            "help": "If group sharing is disabled, specify the number of people that makers can share canvas apps with.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solution-checker-mode",
            "alias": "-scm",
            "help": "Solution checker validation mode.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "none, warn, block",
            "listOfDisplayValues": "none, warn, block",
            "allowMultipleValues": false
          },
          {
            "name": "--maker-onboarding-url",
            "alias": "-mou",
            "help": "Maker onboarding URL",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": true,
            "allowMultipleValues": false
          },
          {
            "name": "--maker-onboarding-markdown",
            "alias": "-mom",
            "help": "Maker onboarding markdown",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--suppress-validation-emails",
            "alias": "-sve",
            "help": "Suppress validation emails",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--checker-rule-overrides",
            "alias": "-cro",
            "help": "Solution checker rule overrides",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--cloud-flows-mode",
            "alias": "-cfm",
            "help": "Solution cloud flows limit sharing mode",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--cloud-flows-limit",
            "alias": "-cfl",
            "help": "Number of people that makers can share solution cloud flows with",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "list-tenant-settings",
        "help": "List tenant settings.",
        "arguments": [
          {
            "name": "--settings-file",
            "alias": "-s",
            "help": "The .json file to output tenant settings.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "update-tenant-settings",
        "help": "Update tenant settings.",
        "arguments": [
          {
            "name": "--settings-file",
            "alias": "-s",
            "help": "The .json file with tenant settings.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "application",
        "help": "Work with Microsoft Entra ID applications.",
        "verbs": [
          {
            "name": "list",
            "help": "List Microsoft Entra ID applications registered under your tenant."
          },
          {
            "name": "register",
            "help": "Register Microsoft Entra ID application with your tenant.",
            "arguments": [
              {
                "name": "--application-id",
                "alias": "-id",
                "help": "Application Id",
                "deprecated": null,
                "deprecatedArgumentReplacement": null,
                "isRequired": true,
                "isSwitch": false,
                "isUri": false,
                "allowMultipleValues": false
              }
            ]
          },
          {
            "name": "unregister",
            "help": "Unregister Microsoft Entra ID application from your tenant.",
            "arguments": [
              {
                "name": "--application-id",
                "alias": "-id",
                "help": "Application Id",
                "deprecated": null,
                "deprecatedArgumentReplacement": null,
                "isRequired": true,
                "isSwitch": false,
                "isUri": false,
                "allowMultipleValues": false
              }
            ]
          }
        ]
      },
      {
        "name": "set-runtime-state",
        "help": "Update environment administration mode.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "URL or ID of the environment for which administration mode needs to be updated.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--runtime-state",
            "alias": "-rs",
            "help": "The environment runtime state",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "AdminMode, Enabled",
            "listOfDisplayValues": "AdminMode, Enabled",
            "allowMultipleValues": false
          },
          {
            "name": "--background-operations",
            "alias": "-bo",
            "help": "The environment background operations state",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Enabled, Disabled",
            "listOfDisplayValues": "Enabled, Disabled",
            "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": "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": "MutuallyExclusiveOrNeither",
            "argument1": "--managedIdentity",
            "argument2": "--githubFederated",
            "argument3": "--azureDevOpsFederated",
            "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": "Replaced",
            "deprecatedArgumentReplacement": "--environment",
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--username",
            "alias": "-un",
            "help": "Optional: The username to authenticate with; shows Microsoft Entra ID 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 Microsoft Entra ID 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": "--githubFederated",
            "alias": "-ghf",
            "help": "(Preview) Use GitHub Federation for Service Principal Auth; requires --tenant and --applicationId arguments",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--azureDevOpsFederated",
            "alias": "-adof",
            "help": "(Preview) Use Azure DevOps Federation for Service Principal Auth; requires --tenant and --applicationId arguments",
            "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",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--index",
            "argument2": "--name",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "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 an integer with minimum value of 1."
          },
          {
            "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",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--index",
            "argument2": "--name",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "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 an integer with minimum value of 1."
          },
          {
            "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 an integer with minimum value of 1."
          },
          {
            "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 an integer with minimum value of 1."
          },
          {
            "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": "who",
        "help": "Display information about currently selected authentication profile"
      }
    ]
  },
  {
    "name": "canvas",
    "help": "Operating with Power Apps .msapp files",
    "verbs": [
      {
        "name": "download",
        "help": "Download canvas app as .msapp file",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--file-name",
            "argument2": "--extract-to-directory",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "Canvas app exact, partial name, or App ID",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--file-name",
            "alias": "-f",
            "help": "File name (usually with .msapp extension). If not provided file is saved in current directory with 'appname'.msapp",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--extract-to-directory",
            "alias": "-d",
            "help": "Directory name to extract canvas app to",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--overwrite",
            "alias": "-o",
            "help": "Allow file overwrite",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "list",
        "help": "List canvas apps",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "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": "validate",
        "help": "(Preview) Validate the .pa.yaml source for an unzipped msapp file",
        "arguments": [
          {
            "name": "--directory",
            "alias": "-d",
            "help": "Path to the extracted msapp directory containing .pa.yaml files to validate",
            "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": "Commands for working with Catalog in Power Platform",
    "verbs": [
      {
        "name": "list",
        "help": "List all published catalog items from the current Dataverse organization.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Url or ID of the environment that has catalog installed. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "Submit catalog approval request.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--package-zip",
            "argument2": "--solution-zip",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Url or ID of the environment that has catalog installed. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "Install a catalog item to the target environment.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--target-env",
            "argument2": "--target-url",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Url or ID of the environment that has catalog installed. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--target-env",
            "alias": "-te",
            "help": "Url or ID of the target environment for catalog item installation",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--target-url",
            "alias": "-tu",
            "help": "Url of the target environment for catalog item installation",
            "deprecated": "Replaced",
            "deprecatedArgumentReplacement": "--target-env",
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--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": "Get status of the catalog install/submit request.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Url or ID of the environment that has catalog installed. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "Update settings for the catalog.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Url or ID of the environment that has catalog installed. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "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": "connection",
    "help": "Commands for working with Dataverse connection.",
    "verbs": [
      {
        "name": "create",
        "help": "Create new Dataverse connection.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--tenant-id",
            "alias": "-t",
            "help": "Tenant Id",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--name",
            "alias": "-n",
            "help": "Connection name.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--application-id",
            "alias": "-a",
            "help": "Application Id",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--client-secret",
            "alias": "-cs",
            "help": "Client Secret",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "delete",
        "help": "Delete Dataverse connection.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--connection-id",
            "alias": "-id",
            "help": "Connection Id.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "list",
        "help": "List all Connections.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "update",
        "help": "Update Dataverse connection.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--tenant-id",
            "alias": "-t",
            "help": "Tenant Id",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--connection-id",
            "alias": "-id",
            "help": "Connection Id.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--application-id",
            "alias": "-a",
            "help": "Application Id",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--client-secret",
            "alias": "-cs",
            "help": "Client Secret",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "name": "connector",
    "help": "Commands for working with Power Platform Connectors",
    "verbs": [
      {
        "name": "list",
        "help": "List the Connectors registered in Dataverse.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "init",
        "help": "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": "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--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": "Download a Connector's OpenApiDefinition and API Properties file",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "update",
        "help": "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--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": "Tools and utilities for copilot management",
    "verbs": [
      {
        "name": "list",
        "help": "List of copilots in the current or target Dataverse environment.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "status",
        "help": "Poll the deployment status of a specified copilot in the current or target Dataverse environment.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--bot-id",
            "alias": "-id",
            "help": "The ID of a copilot (Chatbot).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "extract-translation",
        "help": "Extracts file containing localized content for one or more bots.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--sourcedir",
            "alias": "-src",
            "help": "Source solution directory. When specified, will ignore the connected environment when looking for bots and instead look for content in the solution folder.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--bot",
            "alias": "-id",
            "help": "The Copilot ID or schema name (unique name found in Bot Details or file name in solution explorer).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--outdir",
            "alias": null,
            "help": "The output directory to write to.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--format",
            "alias": null,
            "help": "The file format in which to write localized files, either 'resx' or 'json'. The default is 'resx'.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--all",
            "alias": "-a",
            "help": "Write localization files for all supported languages. By default, only the primary language is written.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "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": "merge-translation",
        "help": "Merge files containing localized content for one or more bots.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--sourcedir",
            "alias": "-src",
            "help": "Source solution directory. When specified, will ignore the connected environment when looking for bots and instead look for content in the solution folder.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--file",
            "alias": "-f",
            "help": "The list of files that contain translations. Glob patterns are supported.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--whatif",
            "alias": null,
            "help": "Does not execute the command, but outputs the details of what would happen.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--verbose",
            "alias": null,
            "help": "Output more diagnostic information during data import/export",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solution",
            "alias": "-s",
            "help": "Name of the solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "extract-template",
        "help": "Extracts a template file from an existing copilot in an environment.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--bot",
            "alias": "-id",
            "help": "The Copilot ID or schema name (unique name found in Bot Details or file name in solution explorer).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--templateFileName",
            "alias": null,
            "help": "Location of the yaml file to write the copilot template to.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "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": "create",
        "help": "Creates a new copilot using an existing template file as the reference.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--schemaName",
            "alias": null,
            "help": "The schema name (unique name) of the new copilot.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--templateFileName",
            "alias": null,
            "help": "Source yaml file containing the copilot template that was extracted using the extract-template command.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--displayName",
            "alias": null,
            "help": "The display name of the new copilot",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solution",
            "alias": "-s",
            "help": "Name of the solution.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "publish",
        "help": "Publish a Custom Copilot",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--bot",
            "alias": "-id",
            "help": "The Copilot ID or schema name (unique name found in Bot Details or file name in solution explorer).",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "model",
        "help": "Tools and utilities for model management",
        "verbs": [
          {
            "name": "list",
            "help": "AI Builder models in the current environment.",
            "arguments": [
              {
                "name": "--environment",
                "alias": "-env",
                "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
                "deprecated": null,
                "deprecatedArgumentReplacement": null,
                "isRequired": false,
                "isSwitch": false,
                "isUri": false,
                "allowMultipleValues": false
              }
            ]
          },
          {
            "name": "predict",
            "help": "Sends text or prompt to AI Model",
            "argumentRelations": [
              {
                "RelationType": "MutuallyExclusive",
                "argument1": "--model-id",
                "argument2": "--model-name",
                "argument3": null,
                "areSwitchArguments": false
              }
            ],
            "arguments": [
              {
                "name": "--environment",
                "alias": "-env",
                "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
                "deprecated": null,
                "deprecatedArgumentReplacement": null,
                "isRequired": false,
                "isSwitch": false,
                "isUri": false,
                "allowMultipleValues": false
              },
              {
                "name": "--model-id",
                "alias": "-id",
                "help": "AI Builder model Id",
                "deprecated": null,
                "deprecatedArgumentReplacement": null,
                "isRequired": false,
                "isSwitch": false,
                "isUri": false,
                "allowMultipleValues": false
              },
              {
                "name": "--model-name",
                "alias": "-n",
                "help": "Full or partial AI Model name",
                "deprecated": null,
                "deprecatedArgumentReplacement": null,
                "isRequired": false,
                "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": "--environment",
                "alias": "-env",
                "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
                "deprecated": null,
                "deprecatedArgumentReplacement": null,
                "isRequired": false,
                "isSwitch": false,
                "isUri": false,
                "allowMultipleValues": false
              },
              {
                "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "import",
        "help": "Import data",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--connection-count",
            "alias": "-c",
            "help": "Number of parallel connections to use during import. Default: 5",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "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": "env",
    "help": "Work with your Dataverse organization.",
    "verbs": [
      {
        "name": "who",
        "help": "Displays information about the current Dataverse organization.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "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": "Performs FetchXML query against Dataverse",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusive",
            "argument1": "--xml",
            "argument2": "--xmlFile",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": 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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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 supporting name attributes for lookups that enable filtering on the primary name attribute values of lookup attributes.",
            "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": "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "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": "--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": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--solution",
            "alias": "-sz",
            "help": "Path to the Dataverse solution file. The file must be a compressed ZIP or CAB file.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "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": "--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": "pages",
    "help": "Commands for working with Power Pages website.",
    "verbs": [
      {
        "name": "list",
        "help": "List all Power Pages websites from the current Dataverse environment.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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. When not specified, 'Standard' will be used. [Enhanced or Standard]",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "migrate-datamodel",
        "help": "Manage data model migration for your Power Pages website.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--webSiteId",
            "alias": "-id",
            "help": "Power Pages website ID to update the site.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--mode",
            "alias": "-m",
            "help": "Choose from configurationData / configurationDataRefrences / all - based on your requirement.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--siteCustomizationReportPath",
            "alias": "-p",
            "help": "Local path to store the site customization report.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--checkMigrationStatus",
            "alias": "-s",
            "help": "To check the status of the site with migration in progress.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--updateDataModelVersion",
            "alias": "-u",
            "help": "Update data model version for the site once the data is migrated successfully.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--revertToStandardDataModel",
            "alias": "-r",
            "help": "Revert site from enhanced to standard data model.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--portalId",
            "alias": "-pid",
            "help": "Portal ID for the website under migration.",
            "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "bootstrap-migrate",
        "help": "Migrates HTML code from bootstrap V3 to V5.",
        "arguments": [
          {
            "name": "--path",
            "alias": "-p",
            "help": "Path of website content.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "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",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--solution-unique-name",
            "argument2": "--interactive",
            "argument3": null,
            "areSwitchArguments": false
          },
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--solution-unique-name",
            "argument2": "--publisher-prefix",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--solution-unique-name",
            "alias": null,
            "help": "The unique name of the solution to add the component to.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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 as part of a temporary solution",
            "deprecated": "Ignored",
            "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": "--incremental",
            "alias": "-inc",
            "help": "Pushes only files which are different using entity updates.",
            "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 an integer with minimum value of 0."
          },
          {
            "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": "--environment",
            "alias": "-env",
            "help": "Deployment Environment",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--environment",
            "alias": "-env",
            "help": "Deployment Environment",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "power-fx",
    "help": "(Preview) Commands for working with Power Fx",
    "verbs": [
      {
        "name": "repl",
        "help": "(Preview) Launch interactive Power Fx Read-Eval-Print Loop",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "run",
        "help": "(Preview) Run a file of Power Fx instructions",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--file",
            "alias": "-f",
            "help": "Path of file to execute",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--echo",
            "alias": "-e",
            "help": "True if input commands should echo back to output",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "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": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--includeSystemSolutions",
            "alias": null,
            "help": "Include system solutions like those published by Microsoft",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": true,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "delete",
        "help": "Delete a solution from Dataverse in the current environment.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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 an integer with minimum value of 0."
          },
          {
            "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 an integer with minimum value of 0."
          },
          {
            "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.",
        "argumentRelations": [
          {
            "RelationType": "MutuallyExclusiveOrNeither",
            "argument1": "--import-as-holding",
            "argument2": "--stage-and-upgrade",
            "argument3": null,
            "areSwitchArguments": false
          }
        ],
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--stage-and-upgrade",
            "alias": "-up",
            "help": "Import and upgrade the 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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--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": "--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": "publish",
        "help": "Publishes all customizations",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "Apply solution upgrade",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "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, Sweden, USGovernment, USGovernmentL4, USGovernmentL5DoD, China",
            "listOfDisplayValues": "PreviewUnitedStates, UnitedStates, Europe, Asia, Australia, Japan, India, Canada, SouthAmerica, UnitedKingdom, France, SouthAfrica, Germany, UnitedArabEmirates, Switzerland, Norway, Singapore, Korea, Sweden, 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": "--clearCache",
            "alias": "-cc",
            "help": "Clears the solution checker enforcement cache, for your tenant, of all records that pertain to past results for your solutions.",
            "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": "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": "add-solution-component",
        "help": "Add one or more solution components to the target unmanaged solution in Dataverse.",
        "arguments": [
          {
            "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": "--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": "sync",
        "help": "Sync the current Dataverse solution project to the current state of the solution in your organization.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "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": "--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": "--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": "--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": "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": "test",
    "help": "(Preview) Execution of automated tests for a Power App",
    "verbs": [
      {
        "name": "run",
        "help": "(Preview) Execute tests defined in a Test Plan file",
        "arguments": [
          {
            "name": "--test-plan-file",
            "alias": "-test",
            "help": "Path to the Test Plan file",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--environment-id",
            "alias": "-env",
            "help": "Environment ID for the app to be tested.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--tenant",
            "alias": "-t",
            "help": "Tenant ID for the app being tested",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": true,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--output-directory",
            "alias": "-o",
            "help": "Path to save test output and logs",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          },
          {
            "name": "--domain",
            "alias": "-d",
            "help": "The player domain for the app being tested",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "listOfValues": "Public, Test, Preprod, Preview, UsGov, UsGovHigh, UsGovDoD, Mooncake",
            "listOfDisplayValues": "Public, Preview, UsGov, UsGovHigh, UsGovDoD, Mooncake",
            "allowMultipleValues": false
          }
        ]
      }
    ]
  },
  {
    "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.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "name": "maker",
        "help": "Launch Power Apps Maker Portal for the current environment.",
        "arguments": [
          {
            "name": "--environment",
            "alias": "-env",
            "help": "Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not specified, the active organization selected for the current auth profile will be used.",
            "deprecated": null,
            "deprecatedArgumentReplacement": null,
            "isRequired": false,
            "isSwitch": false,
            "isUri": false,
            "allowMultipleValues": false
          }
        ]
      },
      {
        "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
          }
        ]
      }
    ]
  }
]