Functions/BloxOne/BloxOneDDI/Get-B1Asset.ps1
function Get-B1AssetSummary { <# .SYNOPSIS Summerise a list of Assets discovered by BloxOne .DESCRIPTION This function is used to summerise a list of Assets discovered by BloxOne .EXAMPLE Get-B1Asset ByRegion assets doc_asset_region doc_asset_vendor ------ ---------------- ---------------- 140 us-east-1 aws 121 us-east-2 aws 68 us-west-1 aws 42 us-west-2 aws 23 eu-north-1 aws 18 ap-southeast-2 aws 18 eu-west-1 aws 10 azure 7 aws 17 ap-northeast-1 aws 14 ap-northeast-2 aws 13 westeurope azure 12 ap-northeast-3 aws 12 ap-south-1 aws 12 ap-southeast-1 aws 12 ca-central-1 aws 12 eu-west-2 aws 12 eu-west-3 aws 12 sa-east-1 aws 7 global azure 6 eu-central-1 aws 1 uksouth azure .FUNCTIONALITY BloxOneDDI .FUNCTIONALITY Discovery #> [CmdletBinding()] param( [ValidateSet('ByCategory','ByVendor','ByRegion','ByAccount')] [String]$Type ) Switch($Type) { "ByCategory" { ## List Asset Count, Category & Context Invoke-B1CubeJS -Cube CloudDiscoveryResources -Measures assets -Dimensions doc_asset_category,doc_asset_context -Segments countable -Grouped break } "ByVendor" { # List Cloud Asset Count by Vendor $Filters = @( @{ "member" = "CloudDiscoveryResources.doc_asset_vendor" "operator" = "set" } @{ "member" = "CloudDiscoveryResources.doc_asset_context" "operator" = "equals" "values" = @("cloud") } ) Invoke-B1CubeJS -Cube CloudDiscoveryResources -Measures assets -Dimensions doc_asset_vendor -Segments countable -Filters $Filters -Grouped break } "ByRegion" { # List Cloud Asset Count by Region & Vendor $Filters = @( @{ "member" = "CloudDiscoveryResources.doc_asset_context" "operator" = "equals" "values" = @("cloud") } ) Invoke-B1CubeJS -Cube CloudDiscoveryResources -Measures assets -Dimensions doc_asset_region,doc_asset_vendor -Segments countable -Filters $Filters -Grouped break } "ByAccount" { # List Cloud Asset Count by Azure Subscription, GCP Project and AWS Account ID. $Filters = @( @{ "member" = "CloudDiscoveryResources.doc_asset_context" "operator" = "equals" "values" = @("cloud") } ) Invoke-B1CubeJS -Cube CloudDiscoveryResources -Measures assets -Dimensions doc_asset_aws_account_id,doc_asset_gcp_project_id,doc_asset_azure_subscription_id,doc_asset_vendor -Filters $Filters -Segments countable -Grouped break } } } |