Azure / azure-powershell

Microsoft Azure PowerShell
Other
4.22k stars 3.82k forks source link

Get-AzStorageUsage returns different properties as compared to Get-AzVmUsage #9147

Open blueelvis opened 5 years ago

blueelvis commented 5 years ago

Description

The properties contained by the Get-AzStorageUsage is different as compared to the Get-AzVmUsage & Get-AzNetworkUsage. This should be same for consistency purposes. Current issues -

  1. The properties are not same.
  2. The type of the object returned by the Get-AzStorageUsage is a PSUsage with BaseType System.Object, whereas for the other mentioned commandlets, it is Object[] with a BaseType of System.Array

Steps to reproduce

  1. Run the Get-AzVmUsage and you will notice the following properties for each element of the array -

    
    (Get-AzVmUsage -Location eastus2)[0] | Get-Member
    
    TypeName: Microsoft.Azure.Commands.Compute.Models.PSUsage

Name MemberType Definition


Equals Method bool Equals(System.Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() CurrentValue Property System.Nullable[int] CurrentValue {get;set;} Limit Property System.Nullable[long] Limit {get;set;} Name Property Microsoft.Azure.Management.Compute.Models.UsageName Name {get;set;} RequestId Property string RequestId {get;set;} StatusCode Property System.Net.HttpStatusCode StatusCode {get;set;} Unit Property string Unit {get;set;}


2. Run the `Get-AzStorageUsage` and you will notice the difference in the `Name` property -
```powershell
(Get-AzStorageUsage -Location eastus2) | Get-Member

   TypeName: Microsoft.Azure.Commands.Management.Storage.Models.PSUsage

Name          MemberType Definition
----          ---------- ----------
Equals        Method     bool Equals(System.Object obj)
GetHashCode   Method     int GetHashCode()
GetType       Method     type GetType()
ToString      Method     string ToString()
CurrentValue  Property   System.Nullable[int] CurrentValue {get;set;}
Limit         Property   System.Nullable[int] Limit {get;set;}
LocalizedName Property   string LocalizedName {get;set;}
Name          Property   string Name {get;set;}
Unit          Property   System.Nullable[Microsoft.Azure.Management.Storage.Models.UsageUnit] Unit {get;set;}

Even though the Get-AzStorageUsage has only quotas for Storage Accounts, is it possible to return an Array object with only 1 element instead of checking it manually for consistency?

Environment data

Name                           Value
----                           -----
PSVersion                      5.1.17763.134
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.134
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Module versions

Get-Module  -ListAvailable

    Directory: C:\Program Files\WindowsPowerShell\Modules

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.5.2      Az.Accounts                         {Disable-AzDataCollection, Disable-AzContextAutosave, Enable-AzDataCollection, Enable-AzContextAutosave...}
Script     1.0.1      Az.Aks                              {Get-AzAks, New-AzAks, Remove-AzAks, Import-AzAksCredential...}
Script     1.1.0      Az.AnalysisServices                 {Resume-AzAnalysisServicesServer, Suspend-AzAnalysisServicesServer, Get-AzAnalysisServicesServer, Remove-AzAnalysisServicesServer...}
Script     1.0.0      Az.ApiManagement                    {Add-AzApiManagementRegion, Get-AzApiManagementSsoToken, New-AzApiManagementCustomHostnameConfiguration, New-AzApiManagementSystemCertificate...}
Script     1.0.0      Az.ApplicationInsights              {Get-AzApplicationInsights, New-AzApplicationInsights, Remove-AzApplicationInsights, Set-AzApplicationInsightsPricingPlan...}
Script     1.2.1      Az.Automation                       {Get-AzAutomationHybridWorkerGroup, Remove-AzAutomationHybridWorkerGroup, Get-AzAutomationJobOutputRecord, Import-AzAutomationDscNodeConfiguration...}
Script     1.1.0      Az.Batch                            {Remove-AzBatchAccount, Get-AzBatchAccount, Get-AzBatchAccountKey, New-AzBatchAccount...}
Script     1.0.0      Az.Billing                          {Get-AzBillingInvoice, Get-AzBillingPeriod, Get-AzEnrollmentAccount, Get-AzConsumptionBudget...}
Script     1.2.0      Az.Cdn                              {Get-AzCdnProfile, Get-AzCdnProfileSsoUrl, New-AzCdnProfile, Remove-AzCdnProfile...}
Script     1.1.1      Az.CognitiveServices                {Get-AzCognitiveServicesAccount, Get-AzCognitiveServicesAccountKey, Get-AzCognitiveServicesAccountSku, Get-AzCognitiveServicesAccountType...}
Script     2.0.0      Az.Compute                          {Remove-AzAvailabilitySet, Get-AzAvailabilitySet, New-AzAvailabilitySet, Update-AzAvailabilitySet...}
Script     1.0.1      Az.ContainerInstance                {New-AzContainerGroup, Get-AzContainerGroup, Remove-AzContainerGroup, Get-AzContainerInstanceLog}
Script     1.0.1      Az.ContainerRegistry                {New-AzContainerRegistry, Get-AzContainerRegistry, Update-AzContainerRegistry, Remove-AzContainerRegistry...}
Script     1.1.1      Az.DataFactory                      {Set-AzDataFactoryV2, Update-AzDataFactoryV2, Get-AzDataFactoryV2, Remove-AzDataFactoryV2...}
Script     1.0.0      Az.DataLakeAnalytics                {Get-AzDataLakeAnalyticsDataSource, New-AzDataLakeAnalyticsCatalogCredential, Remove-AzDataLakeAnalyticsCatalogCredential, Set-AzDataLakeAnalyticsCatalogCredential...}
Script     1.2.0      Az.DataLakeStore                    {Get-AzDataLakeStoreTrustedIdProvider, Remove-AzDataLakeStoreTrustedIdProvider, Remove-AzDataLakeStoreFirewallRule, Set-AzDataLakeStoreTrustedIdProvider...}
Script     1.0.0      Az.DeploymentManager                {Get-AzDeploymentManagerArtifactSource, New-AzDeploymentManagerArtifactSource, Set-AzDeploymentManagerArtifactSource, Remove-AzDeploymentManagerArtifactSource...}
Script     1.0.0      Az.DevTestLabs                      {Get-AzDtlAllowedVMSizesPolicy, Get-AzDtlAutoShutdownPolicy, Get-AzDtlAutoStartPolicy, Get-AzDtlVMsPerLabPolicy...}
Script     1.1.0      Az.Dns                              {Get-AzDnsRecordSet, New-AzDnsRecordConfig, Remove-AzDnsRecordSet, Set-AzDnsRecordSet...}
Script     1.1.1      Az.EventGrid                        {New-AzEventGridTopic, Get-AzEventGridTopic, Set-AzEventGridTopic, New-AzEventGridTopicKey...}
Script     1.1.0      Az.EventHub                         {New-AzEventHubNamespace, Get-AzEventHubNamespace, Set-AzEventHubNamespace, Remove-AzEventHubNamespace...}
Script     1.0.0      Az.FrontDoor                        {New-AzFrontDoor, Get-AzFrontDoor, Set-AzFrontDoor, Remove-AzFrontDoor...}
Script     2.0.0      Az.HDInsight                        {Get-AzHDInsightJob, New-AzHDInsightSqoopJobDefinition, Wait-AzHDInsightJob, New-AzHDInsightStreamingMapReduceJobDefinition...}
Script     1.1.0      Az.IotHub                           {Add-AzIotHubKey, Get-AzIotHubEventHubConsumerGroup, Get-AzIotHubConnectionString, Get-AzIotHubJob...}
Script     1.2.0      Az.KeyVault                         {Add-AzKeyVaultCertificate, Update-AzKeyVaultCertificate, Stop-AzKeyVaultCertificateOperation, Get-AzKeyVaultCertificateOperation...}
Script     1.2.1      Az.LogicApp                         {Get-AzIntegrationAccountAgreement, Get-AzIntegrationAccountAssembly, Get-AzIntegrationAccountBatchConfiguration, Get-AzIntegrationAccountCallbackUrl...}
Script     1.1.0      Az.MachineLearning                  {Move-AzMlCommitmentAssociation, Get-AzMlCommitmentAssociation, Get-AzMlCommitmentPlanUsageHistory, Remove-AzMlCommitmentPlan...}
Script     1.0.0      Az.MarketplaceOrdering              {Get-AzMarketplaceTerms, Set-AzMarketplaceTerms}
Script     1.1.0      Az.Media                            {Sync-AzMediaServiceStorageKey, Set-AzMediaServiceKey, Get-AzMediaServiceKey, Get-AzMediaServiceNameAvailability...}
Script     1.2.0      Az.Monitor                          {Get-AzMetricDefinition, Get-AzMetric, Remove-AzLogProfile, Get-AzLogProfile...}
Script     1.8.0      Az.Network                          {Add-AzApplicationGatewayAuthenticationCertificate, Get-AzApplicationGatewayAuthenticationCertificate, New-AzApplicationGatewayAuthenticationCertificate, Remove-AzApplicationGatewayAuthenticationCert...
Script     1.1.0      Az.NotificationHubs                 {Get-AzNotificationHub, Get-AzNotificationHubAuthorizationRule, Get-AzNotificationHubListKey, Get-AzNotificationHubPNSCredential...}
Script     1.2.0      Az.OperationalInsights              {New-AzOperationalInsightsAzureActivityLogDataSource, New-AzOperationalInsightsCustomLogDataSource, Disable-AzOperationalInsightsLinuxCustomLogCollection, Disable-AzOperationalInsightsIISLogCollectio...
Script     1.1.0      Az.PolicyInsights                   {Get-AzPolicyEvent, Get-AzPolicyState, Get-AzPolicyStateSummary, Get-AzPolicyRemediation...}
Script     1.1.0      Az.PowerBIEmbedded                  {Remove-AzPowerBIWorkspaceCollection, Get-AzPowerBIWorkspaceCollection, Get-AzPowerBIWorkspaceCollectionAccessKey, Get-AzPowerBIWorkspace...}
Script     1.4.0      Az.RecoveryServices                 {Get-AzRecoveryServicesBackupProperty, Get-AzRecoveryServicesVault, Get-AzRecoveryServicesVaultSettingsFile, New-AzRecoveryServicesVault...}
Script     1.1.0      Az.RedisCache                       {Remove-AzRedisCachePatchSchedule, New-AzRedisCacheScheduleEntry, Get-AzRedisCachePatchSchedule, New-AzRedisCachePatchSchedule...}
Script     1.0.1      Az.Relay                            {New-AzRelayNamespace, Get-AzRelayNamespace, Set-AzRelayNamespace, Remove-AzRelayNamespace...}
Script     1.3.1      Az.Resources                        {Get-AzProviderOperation, Remove-AzRoleAssignment, Get-AzRoleAssignment, New-AzRoleAssignment...}
Script     1.1.0      Az.ServiceBus                       {New-AzServiceBusNamespace, Get-AzServiceBusNamespace, Set-AzServiceBusNamespace, Remove-AzServiceBusNamespace...}
Script     1.0.1      Az.ServiceFabric                    {Add-AzServiceFabricApplicationCertificate, Add-AzServiceFabricClientCertificate, Add-AzServiceFabricClusterCertificate, Add-AzServiceFabricNode...}
Script     1.0.2      Az.SignalR                          {New-AzSignalR, Get-AzSignalR, Get-AzSignalRKey, New-AzSignalRKey...}
Script     1.9.0      Az.Sql                              {Get-AzSqlDatabaseTransparentDataEncryption, Get-AzSqlDatabaseTransparentDataEncryptionActivity, Set-AzSqlDatabaseTransparentDataEncryption, Get-AzSqlDatabaseUpgradeHint...}
Script     1.3.0      Az.Storage                          {Get-AzStorageAccount, Get-AzStorageAccountKey, New-AzStorageAccount, New-AzStorageAccountKey...}
Script     1.0.0      Az.StreamAnalytics                  {Get-AzStreamAnalyticsFunction, Get-AzStreamAnalyticsDefaultFunctionDefinition, New-AzStreamAnalyticsFunction, Remove-AzStreamAnalyticsFunction...}
Script     1.0.1      Az.TrafficManager                   {Add-AzTrafficManagerCustomHeaderToEndpoint, Remove-AzTrafficManagerCustomHeaderFromEndpoint, Add-AzTrafficManagerCustomHeaderToProfile, Remove-AzTrafficManagerCustomHeaderFromProfile...}
Script     1.2.1      Az.Websites                         {Get-AzAppServicePlan, Set-AzAppServicePlan, New-AzAppServicePlan, Remove-AzAppServicePlan...}
Binary     2.0.2.16   AzureAD                             {Add-AzureADApplicationOwner, Get-AzureADApplication, Get-AzureADApplicationExtensionProperty, Get-AzureADApplicationOwner...}
Script     1.0.1      Microsoft.PowerShell.Operation.V... {Get-OperationValidation, Invoke-OperationValidation}
Manifest   1.1.183.17 MSOnline                            {Get-MsolDevice, Remove-MsolDevice, Enable-MsolDevice, Disable-MsolDevice...}
Binary     1.0.0.1    PackageManagement                   {Find-Package, Get-Package, Get-PackageProvider, Get-PackageSource...}
Script     3.4.0      Pester                              {Describe, Context, It, Should...}
Script     1.0.0.1    PowerShellGet                       {Install-Module, Find-Module, Save-Module, Update-Module...}
Script     2.0.0      PSReadline                          {Get-PSReadLineKeyHandler, Set-PSReadLineKeyHandler, Remove-PSReadLineKeyHandler, Get-PSReadLineOption...}

    Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Manifest   1.0.0.0    AppBackgroundTask                   {Disable-AppBackgroundTaskDiagnosticLog, Enable-AppBackgroundTaskDiagnosticLog, Set-AppBackgroundTaskResourcePolicy, Unregister-AppBackgroundTask...}
Manifest   2.0.0.0    AppLocker                           {Get-AppLockerFileInformation, Get-AppLockerPolicy, New-AppLockerPolicy, Set-AppLockerPolicy...}
Manifest   1.0.0.0    AppvClient                          {Add-AppvClientConnectionGroup, Add-AppvClientPackage, Add-AppvPublishingServer, Disable-Appv...}
Manifest   2.0.1.0    Appx                                {Add-AppxPackage, Get-AppxPackage, Get-AppxPackageManifest, Remove-AppxPackage...}
Script     1.0.0.0    AssignedAccess                      {Clear-AssignedAccess, Get-AssignedAccess, Set-AssignedAccess}
Manifest   1.0.0.0    BitLocker                           {Unlock-BitLocker, Suspend-BitLocker, Resume-BitLocker, Remove-BitLockerKeyProtector...}
Manifest   2.0.0.0    BitsTransfer                        {Add-BitsFile, Complete-BitsTransfer, Get-BitsTransfer, Remove-BitsTransfer...}
Manifest   1.0.0.0    BranchCache                         {Add-BCDataCacheExtension, Clear-BCCache, Disable-BC, Disable-BCDowngrading...}
Manifest   1.0.0.0    CimCmdlets                          {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance, Get-CimSession...}
Manifest   1.0        ConfigCI                            {Get-SystemDriver, New-CIPolicyRule, New-CIPolicy, Get-CIPolicy...}
Manifest   1.0        Defender                            {Get-MpPreference, Set-MpPreference, Add-MpPreference, Remove-MpPreference...}
Manifest   1.0.1.0    DeliveryOptimization                {Get-DeliveryOptimizationStatus, Get-DeliveryOptimizationPerfSnap, Get-DeliveryOptimizationLog, Get-DOConfig...}
Manifest   1.0.0.0    DirectAccessClientComponents        {Disable-DAManualEntryPointSelection, Enable-DAManualEntryPointSelection, Get-DAClientExperienceConfiguration, Get-DAEntryPointTableItem...}
Script     3.0        Dism                                {Add-AppxProvisionedPackage, Add-WindowsDriver, Add-WindowsCapability, Add-WindowsImage...}
Manifest   1.0.0.0    DnsClient                           {Resolve-DnsName, Clear-DnsClientCache, Get-DnsClient, Get-DnsClientCache...}
Manifest   1.0.0.0    EventTracingManagement              {Start-EtwTraceSession, New-EtwTraceSession, Get-EtwTraceSession, Update-EtwTraceSession...}
Manifest   1.0.0.0    HgsClient                           {Get-HgsAttestationBaselinePolicy, Get-HgsClientConfiguration, Test-HgsClientConfiguration, Set-HgsClientConfiguration...}
Manifest   1.0.0.0    HgsDiagnostics                      {New-HgsTraceTarget, Get-HgsTrace, Get-HgsTraceFileData, Test-HgsTraceTarget}
Binary     1.0.0.0    HostComputeService                  {Get-ComputeProcess, Stop-ComputeProcess}
Manifest   1.0.0.1    HostNetworkingService               {Remove-HnsNamespace, Remove-HnsEndpoint, Get-HnsEndpoint, Remove-HnsPolicyList...}
Binary     2.0.0.0    Hyper-V                             {Add-VMAssignableDevice, Add-VMDvdDrive, Add-VMFibreChannelHba, Add-VMGpuPartitionAdapter...}
Binary     1.1        Hyper-V                             {Add-VMDvdDrive, Add-VMFibreChannelHba, Add-VMHardDiskDrive, Add-VMMigrationNetwork...}
Script     1.1.0.0    IISAdministration                   {Get-IISAppPool, Start-IISCommitDelay, Stop-IISCommitDelay, Get-IISSite...}
Manifest   2.0.0.0    International                       {Get-WinDefaultInputMethodOverride, Set-WinDefaultInputMethodOverride, Get-WinHomeLocation, Set-WinHomeLocation...}
Manifest   1.0.0.0    iSCSI                               {Get-IscsiTargetPortal, New-IscsiTargetPortal, Remove-IscsiTargetPortal, Update-IscsiTargetPortal...}
Script     1.0.0.0    ISE                                 {New-IseSnippet, Import-IseSnippet, Get-IseSnippet}
Manifest   1.0.0.0    Kds                                 {Add-KdsRootKey, Get-KdsRootKey, Test-KdsRootKey, Set-KdsConfiguration...}
Manifest   1.0.1.0    Microsoft.PowerShell.Archive        {Compress-Archive, Expand-Archive}
Manifest   3.0.0.0    Microsoft.PowerShell.Diagnostics    {Get-WinEvent, Get-Counter, Import-Counter, Export-Counter...}
Manifest   3.0.0.0    Microsoft.PowerShell.Host           {Start-Transcript, Stop-Transcript}
Manifest   1.0.0.0    Microsoft.PowerShell.LocalAccounts  {Add-LocalGroupMember, Disable-LocalUser, Enable-LocalUser, Get-LocalGroup...}
Manifest   3.1.0.0    Microsoft.PowerShell.Management     {Add-Content, Clear-Content, Clear-ItemProperty, Join-Path...}
Script     1.0        Microsoft.PowerShell.ODataUtils     Export-ODataEndpointProxy
Manifest   3.0.0.0    Microsoft.PowerShell.Security       {Get-Acl, Set-Acl, Get-PfxCertificate, Get-Credential...}
Manifest   3.1.0.0    Microsoft.PowerShell.Utility        {Format-List, Format-Custom, Format-Table, Format-Wide...}
Manifest   3.0.0.0    Microsoft.WSMan.Management          {Disable-WSManCredSSP, Enable-WSManCredSSP, Get-WSManCredSSP, Set-WSManQuickConfig...}
Manifest   1.0        MMAgent                             {Disable-MMAgent, Enable-MMAgent, Set-MMAgent, Get-MMAgent...}
Manifest   1.0.0.0    MsDtc                               {New-DtcDiagnosticTransaction, Complete-DtcDiagnosticTransaction, Join-DtcDiagnosticResourceManager, Receive-DtcDiagnosticTransaction...}
Manifest   2.0.0.0    NetAdapter                          {Disable-NetAdapter, Disable-NetAdapterBinding, Disable-NetAdapterChecksumOffload, Disable-NetAdapterEncapsulatedPacketTaskOffload...}
Manifest   1.0.0.0    NetConnection                       {Get-NetConnectionProfile, Set-NetConnectionProfile}
Manifest   1.0.0.0    NetDiagnostics                      Get-NetView
Manifest   1.0.0.0    NetEventPacketCapture               {New-NetEventSession, Remove-NetEventSession, Get-NetEventSession, Set-NetEventSession...}
Manifest   2.0.0.0    NetLbfo                             {Add-NetLbfoTeamMember, Add-NetLbfoTeamNic, Get-NetLbfoTeam, Get-NetLbfoTeamMember...}
Manifest   1.0.0.0    NetNat                              {Get-NetNat, Get-NetNatExternalAddress, Get-NetNatStaticMapping, Get-NetNatSession...}
Manifest   2.0.0.0    NetQos                              {Get-NetQosPolicy, Set-NetQosPolicy, Remove-NetQosPolicy, New-NetQosPolicy}
Manifest   2.0.0.0    NetSecurity                         {Get-DAPolicyChange, New-NetIPsecAuthProposal, New-NetIPsecMainModeCryptoProposal, New-NetIPsecQuickModeCryptoProposal...}
Manifest   1.0.0.0    NetSwitchTeam                       {New-NetSwitchTeam, Remove-NetSwitchTeam, Get-NetSwitchTeam, Rename-NetSwitchTeam...}
Manifest   1.0.0.0    NetTCPIP                            {Get-NetIPAddress, Get-NetIPInterface, Get-NetIPv4Protocol, Get-NetIPv6Protocol...}
Manifest   1.0.0.0    NetWNV                              {Get-NetVirtualizationProviderAddress, Get-NetVirtualizationGlobal, Get-NetVirtualizationLookupRecord, Get-NetVirtualizationCustomerRoute...}
Manifest   1.0.0.0    NetworkConnectivityStatus           {Get-DAConnectionStatus, Get-NCSIPolicyConfiguration, Reset-NCSIPolicyConfiguration, Set-NCSIPolicyConfiguration}
Manifest   1.0.0.0    NetworkSwitchManager                {Disable-NetworkSwitchEthernetPort, Enable-NetworkSwitchEthernetPort, Get-NetworkSwitchEthernetPort, Remove-NetworkSwitchEthernetPortIPAddress...}
Manifest   1.0.0.0    NetworkTransition                   {Add-NetIPHttpsCertBinding, Disable-NetDnsTransitionConfiguration, Disable-NetIPHttpsProfile, Disable-NetNatTransitionConfiguration...}
Manifest   1.0.0.0    PcsvDevice                          {Get-PcsvDevice, Start-PcsvDevice, Stop-PcsvDevice, Restart-PcsvDevice...}
Binary     1.0.0.0    PersistentMemory                    {Get-PmemDisk, Get-PmemPhysicalDevice, Get-PmemUnusedRegion, New-PmemDisk...}
Manifest   1.0.0.0    PKI                                 {Add-CertificateEnrollmentPolicyServer, Export-Certificate, Export-PfxCertificate, Get-CertificateAutoEnrollmentPolicy...}
Manifest   1.0.0.0    PnpDevice                           {Get-PnpDevice, Get-PnpDeviceProperty, Enable-PnpDevice, Disable-PnpDevice}
Manifest   1.1        PrintManagement                     {Add-Printer, Add-PrinterDriver, Add-PrinterPort, Get-PrintConfiguration...}
Binary     1.0.11     ProcessMitigations                  {Get-ProcessMitigation, Set-ProcessMitigation, ConvertTo-ProcessMitigationPolicy}
Script     3.0        Provisioning                        {Install-ProvisioningPackage, Export-ProvisioningPackage, Install-TrustedProvisioningCertificate, Export-Trace...}
Manifest   1.1        PSDesiredStateConfiguration         {Set-DscLocalConfigurationManager, Start-DscConfiguration, Test-DscConfiguration, Publish-DscConfiguration...}
Script     1.0.0.0    PSDiagnostics                       {Disable-PSTrace, Disable-PSWSManCombinedTrace, Disable-WSManTrace, Enable-PSTrace...}
Binary     1.1.0.0    PSScheduledJob                      {New-JobTrigger, Add-JobTrigger, Remove-JobTrigger, Get-JobTrigger...}
Manifest   2.0.0.0    PSWorkflow                          {New-PSWorkflowExecutionOption, New-PSWorkflowSession, nwsn}
Manifest   1.0.0.0    PSWorkflowUtility                   Invoke-AsWorkflow
Manifest   1.0.0.0    ScheduledTasks                      {Get-ScheduledTask, Set-ScheduledTask, Register-ScheduledTask, Unregister-ScheduledTask...}
Manifest   2.0.0.0    SecureBoot                          {Confirm-SecureBootUEFI, Set-SecureBootUEFI, Get-SecureBootUEFI, Format-SecureBootUEFI...}
Manifest   2.0.0.0    SmbShare                            {Get-SmbShare, Remove-SmbShare, Set-SmbShare, Block-SmbShareAccess...}
Manifest   2.0.0.0    SmbWitness                          {Get-SmbWitnessClient, Move-SmbWitnessClient, gsmbw, msmbw...}
Manifest   1.0.0.0    StartLayout                         {Export-StartLayout, Import-StartLayout, Export-StartLayoutEdgeAssets, Get-StartApps}
Manifest   2.0.0.0    Storage                             {Add-InitiatorIdToMaskingSet, Add-PartitionAccessPath, Add-PhysicalDisk, Add-StorageFaultDomain...}
Manifest   1.0.0.0    StorageBusCache                     {Clear-StorageBusDisk, Disable-StorageBusCache, Disable-StorageBusDisk, Enable-StorageBusCache...}
Manifest   2.0.0.0    TLS                                 {New-TlsSessionTicketKey, Enable-TlsSessionTicketKey, Disable-TlsSessionTicketKey, Export-TlsSessionTicketKey...}
Manifest   1.0.0.0    TroubleshootingPack                 {Get-TroubleshootingPack, Invoke-TroubleshootingPack}
Manifest   2.0.0.0    TrustedPlatformModule               {Get-Tpm, Initialize-Tpm, Clear-Tpm, Unblock-Tpm...}
Binary     2.1.639.0  UEV                                 {Clear-UevConfiguration, Clear-UevAppxPackage, Restore-UevBackup, Set-UevTemplateProfile...}
Manifest   2.0.0.0    VpnClient                           {Add-VpnConnection, Set-VpnConnection, Remove-VpnConnection, Get-VpnConnection...}
Manifest   1.0.0.0    Wdac                                {Get-OdbcDriver, Set-OdbcDriver, Get-OdbcDsn, Add-OdbcDsn...}
Manifest   1.0.0.0    WebAdministration                   {Start-WebCommitDelay, Stop-WebCommitDelay, Get-WebConfigurationLock, Remove-WebConfigurationLock...}
Manifest   1.0.0.0    WindowsDeveloperLicense             {Get-WindowsDeveloperLicense, Unregister-WindowsDeveloperLicense, Show-WindowsDeveloperLicenseRegistration}
Script     1.0        WindowsErrorReporting               {Enable-WindowsErrorReporting, Disable-WindowsErrorReporting, Get-WindowsErrorReporting}
Manifest   1.0.0.0    WindowsSearch                       {Get-WindowsSearchSetting, Set-WindowsSearchSetting}
Manifest   1.0.0.0    WindowsUpdate                       Get-WindowsUpdateLog
Manifest   1.0.0.2    WindowsUpdateProvider               {Get-WUAVersion, Get-WULastInstallationDate, Get-WULastScanSuccessDate, Get-WUIsPendingReboot...}

    Directory: C:\Program Files (x86)\Microsoft SQL Server\140\Tools\PowerShell\Modules

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Manifest   14.0       SQLPS                               {Backup-SqlDatabase, Save-SqlMigrationReport, Add-SqlAvailabilityDatabase, Add-SqlAvailabilityGroupListenerStaticIp...}

    Directory: C:\Users\XYZ\.vscode\extensions\ms-vscode.powershell-1.12.1\modules

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.1.3      Plaster                             {Invoke-Plaster, New-PlasterManifest, Get-PlasterTemplate, Test-PlasterManifest}
Script     1.12.1     PowerShellEditorServices            {Start-EditorServicesHost, Get-PowerShellEditorServicesVersion, Compress-LogDir}
Script     0.2.0      PowerShellEditorServices.VSCode     {New-VSCodeHtmlContentView, Show-VSCodeHtmlContentView, Close-VSCodeHtmlContentView, Set-VSCodeHtmlContentView...}
Script     1.18.0     PSScriptAnalyzer                    {Get-ScriptAnalyzerRule, Invoke-ScriptAnalyzer, Invoke-Formatter}

Debug output

(Get-AzVmUsage -Location eastus2 -Debug)[0] | Get-Member
DEBUG: 17:47:42 - GetAzureVMUsageCommand begin processing with ParameterSet '__AllParameterSets'.
Confirm
Continue with this operation?
[Y] Yes [A] Yes to All [H] Halt Command [S] Suspend [?] Help (default is "Yes"): A
DEBUG: 17:47:46 - using account id 'aaa@aaa.com'...
DEBUG: [Common.Authentication]: Authenticating using Account: 'aaa@aaa.com', environment: 'AzureCloud', tenant: 'f32b97f0-efb8-4bc3-91ee-18a6e5f635c9'
DEBUG: [Common.Authentication]: Authenticating using configuration values: Domain: 'f32b97f0-efb8-4bc3-91ee-18a6e5f635c9', Endpoint: 'https://login.microsoftonline.com/', ClientId: '1950a258-227b-4e31-a9cf-717495945fc2', ClientRedirect: 'urn:ietf:wg:oauth:2.0:oob', ResourceClientUri: 'https://management.core.windows.net/', ValidateAuthority: 'True'
DEBUG: [Common.Authentication]: Acquiring token using context with Authority 'https://login.microsoftonline.com/f32b97f0-efb8-4bc3-91ee-18a6e5f635c9/', CorrelationId: '00000000-0000-0000-0000-000000000000', ValidateAuthority: 'True'
DEBUG: [Common.Authentication]: Acquiring token using AdalConfiguration with Domain: 'f32b97f0-efb8-4bc3-91ee-18a6e5f635c9', AdEndpoint: 'https://login.microsoftonline.com/', ClientId: '1950a258-227b-4e31-a9cf-717495945fc2', ClientRedirectUri: urn:ietf:wg:oauth:2.0:oob
DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: ADAL PCL.Desktop with assembly version '3.19.2.6005', file version '3.19.50302.0130' and informational version '2a8bec6c4c76d0c1ef819b55bdc3cda2d2605056' is running...

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: ADAL PCL.Desktop with assembly version '3.19.2.6005', file version '3.19.50302.0130' and informational version '2a8bec6c4c76d0c1ef819b55bdc3cda2d2605056' is running...

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: === Token Acquisition started: 
        CacheType: null
        Authentication Target: User
        , Authority Host: login.microsoftonline.com

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: === Token Acquisition started:
        Authority: https://login.microsoftonline.com/f32b97f0-efb8-4bc3-91ee-18a6e5f635c9/
        Resource: https://management.core.windows.net/
        ClientId: 1950a258-227b-4e31-a9cf-717495945fc2
        CacheType: null
        Authentication Target: User

DEBUG: [ADAL]: Verbose: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: Loading from cache.

DEBUG: [ADAL]: Verbose: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: Loading from cache.

DEBUG: [ADAL]: Verbose: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: Looking up cache for a token...

DEBUG: [ADAL]: Verbose: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: Looking up cache for a token...

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: An item matching the requested resource was found in the cache

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: An item matching the requested resource was found in the cache

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: 28.234656775 minutes left until token in cache expires

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: 28.234656775 minutes left until token in cache expires

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: A matching item (access token or refresh token or both) was found in the cache

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7927892Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: A matching item (access token or refresh token or both) was found in the cache

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7937924Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: === Token Acquisition finished successfully. An access token was returned: Expiration Time: 07-05-2019 12:46:00 +00:00

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7937924Z: 39465c1e-2f46-4f70-bf13-2f7e1772a383 - LoggerBase.cs: === Token Acquisition finished successfully. An access token was returned: Expiration Time: 07-05-2019 12:46:00 +00:00Access Token Hash: u/YXZDj0kYJIo7ArqEszXWYc8uypSpLiOsTKwgqU1cU=
         User id: 3f6b2b02-9c25-40b7-9bf8-b94e6987632c

DEBUG: [ADAL]: Information: 2019-05-07T12:17:46.7937924Z: 00000000-0000-0000-0000-000000000000 - LoggerBase.cs: Serializing token cache with 10 items.

DEBUG: [Common.Authentication]: Renewing Token with Type: 'Bearer', Expiry: '05/07/2019 12:46:00 +00:00', MultipleResource? 'True', Tenant: 'f32b97f0-efb8-4bc3-91ee-18a6e5f635c9', UserId: 'aaa@aaa.com'
DEBUG: [Common.Authentication]: User info for token DisplayId: 'aaa@aaa.com', Name: AAA AAA, IdProvider: 'https://sts.windows.net/f32b97f0-efb8-4bc3-91ee-18a6e5f635c9/', Uid: '3f6b2b02-9c25-40b7-9bf8-b94e6987632c'
DEBUG: [Common.Authentication]: Checking token expiration, token expires '05/07/2019 12:46:00 +00:00' Comparing to '05/07/2019 12:17:46 +00:00' With threshold '00:05:00', calculated time until token expiry: '00:28:14.0764081'
DEBUG: ============================ HTTP REQUEST ============================

HTTP Method:
GET

Absolute Uri:
https://management.azure.com/subscriptions/09a25d48-9474-493e-8421-2591f10bd416/providers/Microsoft.Compute/locations/eastus2/usages?api-version=2019-03-01

Headers:
x-ms-client-request-id        : 5a409d04-279f-4953-a4f3-55a5a231da20
accept-language               : en-US

Body:

DEBUG: ============================ HTTP RESPONSE ============================

Status Code:
OK

Headers:
Pragma                        : no-cache
x-ms-ratelimit-remaining-resource: Microsoft.Compute/GetSubscriptionInfo3Min;419
Strict-Transport-Security     : max-age=31536000; includeSubDomains
x-ms-request-id               : 3c7d3a4c-2db8-4185-b296-d11ddcbfb61f
Cache-Control                 : no-cache
Server                        : Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0
x-ms-ratelimit-remaining-subscription-reads: 11998
x-ms-correlation-request-id   : 585fb927-402e-4fd3-bd70-ef19c6affe97
x-ms-routing-request-id       : CENTRALINDIA:20190507T121747Z:585fb927-402e-4fd3-bd70-ef19c6affe97
X-Content-Type-Options        : nosniff
Date                          : Tue, 07 May 2019 12:17:47 GMT

Body:
{
  "value": [
    {
      "limit": 2000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "availabilitySets",
        "localizedValue": "Availability Sets"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "cores",
        "localizedValue": "Total Regional vCPUs"
      }
    },
    {
      "limit": 25000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "virtualMachines",
        "localizedValue": "Virtual Machines"
      }
    },
    {
      "limit": 2000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "virtualMachineScaleSets",
        "localizedValue": "Virtual Machine Scale Sets"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "basicAFamily",
        "localizedValue": "Basic A Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardA0_A7Family",
        "localizedValue": "Standard A0-A7 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardA8_A11Family",
        "localizedValue": "Standard A8-A11 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardDFamily",
        "localizedValue": "Standard D Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardDv2Family",
        "localizedValue": "Standard Dv2 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardDSFamily",
        "localizedValue": "Standard DS Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardDSv2Family",
        "localizedValue": "Standard DSv2 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardGFamily",
        "localizedValue": "Standard G Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardGSFamily",
        "localizedValue": "Standard GS Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardFFamily",
        "localizedValue": "Standard F Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardFSFamily",
        "localizedValue": "Standard FS Family vCPUs"
      }
    },
    {
      "limit": 18,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardNVFamily",
        "localizedValue": "Standard NV Family vCPUs"
      }
    },
    {
      "limit": 18,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardNCFamily",
        "localizedValue": "Standard NC Family vCPUs"
      }
    },
    {
      "limit": 8,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardHFamily",
        "localizedValue": "Standard H Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardAv2Family",
        "localizedValue": "Standard Av2 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardLSFamily",
        "localizedValue": "Standard LS Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardDv2PromoFamily",
        "localizedValue": "Standard Dv2 Promo Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardDSv2PromoFamily",
        "localizedValue": "Standard DSv2 Promo Family vCPUs"
      }
    },
    {
      "limit": 0,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardMSFamily",
        "localizedValue": "Standard MS Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardDv3Family",
        "localizedValue": "Standard Dv3 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardDSv3Family",
        "localizedValue": "Standard DSv3 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardEv3Family",
        "localizedValue": "Standard Ev3 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardESv3Family",
        "localizedValue": "Standard ESv3 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardBSFamily",
        "localizedValue": "Standard BS Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardFSv2Family",
        "localizedValue": "Standard FSv2 Family vCPUs"
      }
    },
    {
      "limit": 0,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardNDSFamily",
        "localizedValue": "Standard NDS Family vCPUs"
      }
    },
    {
      "limit": 0,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardNCSv2Family",
        "localizedValue": "Standard NCSv2 Family vCPUs"
      }
    },
    {
      "limit": 0,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardNCSv3Family",
        "localizedValue": "Standard NCSv3 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardLSv2Family",
        "localizedValue": "Standard LSv2 Family vCPUs"
      }
    },
    {
      "limit": 6,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardPBSFamily",
        "localizedValue": "Standard PBS Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardEIv3Family",
        "localizedValue": "Standard EIv3 Family vCPUs"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardEISv3Family",
        "localizedValue": "Standard EISv3 Family vCPUs"
      }
    },
    {
      "limit": 4,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardDCSFamily",
        "localizedValue": "Standard DCS Family vCPUs"
      }
    },
    {
      "limit": 0,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardNVSv2Family",
        "localizedValue": "Standard NVSv2 Family vCPUs"
      }
    },
    {
      "limit": 0,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardHBSFamily",
        "localizedValue": "Standard HBS Family vCPUs"
      }
    },
    {
      "limit": 0,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardHCSFamily",
        "localizedValue": "Standard HCS Family vCPUs"
      }
    },
    {
      "limit": 0,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardNVSv3Family",
        "localizedValue": "Standard NVSv3 Family vCPUs"
      }
    },
    {
      "limit": 18,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardNVPromoFamily",
        "localizedValue": "Standard NV Promo Family vCPUs"
      }
    },
    {
      "limit": 18,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardNCPromoFamily",
        "localizedValue": "Standard NC Promo Family vCPUs"
      }
    },
    {
      "limit": 8,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "standardHPromoFamily",
        "localizedValue": "Standard H Promo Family vCPUs"
      }
    },
    {
      "limit": 25000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "StandardDiskCount",
        "localizedValue": "Standard Storage Managed Disks"
      }
    },
    {
      "limit": 25000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "PremiumDiskCount",
        "localizedValue": "Premium Storage Managed Disks"
      }
    },
    {
      "limit": 25000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "StandardSSDDiskCount",
        "localizedValue": "StandardSSDStorageDisks"
      }
    },
    {
      "limit": 20,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "UltraSSDDiskCount",
        "localizedValue": "DirectDriveDisks"
      }
    },
    {
      "limit": 25000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "StandardSnapshotCount",
        "localizedValue": "StandardStorageSnapshots"
      }
    },
    {
      "limit": 25000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "PremiumSnapshotCount",
        "localizedValue": "PremiumStorageSnapshots"
      }
    },
    {
      "limit": 25000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "ZRSSnapshotCount",
        "localizedValue": "ZrsStorageSnapshots"
      }
    },
    {
      "limit": 100,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "Gallery",
        "localizedValue": "Gallery"
      }
    },
    {
      "limit": 1000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "GalleryImage",
        "localizedValue": "Gallery Image Resource"
      }
    },
    {
      "limit": 10000,
      "unit": "Count",
      "currentValue": 0,
      "name": {
        "value": "GalleryImageVersion",
        "localizedValue": "Gallery Image Version"
      }
    }
  ]
}

DEBUG: AzureQoSEvent: CommandName - Get-AzVMUsage; IsSuccess - True; Duration - 00:00:04.6791772; Exception - ;
DEBUG: Finish sending metric.
DEBUG: 17:47:48 - GetAzureVMUsageCommand end processing.
DEBUG: 17:47:48 - GetAzureVMUsageCommand end processing.

   TypeName: Microsoft.Azure.Commands.Compute.Models.PSUsage

Name         MemberType Definition
----         ---------- ----------
Equals       Method     bool Equals(System.Object obj)
GetHashCode  Method     int GetHashCode()
GetType      Method     type GetType()
ToString     Method     string ToString()
CurrentValue Property   System.Nullable[int] CurrentValue {get;set;}
Limit        Property   System.Nullable[long] Limit {get;set;}
Name         Property   Microsoft.Azure.Management.Compute.Models.UsageName Name {get;set;}
RequestId    Property   string RequestId {get;set;}
StatusCode   Property   System.Net.HttpStatusCode StatusCode {get;set;}
Unit         Property   string Unit {get;set;}

(Get-AzStorageUsage -Location eastus2 -Debug) | Get-Member
DEBUG: 17:49:47 - GetAzureStorageUsageCommand begin processing with ParameterSet '__AllParameterSets'.
Confirm
Continue with this operation?
[Y] Yes [A] Yes to All [H] Halt Command [S] Suspend [?] Help (default is "Yes"): A
DEBUG: 17:49:49 - using account id 'aaa@aaa.com'...
DEBUG: [Common.Authentication]: Authenticating using Account: 'aaa@aaa.com', environment: 'AzureCloud', tenant: 'f32b97f0-efb8-4bc3-91ee-18a6e5f635c9'
DEBUG: [Common.Authentication]: Authenticating using configuration values: Domain: 'f32b97f0-efb8-4bc3-91ee-18a6e5f635c9', Endpoint: 'https://login.microsoftonline.com/', ClientId: '1950a258-227b-4e31-a9cf-717495945fc2', ClientRedirect: 'urn:ietf:wg:oauth:2.0:oob', ResourceClientUri: 'https://management.core.windows.net/', ValidateAuthority: 'True'
DEBUG: [Common.Authentication]: Acquiring token using context with Authority 'https://login.microsoftonline.com/f32b97f0-efb8-4bc3-91ee-18a6e5f635c9/', CorrelationId: '00000000-0000-0000-0000-000000000000', ValidateAuthority: 'True'
DEBUG: [Common.Authentication]: Acquiring token using AdalConfiguration with Domain: 'f32b97f0-efb8-4bc3-91ee-18a6e5f635c9', AdEndpoint: 'https://login.microsoftonline.com/', ClientId: '1950a258-227b-4e31-a9cf-717495945fc2', ClientRedirectUri: urn:ietf:wg:oauth:2.0:oob
DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3911557Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: ADAL PCL.Desktop with assembly version '3.19.2.6005', file version '3.19.50302.0130' and informational version '2a8bec6c4c76d0c1ef819b55bdc3cda2d2605056' is running...

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3911557Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: ADAL PCL.Desktop with assembly version '3.19.2.6005', file version '3.19.50302.0130' and informational version '2a8bec6c4c76d0c1ef819b55bdc3cda2d2605056' is running...

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3911557Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: === Token Acquisition started: 
        CacheType: null
        Authentication Target: User
        , Authority Host: login.microsoftonline.com

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3911557Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: === Token Acquisition started:
        Authority: https://login.microsoftonline.com/f32b97f0-efb8-4bc3-91ee-18a6e5f635c9/
        Resource: https://management.core.windows.net/
        ClientId: 1950a258-227b-4e31-a9cf-717495945fc2
        CacheType: null
        Authentication Target: User

DEBUG: [ADAL]: Verbose: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: Loading from cache.

DEBUG: [ADAL]: Verbose: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: Loading from cache.

DEBUG: [ADAL]: Verbose: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: Looking up cache for a token...

DEBUG: [ADAL]: Verbose: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: Looking up cache for a token...

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: An item matching the requested resource was found in the cache

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: An item matching the requested resource was found in the cache

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: 26.1913340233333 minutes left until token in cache expires

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: 26.1913340233333 minutes left until token in cache expires

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: A matching item (access token or refresh token or both) was found in the cache

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: A matching item (access token or refresh token or both) was found in the cache

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: === Token Acquisition finished successfully. An access token was returned: Expiration Time: 07-05-2019 12:46:00 +00:00

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3921543Z: f9e8cda4-a00a-4564-a7cd-287d5690e359 - LoggerBase.cs: === Token Acquisition finished successfully. An access token was returned: Expiration Time: 07-05-2019 12:46:00 +00:00Access Token Hash: u/YXZDj0kYJIo7ArqEszXWYc8uypSpLiOsTKwgqU1cU=
         User id: 3f6b2b02-9c25-40b7-9bf8-b94e6987632c

DEBUG: [ADAL]: Information: 2019-05-07T12:19:49.3921543Z: 00000000-0000-0000-0000-000000000000 - LoggerBase.cs: Serializing token cache with 10 items.

DEBUG: [Common.Authentication]: Renewing Token with Type: 'Bearer', Expiry: '05/07/2019 12:46:00 +00:00', MultipleResource? 'True', Tenant: 'f32b97f0-efb8-4bc3-91ee-18a6e5f635c9', UserId: 'aaa@aaa.com'
DEBUG: [Common.Authentication]: User info for token DisplayId: 'aaa@aaa.com', Name: aaa aaa, IdProvider: 'https://sts.windows.net/f32b97f0-efb8-4bc3-91ee-18a6e5f635c9/', Uid: '3f6b2b02-9c25-40b7-9bf8-b94e6987632c'
DEBUG: [Common.Authentication]: Checking token expiration, token expires '05/07/2019 12:46:00 +00:00' Comparing to '05/07/2019 12:19:49 +00:00' With threshold '00:05:00', calculated time until token expiry: '00:26:11.4780421'
DEBUG: ============================ HTTP REQUEST ============================

HTTP Method:
GET

Absolute Uri:
https://management.azure.com/subscriptions/09a25d48-9474-493e-8421-2591f10bd416/providers/Microsoft.Storage/locations/eastus2/usages?api-version=2019-04-01

Headers:
x-ms-client-request-id        : 9523b47e-f88c-4404-aaa9-5ce723a283a3
accept-language               : en-US

Body:

DEBUG: ============================ HTTP RESPONSE ============================

Status Code:
OK

Headers:
Pragma                        : no-cache
x-ms-request-id               : c9d53ef7-7c95-43b5-a28f-f275f3c9877c
Strict-Transport-Security     : max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 11997
x-ms-correlation-request-id   : 73967d7f-7756-4645-9d86-436a3be1be44
x-ms-routing-request-id       : CENTRALINDIA:20190507T121950Z:73967d7f-7756-4645-9d86-436a3be1be44
X-Content-Type-Options        : nosniff
Cache-Control                 : no-cache
Date                          : Tue, 07 May 2019 12:19:50 GMT
Server                        : Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0

Body:
{
  "value": [
    {
      "unit": "Count",
      "currentValue": 0,
      "limit": 250,
      "name": {
        "value": "StorageAccounts",
        "localizedValue": "Storage Accounts"
      }
    }
  ]
}

DEBUG: AzureQoSEvent: CommandName - Get-AzStorageUsage; IsSuccess - True; Duration - 00:00:02.4364946; Exception - ;
DEBUG: Finish sending metric.
DEBUG: 17:49:50 - GetAzureStorageUsageCommand end processing.
DEBUG: 17:49:50 - GetAzureStorageUsageCommand end processing.

   TypeName: Microsoft.Azure.Commands.Management.Storage.Models.PSUsage

Name          MemberType Definition
----          ---------- ----------
Equals        Method     bool Equals(System.Object obj)
GetHashCode   Method     int GetHashCode()
GetType       Method     type GetType()
ToString      Method     string ToString()
CurrentValue  Property   System.Nullable[int] CurrentValue {get;set;}
Limit         Property   System.Nullable[int] Limit {get;set;}
LocalizedName Property   string LocalizedName {get;set;}
Name          Property   string Name {get;set;}
Unit          Property   System.Nullable[Microsoft.Azure.Management.Storage.Models.UsageUnit] Unit {get;set;}

Thanks, Pranav

markcowl commented 5 years ago

@dcaro I think the underlying ask is for a generic mechanism for tracking usage across RPs

blueelvis commented 5 years ago

@markcowl @dcaro - Fully agreed. I would to have a single commandlet to get the usage/quota consumption across RPs which should fix this as well. Right now, for my reporting purposes, I need to call 3 separate commandlets just to get the same data across different resource providers.