Documentation
¶
Index ¶
- Variables
- func AggregateCostData(data lib.AggregatedCostData, tci lib.TransformedCostItem) lib.AggregatedCostData
- func ChangeActiveSub(azProfile AzureProfile)
- func ChangeActiveSubscription(subs []AzureProfileSubscription)
- func CombineAllCostMeters(costDataPath string) (allCostMetersByMeterIdentifier map[string]lib.MongoDbCostItem, ...)
- func CombineCostDataSlices(basePath string, saveOutput bool) (combinedSlice []lib.MongoDbCostItem)
- func CombineCostExportCSVData(dataPath string) lib.CostExportData
- func CombineCostExportJSONData(dataPath string) lib.CostExportData
- func ConvertCsvDataToExcel(sheetName string, inFileName string, outFileName string)
- func ConvertCsvFileToExcel(sheetName string, inFileName string, outFileName string)
- func CostDataByInstanceId(data lib.AggregatedCostData) map[string][]lib.AggregatedCostItem
- func CostDataToExcel(data lib.TransformedCostItemsByTenant, outFileName string)
- func DeallocateAzureVm(resourceId string, mat *lib.AzureMultiAuthToken)
- func DeallocateMultipleAzureVms(resourceIds []string, token *lib.AzureMultiAuthToken)
- func DownloadAllBlobsInContainer(options lib.StorageAccountRequestOptions) (numFilesDownloaded int)
- func DownloadAllConfiguredTenantCostExportsForMonth(opts lib.DownloadAllConfiguredTenantCostExportsForMonthOptions, ...)
- func FlattenAggregatedCostData(data lib.AggregatedCostData, resources []lib.AzureResourceDetails) []lib.AzureResourceDetails
- func GatherRelatedResourcesAndCostMeters(costData []lib.AggregatedCostItem, resources []lib.AzureResourceDetails, ...) (map[string][]lib.AzureResourceDetails, []lib.AzureResourceDetails)
- func GenerateMonthlyCostReport(outputDirectory string, outputFileName string, blobPrefix string, ...)
- func GetAllGalleryImages(subscriptionId string, resourceGroup string, galleryName string, ...) (images []lib.GalleryImage)
- func GetAllImagesAndVersionsForAllGalleries(tokens lib.AllTenantTokens) (imagesWithVersions []lib.GalleryImage)
- func GetAllImagesAndVersionsForGallery(subscriptionId string, resourceGroup string, galleryName string, ...) (imagesWithVersions []lib.GalleryImage)
- func GetAllResourcesForAllConfiguredTenants(opts *lib.GetAllResourcesForAllConfiguredTenantsOptions, ...) (allResources map[string]TenantResourceList, ...)
- func GetAllTenantSPTokens(options lib.AzureMultiAuthTokenRequestOptions, ...) (lib.AllTenantTokens, error)
- func GetAppRegDataForAllConfiguredTenants(outputPath string) (allAppRegistrations []EntraApplication, ...)
- func GetAzCliToken() lib.AzureMultiAuthToken
- func GetAzureEnvVariables(requiredEnvVars lib.AzureAuthRequirements) *lib.AzureAuthDetails
- func GetAzureResourceSKUsForSubscription(opts lib.GetAllResourcesForAllConfiguredTenantsOptions) (processedSkus []lib.AzureResourceSku)
- func GetAzureVMStatus(resourceId string, mat *lib.AzureMultiAuthToken)
- func GetAzureVm(subscriptionId string, resourceGroupName string, vmName string, ...)
- func GetB2CUserByObjectId(objectId string, token *lib.AzureMultiAuthToken) (user interface{})
- func GetB2CUserByUPN(upn string, token *lib.AzureMultiAuthToken) (user interface{})
- func GetCostExportCSVFileData(fileName string) (lib.CostExportData, error)
- func GetCostExportJSONFileData(fileName string) (lib.CostExportData, error)
- func GetGalleryImage(subscriptionId string, resourceGroup string, galleryName string, ...) lib.GalleryImage
- func GetGalleryImageVersions(subscriptionId string, resourceGroup string, galleryName string, ...) (imageVersions lib.GalleryImageVersionList, ...)
- func GetLogAnalyticsToken() (*lib.TokenRequestResponse, error)
- func GetMultipleAzureVMStatuses(resourceIds []string, token *lib.AzureMultiAuthToken)
- func GetServicePrincipalMultiAuthToken(spDetails lib.AzureMultiAuthTokenRequestOptions) (*lib.AzureMultiAuthToken, error)
- func GetServicePrincipalToken(tenant string, servicePrincipalDetails lib.AzureMultiAuthTokenRequestOptions, ...) (*lib.AzureTokenData, error)
- func GetSkusWithVcpus(resSkus []lib.AzureResourceSku) (vcpuSkus []lib.AzureVirtualMachineSku)
- func GetTenantAzCred(tenantName string, getWriteToken bool, cldConfOpts *lib.CldConfigOptions) (*azidentity.ClientSecretCredential, error)
- func GetTenantSPToken(options lib.AzureMultiAuthTokenRequestOptions, ...) (*lib.AzureMultiAuthToken, error)
- func GetToken(tenantName string, cldConfigOpts *lib.CldConfigOptions) lib.AzureMultiAuthToken
- func GetVcpuCountForAllConfiguredTenants(allResources map[string]TenantResourceList, ...) (vmResources map[string][]lib.AzureResourceDetails, ...)
- func HttpGet(urlString string, mat lib.AzureMultiAuthToken) ([]byte, error)
- func HttpPatch(urlString string, body string, mat lib.AzureMultiAuthToken) ([]byte, []byte, error)
- func HttpPost(urlString string, body string, mat lib.AzureMultiAuthToken) ([]byte, []byte, error)
- func HttpPut(urlString string, mat lib.AzureMultiAuthToken) ([]byte, []byte, error)
- func ListAllSubscriptionVnetsWithChan(subscriptionId string, mat lib.AzureMultiAuthToken, out chan<- Vnet, ...)
- func ListAllTenantPIMScheduleInstances(token *lib.AzureMultiAuthToken) (assignmentsSlice []RoleAssignmentScheduleInstance, ...)
- func ListAllTenantPIMScheduleInstancesForAllTenants() (processedAssignments []RoleAssignmentScheduleInstance, ...)
- func ListAllVnetIPAddressesWithChan(mat lib.AzureMultiAuthToken, vnet Vnet, publicIps chan<- IPAddressItem, ...)
- func ListStorageContainerBlobs(options lib.StorageAccountRequestOptions, cldConfigOpts *lib.CldConfigOptions) lib.BlobList
- func ListSubscriptions(token lib.AzureMultiAuthToken) ([]lib.FetchedSubscription, error)
- func MapVmSizeDetails(vmSize string, resourcesSkus []lib.AzureVirtualMachineSku) (mappedSku lib.AzureVirtualMachineSku)
- func ProcessCostData(data lib.AggregatedCostData) (costDataByMeterIdentifer map[string]lib.AggregatedCostItem, ...)
- func PromptSelectTenant() (AzureProfileTenant, []AzureProfileSubscription)
- func SortCostPerDay(costPerDay lib.CostPerDay) lib.CostPerDay
- func StartAzureVm(resourceId string, mat *lib.AzureMultiAuthToken)
- func StartMultipleAzureVms(resourceIds []string, token *lib.AzureMultiAuthToken)
- func StopAzureVm(resourceId string, mat *lib.AzureMultiAuthToken)
- func StopAzureVms(resourceIds []string, mat *lib.AzureMultiAuthToken)
- func StopMultipleAzureVms(resourceIds []string, token *lib.AzureMultiAuthToken)
- func StorageBlobHttpGet(urlString string, mat lib.AzureMultiAuthToken) ([]byte, error)
- func TenantMapByDomain() map[string]string
- func TransformCostData(data lib.CostExportData) lib.TransformedCostItemsByTenant
- func TransformCostDataNew(data lib.CostExportData, progBarNum int, progBarTotal int) lib.AggregatedCostData
- func UnmarshalCostExportCSV(reader *csv.Reader, v *lib.RowData, fileName string) error
- type AllTenantIPs
- type AzureAsyncOpUpdateResponse
- type AzureAsyncRequestResponse
- type AzureB2CUser
- type AzureCostData
- type AzureCostDataMeter
- type AzureProfile
- type AzureProfileSubscription
- type AzureProfileTenant
- type AzureRequestOptions
- type AzureResourceIPConfig
- type AzureTenantCostData
- type CombinedFlowLogs
- type ContainerRegisryResponse
- type ContainerRegistriesPerSub
- type ContainerRegistry
- type EntraApplication
- type EntraExpiringCredential
- type EntraListApplicationsResponse
- type EntraRoleDefinition
- type GetAllImageGalleriesForSubscriptionResponse
- type GetAzureDevOpsPipelineTokensOptionsTenantConfig
- type IPAddressItem
- type IPAddressList
- type ImageGallery
- func GetAllImageGalleriesForAllConfiguredTenants(tokens lib.AllTenantTokens) (imageGalleries []ImageGallery)
- func GetAllImageGalleriesForSubscription(subscriptionId string, mat *lib.AzureMultiAuthToken) (imageGalleries []ImageGallery)
- func GetAllImageGalleriesForTenant(mat *lib.AzureMultiAuthToken) (imageGalleries []ImageGallery)
- type IpList
- type ListAllResourceGroupsResponse
- type ListAllResourcesResponse
- type ListEntraRoleDefinitionsResponse
- type ListManagementGroupsResponse
- type ListResourceRoleDefinitionsResponse
- type ListRoleAssignmentScheduleInstancesResponse
- type ListRoleAssignmentSchedulesResponse
- type ListRoleEligibilityScheduleInstancesResponse
- type ListRspResource
- type ListSubnetsResponse
- type LogAnalyticsTables
- type ManagementGroup
- type NsgFlowLog
- type NsgFlowLogRecord
- type ProcessedSubnet
- type ProcessedVnetPeering
- type PublicIpAddress
- type ResourceGraphGetIpsResponse
- type ResourceGraphResponse
- type ResourceGroup
- type ResourceRoleDefinition
- type ResponseBody
- type RoleAssignmentSchedule
- type RoleAssignmentScheduleInstance
- type RoleAssignmentScheduleProcessed
- type RoleEligibilityScheduleInstance
- type RolePrinciple
- type SubnetIPConfigResponse
- type SubnetResponse
- type SubscriptionResGrpList
- type SubscriptionResourceList
- type TenantDetails
- type TenantList
- type TenantResGrpList
- type TenantResourceList
- type VirtualMachine
- type VirtualMachineInstanceView
- type VirtualNetworkPeering
- type Vnet
- type VnetListResponse
- type VnetResponse
Constants ¶
This section is empty.
Variables ¶
var Fetch bool
var SetActive bool
var ShowActive bool
Functions ¶
func AggregateCostData ¶
func AggregateCostData(data lib.AggregatedCostData, tci lib.TransformedCostItem) lib.AggregatedCostData
func ChangeActiveSub ¶
func ChangeActiveSub(azProfile AzureProfile)
func ChangeActiveSubscription ¶
func ChangeActiveSubscription(subs []AzureProfileSubscription)
func CombineAllCostMeters ¶
func CombineAllCostMeters(costDataPath string) (allCostMetersByMeterIdentifier map[string]lib.MongoDbCostItem, allCostMetersSlice []lib.MongoDbCostItem)
func CombineCostDataSlices ¶
func CombineCostDataSlices(basePath string, saveOutput bool) (combinedSlice []lib.MongoDbCostItem)
func CombineCostExportCSVData ¶
func CombineCostExportCSVData(dataPath string) lib.CostExportData
func CombineCostExportJSONData ¶
func CombineCostExportJSONData(dataPath string) lib.CostExportData
func ConvertCsvDataToExcel ¶
func ConvertCsvFileToExcel ¶
func CostDataByInstanceId ¶
func CostDataByInstanceId(data lib.AggregatedCostData) map[string][]lib.AggregatedCostItem
func CostDataToExcel ¶
func CostDataToExcel(data lib.TransformedCostItemsByTenant, outFileName string)
func DeallocateAzureVm ¶ added in v0.1.15
func DeallocateAzureVm(resourceId string, mat *lib.AzureMultiAuthToken)
func DeallocateMultipleAzureVms ¶ added in v0.1.15
func DeallocateMultipleAzureVms(resourceIds []string, token *lib.AzureMultiAuthToken)
func DownloadAllBlobsInContainer ¶
func DownloadAllBlobsInContainer(options lib.StorageAccountRequestOptions) (numFilesDownloaded int)
func DownloadAllConfiguredTenantCostExportsForMonth ¶
func DownloadAllConfiguredTenantCostExportsForMonth(opts lib.DownloadAllConfiguredTenantCostExportsForMonthOptions, cldConfOpts *lib.CldConfigOptions)
func FlattenAggregatedCostData ¶
func FlattenAggregatedCostData(data lib.AggregatedCostData, resources []lib.AzureResourceDetails) []lib.AzureResourceDetails
func GatherRelatedResourcesAndCostMeters ¶
func GatherRelatedResourcesAndCostMeters(costData []lib.AggregatedCostItem, resources []lib.AzureResourceDetails, progBarNum int, progBarTotal int) (map[string][]lib.AzureResourceDetails, []lib.AzureResourceDetails)
func GenerateMonthlyCostReport ¶
func GenerateMonthlyCostReport(outputDirectory string, outputFileName string, blobPrefix string, costExportMonth string)
Generates monthly cost report from Cost Data stored in Azure Blob Storages, exported from Azure
outputDirectory = Base directory to store downloaded data and generated Excel workbook.
Full save directory would be outputDirectory + "/cost-exports/" + lastMonth.Format("2006") + lastMonth.Format("01") + "/"
blobPrefix is the directory within the Blob Container to find files.
Full blob prefix becomes blobPrefix + "/" + lastMonth.Format("2006") + lastMonth.Format("01")
func GetAllGalleryImages ¶
func GetAllGalleryImages(subscriptionId string, resourceGroup string, galleryName string, mat *lib.AzureMultiAuthToken) (images []lib.GalleryImage)
func GetAllImagesAndVersionsForAllGalleries ¶
func GetAllImagesAndVersionsForAllGalleries(tokens lib.AllTenantTokens) (imagesWithVersions []lib.GalleryImage)
func GetAllImagesAndVersionsForGallery ¶
func GetAllImagesAndVersionsForGallery(subscriptionId string, resourceGroup string, galleryName string, mat *lib.AzureMultiAuthToken) (imagesWithVersions []lib.GalleryImage)
func GetAllResourcesForAllConfiguredTenants ¶
func GetAllResourcesForAllConfiguredTenants(opts *lib.GetAllResourcesForAllConfiguredTenantsOptions, tokens lib.AllTenantTokens) (allResources map[string]TenantResourceList, allResourcesSlice []lib.AzureResourceDetails)
func GetAllTenantSPTokens ¶
func GetAllTenantSPTokens(options lib.AzureMultiAuthTokenRequestOptions, cldConfOpts *lib.CldConfigOptions) (lib.AllTenantTokens, error)
Gets a token for each tenant configured in the cld config file
Default path for config file is ~/.config/cld/cldConfig.json
First parameter passed into this function overwrites the config file path
func GetAppRegDataForAllConfiguredTenants ¶
func GetAppRegDataForAllConfiguredTenants(outputPath string) (allAppRegistrations []EntraApplication, expiringCreds []EntraExpiringCredential)
func GetAzCliToken ¶
func GetAzCliToken() lib.AzureMultiAuthToken
func GetAzureEnvVariables ¶
func GetAzureEnvVariables(requiredEnvVars lib.AzureAuthRequirements) *lib.AzureAuthDetails
func GetAzureResourceSKUsForSubscription ¶
func GetAzureResourceSKUsForSubscription(opts lib.GetAllResourcesForAllConfiguredTenantsOptions) (processedSkus []lib.AzureResourceSku)
func GetAzureVMStatus ¶ added in v0.1.15
func GetAzureVMStatus(resourceId string, mat *lib.AzureMultiAuthToken)
func GetAzureVm ¶ added in v0.1.15
func GetAzureVm(subscriptionId string, resourceGroupName string, vmName string, mat *lib.AzureMultiAuthToken)
func GetB2CUserByObjectId ¶
func GetB2CUserByObjectId(objectId string, token *lib.AzureMultiAuthToken) (user interface{})
func GetB2CUserByUPN ¶
func GetB2CUserByUPN(upn string, token *lib.AzureMultiAuthToken) (user interface{})
func GetCostExportCSVFileData ¶
func GetCostExportCSVFileData(fileName string) (lib.CostExportData, error)
func GetCostExportJSONFileData ¶
func GetCostExportJSONFileData(fileName string) (lib.CostExportData, error)
func GetGalleryImage ¶
func GetGalleryImage(subscriptionId string, resourceGroup string, galleryName string, galleryImageName string, mat *lib.AzureMultiAuthToken) lib.GalleryImage
func GetGalleryImageVersions ¶
func GetGalleryImageVersions(subscriptionId string, resourceGroup string, galleryName string, galleryImageName string, mat lib.AzureMultiAuthToken) (imageVersions lib.GalleryImageVersionList, imageVersionsDetailed []lib.GalleryImageVersionDetailed)
func GetLogAnalyticsToken ¶
func GetLogAnalyticsToken() (*lib.TokenRequestResponse, error)
func GetMultipleAzureVMStatuses ¶ added in v0.1.15
func GetMultipleAzureVMStatuses(resourceIds []string, token *lib.AzureMultiAuthToken)
func GetServicePrincipalMultiAuthToken ¶
func GetServicePrincipalMultiAuthToken(spDetails lib.AzureMultiAuthTokenRequestOptions) (*lib.AzureMultiAuthToken, error)
func GetServicePrincipalToken ¶
func GetServicePrincipalToken(tenant string, servicePrincipalDetails lib.AzureMultiAuthTokenRequestOptions, cldConfigOpts *lib.CldConfigOptions, mut *sync.Mutex) (*lib.AzureTokenData, error)
func GetSkusWithVcpus ¶
func GetSkusWithVcpus(resSkus []lib.AzureResourceSku) (vcpuSkus []lib.AzureVirtualMachineSku)
func GetTenantAzCred ¶
func GetTenantAzCred(tenantName string, getWriteToken bool, cldConfOpts *lib.CldConfigOptions) (*azidentity.ClientSecretCredential, error)
func GetTenantSPToken ¶
func GetTenantSPToken(options lib.AzureMultiAuthTokenRequestOptions, cldConfOpts *lib.CldConfigOptions) (*lib.AzureMultiAuthToken, error)
func GetToken ¶
func GetToken(tenantName string, cldConfigOpts *lib.CldConfigOptions) lib.AzureMultiAuthToken
func GetVcpuCountForAllConfiguredTenants ¶
func GetVcpuCountForAllConfiguredTenants( allResources map[string]TenantResourceList, opts *lib.GetAllResourcesForAllConfiguredTenantsOptions, cfg lib.CldConfigTenants, ) ( vmResources map[string][]lib.AzureResourceDetails, vmResByType map[string]map[string]lib.AzureResourceDetails, processedVms map[string][]lib.AzureResourceDetails, processedVmsSlice []lib.AzureResourceDetails, vCpuCountByTenant lib.VCpuCountByTenant, vCpuCountByTenantWithResources lib.VCpuCountByTenant, )
func ListAllSubscriptionVnetsWithChan ¶
func ListAllSubscriptionVnetsWithChan(subscriptionId string, mat lib.AzureMultiAuthToken, out chan<- Vnet, wg *lib.WaitGroupCount)
func ListAllTenantPIMScheduleInstances ¶
func ListAllTenantPIMScheduleInstances(token *lib.AzureMultiAuthToken) (assignmentsSlice []RoleAssignmentScheduleInstance, eligibilitiesSlice []RoleEligibilityScheduleInstance)
func ListAllTenantPIMScheduleInstancesForAllTenants ¶
func ListAllTenantPIMScheduleInstancesForAllTenants() (processedAssignments []RoleAssignmentScheduleInstance, processedEligibilities []RoleEligibilityScheduleInstance)
func ListAllVnetIPAddressesWithChan ¶
func ListAllVnetIPAddressesWithChan(mat lib.AzureMultiAuthToken, vnet Vnet, publicIps chan<- IPAddressItem, privateIps chan<- IPAddressItem, wg *lib.WaitGroupCount)
func ListStorageContainerBlobs ¶
func ListStorageContainerBlobs(options lib.StorageAccountRequestOptions, cldConfigOpts *lib.CldConfigOptions) lib.BlobList
func ListSubscriptions ¶
func ListSubscriptions(token lib.AzureMultiAuthToken) ([]lib.FetchedSubscription, error)
Lists Azure subscriptions availabe to a given auth token
func MapVmSizeDetails ¶
func MapVmSizeDetails(vmSize string, resourcesSkus []lib.AzureVirtualMachineSku) (mappedSku lib.AzureVirtualMachineSku)
func ProcessCostData ¶
func ProcessCostData(data lib.AggregatedCostData) (costDataByMeterIdentifer map[string]lib.AggregatedCostItem, costDataSlice []lib.AggregatedCostItem)
func PromptSelectTenant ¶
func PromptSelectTenant() (AzureProfileTenant, []AzureProfileSubscription)
func SortCostPerDay ¶
func SortCostPerDay(costPerDay lib.CostPerDay) lib.CostPerDay
func StartAzureVm ¶ added in v0.1.15
func StartAzureVm(resourceId string, mat *lib.AzureMultiAuthToken)
func StartMultipleAzureVms ¶ added in v0.1.15
func StartMultipleAzureVms(resourceIds []string, token *lib.AzureMultiAuthToken)
func StopAzureVm ¶ added in v0.1.15
func StopAzureVm(resourceId string, mat *lib.AzureMultiAuthToken)
func StopAzureVms ¶ added in v0.1.15
func StopAzureVms(resourceIds []string, mat *lib.AzureMultiAuthToken)
func StopMultipleAzureVms ¶ added in v0.1.15
func StopMultipleAzureVms(resourceIds []string, token *lib.AzureMultiAuthToken)
func StorageBlobHttpGet ¶
func StorageBlobHttpGet(urlString string, mat lib.AzureMultiAuthToken) ([]byte, error)
func TenantMapByDomain ¶
func TransformCostData ¶
func TransformCostData(data lib.CostExportData) lib.TransformedCostItemsByTenant
func TransformCostDataNew ¶
func TransformCostDataNew(data lib.CostExportData, progBarNum int, progBarTotal int) lib.AggregatedCostData
Types ¶
type AllTenantIPs ¶
type AllTenantIPs map[string]IPAddressList
type AzureAsyncOpUpdateResponse ¶ added in v0.1.15
type AzureAsyncRequestResponse ¶ added in v0.1.15
type AzureAsyncRequestResponse struct { AzureAsyncnotification []string `json:"Azure-Asyncnotification"` AzureAsyncoperation []string `json:"Azure-Asyncoperation"` CacheControl []string `json:"Cache-Control"` ContentLength []string `json:"Content-Length"` Date []string `json:"Date"` Expires []string `json:"Expires"` Location []string `json:"Location"` Pragma []string `json:"Pragma"` StrictTransportSecurity []string `json:"Strict-Transport-Security"` XCache []string `json:"X-Cache"` XContentTypeOptions []string `json:"X-Content-Type-Options"` XMsCorrelationRequestID []string `json:"X-Ms-Correlation-Request-Id"` XMsRatelimitRemainingResource []string `json:"X-Ms-Ratelimit-Remaining-Resource"` XMsRatelimitRemainingSubscriptionGlobalWrites []string `json:"X-Ms-Ratelimit-Remaining-Subscription-Global-Writes"` XMsRatelimitRemainingSubscriptionWrites []string `json:"X-Ms-Ratelimit-Remaining-Subscription-Writes"` XMsRequestID []string `json:"X-Ms-Request-Id"` XMsRoutingRequestID []string `json:"X-Ms-Routing-Request-Id"` XMsedgeRef []string `json:"X-Msedge-Ref"` }
type AzureB2CUser ¶
type AzureB2CUser struct { AccountEnabled bool `json:"accountEnabled"` CreatedDateTime time.Time `json:"createdDateTime"` CreationType string `json:"creationType"` DisplayName string `json:"displayName"` Extension4e4fa41c1d3246639764b37ff949534dLastLogonTime time.Time `json:"extension_4e4fa41c1d3246639764b37ff949534d_lastLogonTime"` Extension4e4fa41c1d3246639764b37ff949534dPasswordResetOn time.Time `json:"extension_4e4fa41c1d3246639764b37ff949534d_passwordResetOn"` ID string `json:"id"` UserPrincipalName string `json:"userPrincipalName"` }
type AzureCostData ¶
type AzureCostData map[string]AzureTenantCostData
type AzureCostDataMeter ¶
type AzureCostDataMeter map[string]lib.AggregatedCostItem
type AzureProfile ¶
type AzureProfile struct { InstallationID string `json:"installationId"` Subscriptions []AzureProfileSubscription `json:"subscriptions"` }
func GetCliSubs ¶
func GetCliSubs() (AzureProfile, []byte)
func (*AzureProfile) PrintSubs ¶
func (s *AzureProfile) PrintSubs()
func (*AzureProfile) Sort ¶
func (s *AzureProfile) Sort()
type AzureProfileSubscription ¶
type AzureProfileSubscription struct { EnvironmentName string `json:"environmentName"` HomeTenantID string `json:"homeTenantId,omitempty"` ID string `json:"id"` IsDefault bool `json:"isDefault"` ManagedByTenants []struct { TenantID string `json:"tenantId"` } `json:"managedByTenants"` Name string `json:"name"` State string `json:"state"` TenantDefaultDomain string `json:"tenantDefaultDomain,omitempty"` TenantDisplayName string `json:"tenantDisplayName,omitempty"` TenantMappedName string `json:"tenantMappedName,omitempty"` TenantID string `json:"tenantId"` User struct { Name string `json:"name"` Type string `json:"type"` } `json:"user"` }
func GetActiveCliSub ¶
func GetActiveCliSub() (*AzureProfileSubscription, error)
type AzureProfileTenant ¶
type AzureRequestOptions ¶
type AzureResourceIPConfig ¶ added in v0.1.17
type AzureResourceIPConfig struct { ID string `json:"id,omitempty" bson:"id,omitempty"` Name string `json:"name,omitempty" bson:"name,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` TenantName string `json:"tenantName,omitempty" bson:"tenantName,omitempty"` TenantId string `json:"tenantId,omitempty" bson:"tenantId,omitempty"` SubscriptionName string `json:"subscriptionName,omitempty" bson:"subscriptionName,omitempty"` SubscriptionId string `json:"subscriptionId,omitempty" bson:"subscriptionId,omitempty"` PrivateIPs []string `json:"privateIps,omitempty" bson:"privateIps,omitempty"` PublicIPs []string `json:"publicIps,omitempty" bson:"publicIps,omitempty"` AttachedVmId string `json:"attachedVmId,omitempty" bson:"attachedVmId,omitempty"` AttachedVmName string `json:"attachedVmName,omitempty" bson:"attachedVmName,omitempty"` LastAzureSync time.Time `json:"lastAzureSync,omitempty" bson:"lastAzureSync,omitempty"` LastDBSync time.Time `json:"lastDatabaseSync,omitempty" bson:"lastDatabaseSync,omitempty"` }
func GetAllIpAddrForAllConfiguredTenants ¶ added in v0.1.17
func GetAllIpAddrForAllConfiguredTenants(opts *lib.GetAllResourcesForAllConfiguredTenantsOptions, tokens lib.AllTenantTokens) (allResourceIPs []AzureResourceIPConfig)
func GetAllTenantIpAddresses ¶ added in v0.1.17
func GetAllTenantIpAddresses(outputFile string, token *lib.AzureMultiAuthToken) []AzureResourceIPConfig
type AzureTenantCostData ¶
type AzureTenantCostData map[string]AzureCostDataMeter
type CombinedFlowLogs ¶
type CombinedFlowLogs struct { NsgFlowLogs []NsgFlowLogRecord FileCount int }
func CombineLogFileRecords ¶
func CombineLogFileRecords(dataPath string) CombinedFlowLogs
func (*CombinedFlowLogs) FilterIp ¶
func (r *CombinedFlowLogs) FilterIp(filter string, filterDirection string)
type ContainerRegisryResponse ¶
type ContainerRegisryResponse struct {
Value []ContainerRegistry
}
type ContainerRegistry ¶
type ContainerRegistry struct { ID string `json:"id"` Location string `json:"location"` Name string `json:"name"` Properties struct { AdminUserEnabled bool `json:"adminUserEnabled"` AnonymousPullEnabled bool `json:"anonymousPullEnabled"` CreationDate time.Time `json:"creationDate"` DataEndpointEnabled bool `json:"dataEndpointEnabled"` DataEndpointHostNames []string `json:"dataEndpointHostNames"` Encryption struct { Status string `json:"status"` } `json:"encryption"` LoginServer string `json:"loginServer"` NetworkRuleBypassOptions string `json:"networkRuleBypassOptions"` NetworkRuleSet struct { DefaultAction string `json:"defaultAction"` IpRules []any `json:"ipRules"` } `json:"networkRuleSet"` Policies struct { AzureAdAuthenticationAsArmPolicy struct { Status string `json:"status"` } `json:"azureADAuthenticationAsArmPolicy"` ExportPolicy struct { Status string `json:"status"` } `json:"exportPolicy"` QuarantinePolicy struct { Status string `json:"status"` } `json:"quarantinePolicy"` RetentionPolicy struct { Days int `json:"days"` LastUpdatedTime time.Time `json:"lastUpdatedTime"` Status string `json:"status"` } `json:"retentionPolicy"` SoftDeletePolicy struct { LastUpdatedTime time.Time `json:"lastUpdatedTime"` RetentionDays int `json:"retentionDays"` Status string `json:"status"` } `json:"softDeletePolicy"` TrustPolicy struct { Status string `json:"status"` Type string `json:"type"` } `json:"trustPolicy"` } `json:"policies"` PrivateEndpointConnections []struct { ID string `json:"id"` Name string `json:"name"` Properties struct { PrivateEndpoint struct { ID string `json:"id"` } `json:"privateEndpoint"` PrivateLinkServiceConnectionState struct { Description string `json:"description"` Status string `json:"status"` } `json:"privateLinkServiceConnectionState"` ProvisioningState string `json:"provisioningState"` } `json:"properties"` Type string `json:"type"` } `json:"privateEndpointConnections"` ProvisioningState string `json:"provisioningState"` PublicNetworkAccess string `json:"publicNetworkAccess"` ZoneRedundancy string `json:"zoneRedundancy"` } `json:"properties"` Sku struct { Name string `json:"name"` Tier string `json:"tier"` } `json:"sku"` SystemData struct { CreatedAt time.Time `json:"createdAt"` CreatedBy string `json:"createdBy"` CreatedByType string `json:"createdByType"` LastModifiedAt time.Time `json:"lastModifiedAt"` LastModifiedBy string `json:"lastModifiedBy"` LastModifiedByType string `json:"lastModifiedByType"` } `json:"systemData"` Tags struct{} `json:"tags"` Type string `json:"type"` }
type EntraApplication ¶
type EntraApplication struct { AddIns *[]struct { ID string `json:"id,omitempty" bson:"id,omitempty"` Properties []struct { Key string `json:"key,omitempty" bson:"key,omitempty"` Value string `json:"value,omitempty" bson:"value,omitempty"` } `json:"properties,omitempty" bson:"properties,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` } `json:"addIns,omitempty" bson:"addIns,omitempty"` API *struct { AcceptMappedClaims *bool `json:"acceptMappedClaims,omitempty" bson:"acceptMappedClaims,omitempty"` KnownClientApplications *[]string `json:"knownClientApplications,omitempty" bson:"knownClientApplications,omitempty"` Oauth2PermissionScopes *[]struct { AdminConsentDescription string `json:"adminConsentDescription,omitempty" bson:"adminConsentDescription,omitempty"` AdminConsentDisplayName string `json:"adminConsentDisplayName,omitempty" bson:"adminConsentDisplayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` IsEnabled bool `json:"isEnabled,omitempty" bson:"isEnabled,omitempty"` IsPrivate bool `json:"isPrivate,omitempty" bson:"isPrivate,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` UserConsentDescription string `json:"userConsentDescription,omitempty" bson:"userConsentDescription,omitempty"` UserConsentDisplayName string `json:"userConsentDisplayName,omitempty" bson:"userConsentDisplayName,omitempty"` Value string `json:"value,omitempty" bson:"value,omitempty"` } `json:"oauth2PermissionScopes,omitempty" bson:"oauth2PermissionScopes,omitempty"` PreAuthorizedApplications *[]struct { AppID string `json:"appId,omitempty" bson:"appId,omitempty"` PermissionIds *[]string `json:"permissionIds,omitempty" bson:"permissionIds,omitempty"` } `json:"preAuthorizedApplications,omitempty" bson:"preAuthorizedApplications,omitempty"` RequestedAccessTokenVersion *float64 `json:"requestedAccessTokenVersion,omitempty" bson:"requestedAccessTokenVersion,omitempty"` TokenEncryptionSetting *struct { Audience any `json:"audience,omitempty" bson:"audience,omitempty"` AutomatedTokenVersion *struct { Available []any `json:"available,omitempty" bson:"available,omitempty"` Current any `json:"current,omitempty" bson:"current,omitempty"` } `json:"automatedTokenVersion,omitempty" bson:"automatedTokenVersion,omitempty"` Scheme any `json:"scheme,omitempty" bson:"scheme,omitempty"` } `json:"tokenEncryptionSetting,omitempty" bson:"tokenEncryptionSetting,omitempty"` } `json:"api,omitempty" bson:"api,omitempty"` AppCapabilities []any `json:"appCapabilities,omitempty" bson:"appCapabilities,omitempty"` AppID string `json:"appId,omitempty" bson:"appId,omitempty"` AppRoles *[]struct { AllowedMemberTypes []string `json:"allowedMemberTypes,omitempty" bson:"allowedMemberTypes,omitempty"` Description string `json:"description,omitempty" bson:"description,omitempty"` DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` IsEnabled bool `json:"isEnabled,omitempty" bson:"isEnabled,omitempty"` IsPreAuthorizationRequired bool `json:"isPreAuthorizationRequired,omitempty" bson:"isPreAuthorizationRequired,omitempty"` IsPrivate bool `json:"isPrivate,omitempty" bson:"isPrivate,omitempty"` Origin string `json:"origin,omitempty" bson:"origin,omitempty"` Value *string `json:"value,omitempty" bson:"value,omitempty"` } `json:"appRoles,omitempty" bson:"appRoles,omitempty"` ApplicationTemplateID *string `json:"applicationTemplateId,omitempty" bson:"applicationTemplateId,omitempty"` BillingInformation any `json:"billingInformation,omitempty" bson:"billingInformation,omitempty"` Certification any `json:"certification,omitempty" bson:"certification,omitempty"` CreatedDateTime time.Time `json:"createdDateTime,omitempty" bson:"createdDateTime,omitempty"` DefaultRedirectURI *string `json:"defaultRedirectUri,omitempty" bson:"defaultRedirectUri,omitempty"` DeletedDateTime any `json:"deletedDateTime,omitempty" bson:"deletedDateTime,omitempty"` Description string `json:"description,omitempty" bson:"description,omitempty"` DisabledByMicrosoftStatus any `json:"disabledByMicrosoftStatus,omitempty" bson:"disabledByMicrosoftStatus,omitempty"` DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` GroupMembershipClaims *string `json:"groupMembershipClaims,omitempty" bson:"groupMembershipClaims,omitempty"` ID string `json:"id,omitempty" bson:"objectId,omitempty"` IdentifierUris []string `json:"identifierUris,omitempty" bson:"identifierUris,omitempty"` Info *struct { LogoURL any `json:"logoUrl,omitempty" bson:"logoUrl,omitempty"` MarketingURL any `json:"marketingUrl,omitempty" bson:"marketingUrl,omitempty"` PrivacyStatementURL any `json:"privacyStatementUrl,omitempty" bson:"privacyStatementUrl,omitempty"` SupportURL any `json:"supportUrl,omitempty" bson:"supportUrl,omitempty"` TermsOfServiceURL any `json:"termsOfServiceUrl,omitempty" bson:"termsOfServiceUrl,omitempty"` } `json:"info,omitempty" bson:"info,omitempty"` IsAuthorizationServiceEnabled bool `json:"isAuthorizationServiceEnabled,omitempty" bson:"isAuthorizationServiceEnabled,omitempty"` IsDeviceOnlyAuthSupported *bool `json:"isDeviceOnlyAuthSupported,omitempty" bson:"isDeviceOnlyAuthSupported,omitempty"` IsDisabled any `json:"isDisabled,omitempty" bson:"isDisabled,omitempty"` IsFallbackPublicClient *bool `json:"isFallbackPublicClient,omitempty" bson:"isFallbackPublicClient,omitempty"` IsManagementRestricted any `json:"isManagementRestricted,omitempty" bson:"isManagementRestricted,omitempty"` KeyCredentials *[]struct { CustomKeyIdentifier string `json:"customKeyIdentifier,omitempty" bson:"customKeyIdentifier,omitempty"` DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` EndDateTime time.Time `json:"endDateTime,omitempty" bson:"endDateTime,omitempty"` HasExtendedValue any `json:"hasExtendedValue,omitempty" bson:"hasExtendedValue,omitempty"` Key any `json:"key,omitempty" bson:"key,omitempty"` KeyID string `json:"keyId,omitempty" bson:"keyId,omitempty"` StartDateTime time.Time `json:"startDateTime,omitempty" bson:"startDateTime,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` Usage string `json:"usage,omitempty" bson:"usage,omitempty"` } `json:"keyCredentials,omitempty" bson:"keyCredentials,omitempty"` MigrationStatus any `json:"migrationStatus,omitempty" bson:"migrationStatus,omitempty"` NativeAuthenticationApisEnabled any `json:"nativeAuthenticationApisEnabled,omitempty" bson:"nativeAuthenticationApisEnabled,omitempty"` Notes any `json:"notes,omitempty" bson:"notes,omitempty"` Oauth2RequirePostResponse bool `json:"oauth2RequirePostResponse,omitempty" bson:"oauth2RequirePostResponse,omitempty"` OptionalClaims *struct { AccessToken []any `json:"accessToken,omitempty" bson:"accessToken,omitempty"` IDToken []any `json:"idToken,omitempty" bson:"idToken,omitempty"` Saml2Token []struct { AdditionalProperties []any `json:"additionalProperties,omitempty" bson:"additionalProperties,omitempty"` Essential bool `json:"essential,omitempty" bson:"essential,omitempty"` Name string `json:"name,omitempty" bson:"name,omitempty"` Source any `json:"source,omitempty" bson:"source,omitempty"` } `json:"saml2Token,omitempty" bson:"saml2Token,omitempty"` } `json:"optionalClaims,omitempty" bson:"optionalClaims,omitempty"` OrgRestrictions []any `json:"orgRestrictions,omitempty" bson:"orgRestrictions,omitempty"` ParentalControlSettings *struct { CountriesBlockedForMinors []any `json:"countriesBlockedForMinors,omitempty" bson:"countriesBlockedForMinors,omitempty"` LegalAgeGroupRule string `json:"legalAgeGroupRule,omitempty" bson:"legalAgeGroupRule,omitempty"` } `json:"parentalControlSettings,omitempty" bson:"parentalControlSettings,omitempty"` PasswordCredentials *[]struct { CustomKeyIdentifier string `json:"customKeyIdentifier,omitempty" bson:"customKeyIdentifier,omitempty"` DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` EndDateTime time.Time `json:"endDateTime,omitempty" bson:"endDateTime,omitempty"` Hint string `json:"hint,omitempty" bson:"hint,omitempty"` KeyID string `json:"keyId,omitempty" bson:"keyId,omitempty"` SecretText any `json:"secretText,omitempty" bson:"secretText,omitempty"` StartDateTime time.Time `json:"startDateTime,omitempty" bson:"startDateTime,omitempty"` } `json:"passwordCredentials,omitempty" bson:"passwordCredentials,omitempty"` PublicClient *struct { RedirectUris []any `json:"redirectUris,omitempty" bson:"redirectUris,omitempty"` } `json:"publicClient,omitempty" bson:"publicClient,omitempty"` PublisherDomain string `json:"publisherDomain,omitempty" bson:"publisherDomain,omitempty"` RequestSignatureVerification *struct { AllowedWeakAlgorithms any `json:"allowedWeakAlgorithms,omitempty" bson:"allowedWeakAlgorithms,omitempty"` IsSignedRequestRequired bool `json:"isSignedRequestRequired,omitempty" bson:"isSignedRequestRequired,omitempty"` } `json:"requestSignatureVerification,omitempty" bson:"requestSignatureVerification,omitempty"` RequiredResourceAccess *[]struct { ResourceAccess *[]struct { ID string `json:"id,omitempty" bson:"id,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` } `json:"resourceAccess,omitempty" bson:"resourceAccess,omitempty"` ResourceAppID string `json:"resourceAppId,omitempty" bson:"resourceAppId,omitempty"` } `json:"requiredResourceAccess,omitempty" bson:"requiredResourceAccess,omitempty"` SamlMetadataURL any `json:"samlMetadataUrl,omitempty" bson:"samlMetadataUrl,omitempty"` ServiceManagementReference any `json:"serviceManagementReference,omitempty" bson:"serviceManagementReference,omitempty"` ServicePrincipalLockConfiguration *struct { AllProperties bool `json:"allProperties,omitempty" bson:"allProperties,omitempty"` CredentialsWithUsageSign bool `json:"credentialsWithUsageSign,omitempty" bson:"credentialsWithUsageSign,omitempty"` CredentialsWithUsageVerify bool `json:"credentialsWithUsageVerify,omitempty" bson:"credentialsWithUsageVerify,omitempty"` IdentifierUris bool `json:"identifierUris,omitempty" bson:"identifierUris,omitempty"` IsEnabled bool `json:"isEnabled,omitempty" bson:"isEnabled,omitempty"` TokenEncryptionKeyID bool `json:"tokenEncryptionKeyId,omitempty" bson:"tokenEncryptionKeyId,omitempty"` } `json:"servicePrincipalLockConfiguration,omitempty" bson:"servicePrincipalLockConfiguration,omitempty"` SignInAudience string `json:"signInAudience,omitempty" bson:"signInAudience,omitempty"` Spa *struct { RedirectUris *[]string `json:"redirectUris,omitempty" bson:"redirectUris,omitempty"` } `json:"spa,omitempty" bson:"spa,omitempty"` Tags *[]string `json:"tags,omitempty" bson:"tags,omitempty"` TenantName string `json:"tenantName,omitempty" bson:"tenantName,omitempty"` TokenEncryptionKeyID *string `json:"tokenEncryptionKeyId,omitempty" bson:"tokenEncryptionKeyId,omitempty"` UniqueName any `json:"uniqueName,omitempty" bson:"uniqueName,omitempty"` VerifiedPublisher *struct { AddedDateTime any `json:"addedDateTime,omitempty" bson:"addedDateTime,omitempty"` DisplayName any `json:"displayName,omitempty" bson:"displayName,omitempty"` VerifiedPublisherID any `json:"verifiedPublisherId,omitempty" bson:"verifiedPublisherId,omitempty"` } `json:"verifiedPublisher,omitempty" bson:"verifiedPublisher,omitempty"` Web *struct { HomePageURL *string `json:"homePageUrl,omitempty" bson:"homePageUrl,omitempty"` ImplicitGrantSettings struct { EnableAccessTokenIssuance bool `json:"enableAccessTokenIssuance,omitempty" bson:"enableAccessTokenIssuance,omitempty"` EnableIDTokenIssuance bool `json:"enableIdTokenIssuance,omitempty" bson:"enableIdTokenIssuance,omitempty"` } `json:"implicitGrantSettings,omitempty" bson:"implicitGrantSettings,omitempty"` LogoutURL any `json:"logoutUrl,omitempty" bson:"logoutUrl,omitempty"` RedirectURISettings *[]struct { Index any `json:"index,omitempty" bson:"index,omitempty"` URI string `json:"uri,omitempty" bson:"uri,omitempty"` } `json:"redirectUriSettings,omitempty" bson:"redirectUriSettings,omitempty"` RedirectUris []string `json:"redirectUris,omitempty" bson:"redirectUris,omitempty"` } `json:"web,omitempty" bson:"web,omitempty"` Windows any `json:"windows,omitempty" bson:"windows,omitempty"` MongoDbId string `json:"_id,omitempty" bson:"_id,omitempty"` LastAzureSync time.Time `json:"lastAzureSync,omitempty" bson:"lastAzureSync,omitempty" fake:"-"` LastDBSync time.Time `json:"lastDatabaseSync,omitempty" bson:"lastDatabaseSync,omitempty" fake:"-"` }
func ListEntraAppRegistrations ¶
func ListEntraAppRegistrations(token *lib.AzureMultiAuthToken) []EntraApplication
type EntraExpiringCredential ¶
type EntraExpiringCredential struct { AppRegAppID string `json:"appId,omitempty" bson:"appId,omitempty"` AppRegDescription string `json:"description,omitempty" bson:"description,omitempty"` AppRegDisplayName string `json:"appRegDisplayName,omitempty" bson:"appRegDisplayName,omitempty"` AppRegCreatedDateTime time.Time `json:"appRegCreatedDateTime,omitempty" bson:"appRegCreatedDateTime,omitempty"` AppRegObjectID string `json:"appRegObjectId,omitempty" bson:"appRegObjectId,omitempty"` CredCustomKeyIdentifier string `json:"credCustomKeyIdentifier,omitempty" bson:"credCustomKeyIdentifier,omitempty"` CredDisplayName string `json:"credDisplayName,omitempty" bson:"credDisplayName,omitempty"` CredEndDateTime time.Time `json:"credEndDateTime,omitempty" bson:"credEndDateTime,omitempty"` CredID string `json:"credId,omitempty" bson:"credId,omitempty"` CredKeyType string `json:"credKeyType,omitempty" bson:"credKeyType,omitempty"` CredKeyUsage string `json:"credKeyUsage,omitempty" bson:"credKeyUsage,omitempty"` CredStartDateTime time.Time `json:"credStartDateTime,omitempty" bson:"credStartDateTime,omitempty"` CredType string `json:"credType,omitempty" bson:"credType,omitempty"` MongoDbId string `json:"_id,omitempty" bson:"_id,omitempty"` TenantName string `json:"tenantName,omitempty" bson:"tenantName,omitempty"` LastAzureSync time.Time `json:"lastAzureSync,omitempty" bson:"lastAzureSync,omitempty" fake:"-"` LastDBSync time.Time `json:"lastDatabaseSync,omitempty" bson:"lastDatabaseSync,omitempty" fake:"-"` }
func GetAppRegExpiringCredData ¶
func GetAppRegExpiringCredData(apps []EntraApplication, daysUntilExpired int) (expiringCredentials []EntraExpiringCredential)
type EntraListApplicationsResponse ¶
type EntraListApplicationsResponse struct { OdataContext string `json:"@odata.context,omitempty" bson:"@odata.context,omitempty"` NextLink string `json:"@odata.nextLink,omitempty" bson:"@odata.nextLink,omitempty"` Value []EntraApplication `json:"value,omitempty" bson:"value,omitempty"` }
type EntraRoleDefinition ¶
type EntraRoleDefinition struct { Description string `json:"description,omitempty" bson:"description,omitempty"` DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` IsBuiltIn bool `json:"isBuiltIn,omitempty" bson:"isBuiltIn,omitempty"` IsEnabled bool `json:"isEnabled,omitempty" bson:"isEnabled,omitempty"` RolePermissions []struct { AllowedResourceActions []string `json:"allowedResourceActions,omitempty" bson:"allowedResourceActions,omitempty"` Condition *string `json:"condition,omitempty" bson:"condition,omitempty"` } `json:"rolePermissions,omitempty" bson:"rolePermissions,omitempty"` }
func ListEntraRoleDefinitions ¶
func ListEntraRoleDefinitions(mat lib.AzureMultiAuthToken) ([]EntraRoleDefinition, error)
type GetAllImageGalleriesForSubscriptionResponse ¶
type GetAllImageGalleriesForSubscriptionResponse struct {
Value []ImageGallery `json:"value"`
}
type IPAddressItem ¶
type IPAddressList ¶
type IPAddressList struct { PrivateAddresses []IPAddressItem PublicAddresses []IPAddressItem }
func ListAllTenantIpAddresses ¶
func ListAllTenantIpAddresses(token lib.AzureMultiAuthToken) IPAddressList
func ListAllVnetIPAddresses ¶
func ListAllVnetIPAddresses(mat lib.AzureMultiAuthToken, vnet Vnet) IPAddressList
type ImageGallery ¶
type ImageGallery struct { ID string `json:"id"` Location string `json:"location"` Name string `json:"name"` SubscriptionId string `json:"subscriptionId"` ResourceGroup string `json:"resourceGroup"` TenantName string `json:"tenantName"` Properties struct { Description string `json:"description,omitempty"` Identifier struct { UniqueName string `json:"uniqueName"` } `json:"identifier"` ProvisioningState string `json:"provisioningState"` SoftDeletePolicy *struct { IsSoftDeleteEnabled bool `json:"isSoftDeleteEnabled"` } `json:"softDeletePolicy,omitempty"` } `json:"properties"` Tags *struct { CitrixCustomerID string `json:"CitrixCustomerId"` CitrixProvisioningSchemeID string `json:"CitrixProvisioningSchemeId"` CitrixResource string `json:"CitrixResource"` CitrixVirtualSiteID string `json:"CitrixVirtualSiteId"` } `json:"tags,omitempty"` Type string `json:"type"` }
func GetAllImageGalleriesForAllConfiguredTenants ¶
func GetAllImageGalleriesForAllConfiguredTenants(tokens lib.AllTenantTokens) (imageGalleries []ImageGallery)
func GetAllImageGalleriesForSubscription ¶
func GetAllImageGalleriesForSubscription(subscriptionId string, mat *lib.AzureMultiAuthToken) (imageGalleries []ImageGallery)
func GetAllImageGalleriesForTenant ¶
func GetAllImageGalleriesForTenant(mat *lib.AzureMultiAuthToken) (imageGalleries []ImageGallery)
type IpList ¶
func GetUniqueIpAddresses ¶
func GetUniqueIpAddresses(dataset []NsgFlowLogRecord) IpList
func (*IpList) FilterSourceIp ¶
func (*IpList) PrintCount ¶
func (m *IpList) PrintCount()
func (*IpList) PrintTable ¶
func (m *IpList) PrintTable()
type ListAllResourcesResponse ¶
type ListAllResourcesResponse struct { Value []ListRspResource `json:"value"` NextLink string `json:"nextLink"` }
type ListEntraRoleDefinitionsResponse ¶
type ListEntraRoleDefinitionsResponse struct { Odata_Context string `json:"@odata.context,omitempty" bson:"@odata.context,omitempty"` Value []EntraRoleDefinition `json:"value,omitempty" bson:"value,omitempty"` }
type ListManagementGroupsResponse ¶
type ListManagementGroupsResponse struct {
Value []ManagementGroup `json:"value"`
}
type ListResourceRoleDefinitionsResponse ¶
type ListResourceRoleDefinitionsResponse struct {
Value []ResourceRoleDefinition `json:"value"`
}
type ListRoleAssignmentScheduleInstancesResponse ¶
type ListRoleAssignmentScheduleInstancesResponse struct {
Value []RoleAssignmentScheduleInstance `json:"value,omitempty" bson:"value,omitempty"`
}
type ListRoleAssignmentSchedulesResponse ¶
type ListRoleAssignmentSchedulesResponse struct { Odata_Context string `json:"@odata.context,omitempty" bson:"@odata.context,omitempty"` Odata_NextLink string `json:"@odata.nextLink,omitempty" bson:"@odata.nextLink,omitempty"` Value []RoleAssignmentSchedule `json:"value,omitempty" bson:"value,omitempty"` }
type ListRoleEligibilityScheduleInstancesResponse ¶
type ListRoleEligibilityScheduleInstancesResponse struct {
Value []RoleEligibilityScheduleInstance `json:"value,omitempty" bson:"value,omitempty"`
}
type ListRspResource ¶
type ListRspResource struct { ID string `json:"id"` Identity *struct { PrincipalID string `json:"principalId"` TenantID string `json:"tenantId"` Type string `json:"type"` } `json:"identity,omitempty"` Location string `json:"location"` ManagedBy string `json:"managedBy,omitempty"` Name string `json:"name"` Sku *struct { Name string `json:"name"` Tier string `json:"tier"` } `json:"sku,omitempty"` Tags map[string]string `json:"tags,omitempty"` Type string `json:"type"` Zones []string `json:"zones,omitempty"` }
type ListSubnetsResponse ¶
type ListSubnetsResponse struct {
Value []SubnetResponse `json:"value"`
}
type LogAnalyticsTables ¶
type LogAnalyticsTables []struct { ID string `json:"id"` Name string `json:"name"` Properties struct { ArchiveRetentionInDays int `json:"archiveRetentionInDays"` Plan string `json:"plan"` ProvisioningState string `json:"provisioningState"` RetentionInDays int `json:"retentionInDays"` RetentionInDaysAsDefault bool `json:"retentionInDaysAsDefault"` Schema struct { Columns []struct { IsDefaultDisplay bool `json:"isDefaultDisplay"` IsHidden bool `json:"isHidden"` Name string `json:"name"` Type string `json:"type"` } `json:"columns,omitempty"` IsTroubleshootingAllowed bool `json:"isTroubleshootingAllowed"` Name string `json:"name"` Solutions []string `json:"solutions"` StandardColumns []struct { Description string `json:"description"` IsDefaultDisplay bool `json:"isDefaultDisplay"` IsHidden bool `json:"isHidden"` Name string `json:"name"` Type string `json:"type"` } `json:"standardColumns"` TableSubType string `json:"tableSubType"` TableType string `json:"tableType"` } `json:"schema"` TotalRetentionInDays int `json:"totalRetentionInDays"` TotalRetentionInDaysAsDefault bool `json:"totalRetentionInDaysAsDefault"` } `json:"properties"` }
type ManagementGroup ¶
type ManagementGroup struct { ID string `json:"id"` Name string `json:"name"` Properties struct { DisplayName string `json:"displayName"` TenantID string `json:"tenantId"` } `json:"properties"` Type string `json:"type"` }
func ListManagementGroups ¶
func ListManagementGroups(token *lib.AzureMultiAuthToken) ([]ManagementGroup, error)
type NsgFlowLog ¶
type NsgFlowLog struct {
Records []NsgFlowLogRecord
}
func GetFlowLogData ¶
func GetFlowLogData(path string) NsgFlowLog
type NsgFlowLogRecord ¶
type NsgFlowLogRecord struct { Category string `json:"category"` MacAddress string `json:"macAddress"` OperationName string `json:"operationName"` Properties struct { Version int `json:"Version"` Flows []struct { Flows []struct { FlowTuples []string `json:"flowTuples"` Mac string `json:"mac"` } `json:"flows"` Rule string `json:"rule"` } `json:"flows"` } `json:"properties"` ResourceID string `json:"resourceId"` SystemID string `json:"systemId"` Time time.Time `json:"time"` }
func (*NsgFlowLogRecord) PrintJSON ¶
func (r *NsgFlowLogRecord) PrintJSON()
type ProcessedSubnet ¶
type ProcessedSubnet struct { ID string `json:"id"` Name string `json:"name"` VnetName string `json:"vnetName"` Properties struct { AddressPrefix string `json:"addressPrefix"` Delegations []struct { ID string `json:"id"` Name string `json:"name"` Properties struct { Actions []string `json:"actions"` ProvisioningState string `json:"provisioningState"` ServiceName string `json:"serviceName"` } `json:"properties"` Type string `json:"type"` } `json:"delegations"` IpConfigurations []struct { ID string `json:"id"` } `json:"ipConfigurations"` NetworkSecurityGroup struct { ID string `json:"id"` } `json:"networkSecurityGroup"` PrivateEndpointNetworkPolicies string `json:"privateEndpointNetworkPolicies"` PrivateLinkServiceNetworkPolicies string `json:"privateLinkServiceNetworkPolicies"` ProvisioningState string `json:"provisioningState"` Purpose string `json:"purpose"` ServiceEndpoints []any `json:"serviceEndpoints"` } `json:"properties"` Type string `json:"type"` }
type ProcessedVnetPeering ¶
type ProcessedVnetPeering struct { Name string `json:"name"` RemoteAddressSpace []string `json:"remoteAddressSpace"` RemoteGateways []string `json:"remoteGateways"` RemoteVirtualNetwork string `json:"remoteVirtualNetwork"` UseRemoteGateways bool `json:"useRemoteGateways"` AllowForwardedTraffic bool `json:"allowForwardedTraffic"` AllowGatewayTransit bool `json:"allowGatewayTransit"` AllowVirtualNetworkAccess bool `json:"allowVirtualNetworkAccess"` PeeringState string `json:"peeringState"` ProvisioningState string `json:"provisioningState"` PeeringSyncLevel string `json:"peeringSyncLevel"` }
type PublicIpAddress ¶
type PublicIpAddress struct { Etag string `json:"etag"` ID string `json:"id"` Location string `json:"location"` Name string `json:"name"` Properties struct { DdosSettings struct { ProtectionMode string `json:"protectionMode"` } `json:"ddosSettings"` IdleTimeoutInMinutes int `json:"idleTimeoutInMinutes"` IpAddress string `json:"ipAddress"` IpConfiguration struct { ID string `json:"id"` } `json:"ipConfiguration"` IpTags []any `json:"ipTags"` ProvisioningState string `json:"provisioningState"` PublicIpAddressVersion string `json:"publicIPAddressVersion"` PublicIpAllocationMethod string `json:"publicIPAllocationMethod"` ResourceGuid string `json:"resourceGuid"` } `json:"properties"` Sku struct { Name string `json:"name"` Tier string `json:"tier"` } `json:"sku"` Tags map[string]string `json:"tags"` Type string `json:"type"` }
type ResourceGraphGetIpsResponse ¶ added in v0.1.17
type ResourceGraphGetIpsResponse struct { Count float64 `json:"count"` Data []AzureResourceIPConfig `json:"data"` Facets []interface{} `json:"facets"` ResultTruncated string `json:"resultTruncated"` SkipToken string `json:"$skipToken"` TotalRecords float64 `json:"totalRecords"` }
type ResourceGraphResponse ¶
type ResourceGroup ¶
type ResourceGroup struct { ExtendedLocation any `json:"extendedLocation"` ID string `json:"id"` Identity any `json:"identity"` Kind string `json:"kind"` Location string `json:"location"` ManagedBy string `json:"managedBy"` Name string `json:"name"` Plan any `json:"plan"` Properties struct { ProvisioningState string `json:"provisioningState"` } `json:"properties"` ResourceGroup string `json:"resourceGroup"` Sku any `json:"sku"` SubscriptionID string `json:"subscriptionId"` Tags map[string]string `json:"tags"` TenantID string `json:"tenantId"` Type string `json:"type"` Zones any `json:"zones"` TenantName string `json:"tenantName"` LastAzureSync time.Time `json:"lastAzureSync,omitempty" bson:"lastAzureSync,omitempty"` LastDBSync time.Time `json:"lastDatabaseSync,omitempty" bson:"lastDatabaseSync,omitempty"` }
func GetAllResGrpsForAllConfiguredTenants ¶
func GetAllResGrpsForAllConfiguredTenants(opts *lib.GetAllResourcesForAllConfiguredTenantsOptions, tokens lib.AllTenantTokens) (allResGrps []ResourceGroup)
func GetAllTenantResourceGroups ¶
func GetAllTenantResourceGroups(outputFile string, token *lib.AzureMultiAuthToken) (allResGrps []ResourceGroup)
type ResourceRoleDefinition ¶
type ResourceRoleDefinition struct { ID string `json:"id"` Name string `json:"name"` Properties struct { AssignableScopes []string `json:"assignableScopes"` CreatedBy any `json:"createdBy"` CreatedOn time.Time `json:"createdOn"` Description string `json:"description"` Permissions []struct { Actions []string `json:"actions"` DataActions []any `json:"dataActions"` NotActions []any `json:"notActions"` NotDataActions []any `json:"notDataActions"` } `json:"permissions"` RoleName string `json:"roleName"` Type string `json:"type"` UpdatedBy any `json:"updatedBy"` UpdatedOn time.Time `json:"updatedOn"` } `json:"properties"` Type string `json:"type"` }
type ResponseBody ¶
type ResponseBody struct {
Value LogAnalyticsTables `json:"value"`
}
type RoleAssignmentSchedule ¶
type RoleAssignmentSchedule struct { ActivatedUsing any `json:"activatedUsing,omitempty" bson:"activatedUsing,omitempty"` AppScopeID any `json:"appScopeId,omitempty" bson:"appScopeId,omitempty"` AssignmentType string `json:"assignmentType,omitempty" bson:"assignmentType,omitempty"` CreatedDateTime *time.Time `json:"createdDateTime,omitempty" bson:"createdDateTime,omitempty"` CreatedUsing *string `json:"createdUsing,omitempty" bson:"createdUsing,omitempty"` DirectoryScopeID string `json:"directoryScopeId,omitempty" bson:"directoryScopeId,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` MemberType string `json:"memberType,omitempty" bson:"memberType,omitempty"` ModifiedDateTime any `json:"modifiedDateTime,omitempty" bson:"modifiedDateTime,omitempty"` Principal RolePrinciple `json:"principal,omitempty" bson:"principal,omitempty"` PrincipalID string `json:"principalId,omitempty" bson:"principalId,omitempty"` RoleDefinition struct { Description string `json:"description,omitempty" bson:"description,omitempty"` DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` IsBuiltIn bool `json:"isBuiltIn,omitempty" bson:"isBuiltIn,omitempty"` IsEnabled bool `json:"isEnabled,omitempty" bson:"isEnabled,omitempty"` ResourceScopes []any `json:"resourceScopes,omitempty" bson:"resourceScopes,omitempty"` RolePermissions []any `json:"rolePermissions,omitempty" bson:"rolePermissions,omitempty"` TemplateID string `json:"templateId,omitempty" bson:"templateId,omitempty"` Version any `json:"version,omitempty" bson:"version,omitempty"` } `json:"roleDefinition,omitempty" bson:"roleDefinition,omitempty"` RoleDefinitionID string `json:"roleDefinitionId,omitempty" bson:"roleDefinitionId,omitempty"` ScheduleInfo struct { Expiration struct { Duration any `json:"duration,omitempty" bson:"duration,omitempty"` EndDateTime *time.Time `json:"endDateTime,omitempty" bson:"endDateTime,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` } `json:"expiration,omitempty" bson:"expiration,omitempty"` Recurrence any `json:"recurrence,omitempty" bson:"recurrence,omitempty"` StartDateTime time.Time `json:"startDateTime,omitempty" bson:"startDateTime,omitempty"` } `json:"scheduleInfo,omitempty" bson:"scheduleInfo,omitempty"` Status string `json:"status,omitempty" bson:"status,omitempty"` }
type RoleAssignmentScheduleInstance ¶
type RoleAssignmentScheduleInstance struct { ID string `json:"id,omitempty" bson:"_id,omitempty"` Name string `json:"name,omitempty" bson:"name,omitempty"` Properties struct { AssignmentType string `json:"assignmentType,omitempty" bson:"assignmentType,omitempty"` CreatedOn time.Time `json:"createdOn,omitempty" bson:"createdOn,omitempty"` EndDateTime time.Time `json:"endDateTime,omitempty" bson:"endDateTime,omitempty"` ExpandedProperties struct { Principal struct { DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` } `json:"principal,omitempty" bson:"principal,omitempty"` RoleDefinition struct { DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` } `json:"roleDefinition,omitempty" bson:"roleDefinition,omitempty"` Scope struct { DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` } `json:"scope,omitempty" bson:"scope,omitempty"` } `json:"expandedProperties,omitempty" bson:"expandedProperties,omitempty"` LinkedRoleEligibilityScheduleID string `json:"linkedRoleEligibilityScheduleId,omitempty" bson:"linkedRoleEligibilityScheduleId,omitempty"` LinkedRoleEligibilityScheduleInstanceID string `json:"linkedRoleEligibilityScheduleInstanceId,omitempty" bson:"linkedRoleEligibilityScheduleInstanceId,omitempty"` MemberType string `json:"memberType,omitempty" bson:"memberType,omitempty"` OriginRoleAssignmentID string `json:"originRoleAssignmentId,omitempty" bson:"originRoleAssignmentId,omitempty"` PrincipalID string `json:"principalId,omitempty" bson:"principalId,omitempty"` PrincipalType string `json:"principalType,omitempty" bson:"principalType,omitempty"` RoleAssignmentScheduleID string `json:"roleAssignmentScheduleId,omitempty" bson:"roleAssignmentScheduleId,omitempty"` RoleDefinitionID string `json:"roleDefinitionId,omitempty" bson:"roleDefinitionId,omitempty"` Scope string `json:"scope,omitempty" bson:"scope,omitempty"` StartDateTime time.Time `json:"startDateTime,omitempty" bson:"startDateTime,omitempty"` Status string `json:"status,omitempty" bson:"status,omitempty"` } `json:"properties,omitempty" bson:"properties,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` ScopeType string `json:"scopeType,omitempty" bson:"scopeType,omitempty"` LastAzureSync time.Time `json:"lastAzureSync,omitempty" bson:"lastAzureSync,omitempty" fake:"-"` LastDBSync time.Time `json:"lastDatabaseSync,omitempty" bson:"lastDatabaseSync,omitempty" fake:"-"` TenantName string `json:"tenantName,omitempty" bson:"tenantName,omitempty" fake:"-"` }
func ListRoleAssignmentScheduleInstances ¶
func ListRoleAssignmentScheduleInstances(scope string, token *lib.AzureMultiAuthToken) ([]RoleAssignmentScheduleInstance, error)
type RoleAssignmentScheduleProcessed ¶
type RoleAssignmentScheduleProcessed struct { ActivatedUsing any `json:"activatedUsing,omitempty" bson:"activatedUsing,omitempty"` Principal struct { Odata_Type string `json:"@odata.type,omitempty" bson:"@odata.type,omitempty"` AccountEnabled bool `json:"accountEnabled,omitempty" bson:"accountEnabled,omitempty"` AppDescription any `json:"appDescription,omitempty" bson:"appDescription,omitempty"` AppDisplayName string `json:"appDisplayName,omitempty" bson:"appDisplayName,omitempty"` AppID string `json:"appId,omitempty" bson:"appId,omitempty"` Description *string `json:"description,omitempty" bson:"description,omitempty"` DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` ManagedIdentityResourceID any `json:"managedIdentityResourceId,omitempty" bson:"managedIdentityResourceId,omitempty"` ServicePrincipalNames []string `json:"servicePrincipalNames,omitempty" bson:"servicePrincipalNames,omitempty"` ServicePrincipalType string `json:"servicePrincipalType,omitempty" bson:"servicePrincipalType,omitempty"` Tags []string `json:"tags,omitempty" bson:"tags,omitempty"` UserPrincipalName string `json:"userPrincipalName,omitempty" bson:"userPrincipalName,omitempty"` UserType string `json:"userType,omitempty" bson:"userType,omitempty"` } `json:"principal,omitempty" bson:"principal,omitempty"` PrincipalID string `json:"principalId,omitempty" bson:"principalId,omitempty"` RoleDefinition struct { Description string `json:"description,omitempty" bson:"description,omitempty"` DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` IsBuiltIn bool `json:"isBuiltIn,omitempty" bson:"isBuiltIn,omitempty"` IsEnabled bool `json:"isEnabled,omitempty" bson:"isEnabled,omitempty"` ResourceScopes []any `json:"resourceScopes,omitempty" bson:"resourceScopes,omitempty"` RolePermissions []any `json:"rolePermissions,omitempty" bson:"rolePermissions,omitempty"` } `json:"roleDefinition,omitempty" bson:"roleDefinition,omitempty"` RoleDefinitionID string `json:"roleDefinitionId,omitempty" bson:"roleDefinitionId,omitempty"` }
type RoleEligibilityScheduleInstance ¶
type RoleEligibilityScheduleInstance struct { ID string `json:"id,omitempty" bson:"id,omitempty"` Name string `json:"name,omitempty" bson:"name,omitempty"` Properties struct { CreatedOn time.Time `json:"createdOn,omitempty" bson:"createdOn,omitempty"` EndDateTime time.Time `json:"endDateTime,omitempty" bson:"endDateTime,omitempty"` ExpandedProperties struct { Principal struct { DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` } `json:"principal,omitempty" bson:"principal,omitempty"` RoleDefinition struct { DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` } `json:"roleDefinition,omitempty" bson:"roleDefinition,omitempty"` Scope struct { DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` } `json:"scope,omitempty" bson:"scope,omitempty"` } `json:"expandedProperties,omitempty" bson:"expandedProperties,omitempty"` MemberType string `json:"memberType,omitempty" bson:"memberType,omitempty"` PrincipalID string `json:"principalId,omitempty" bson:"principalId,omitempty"` PrincipalType string `json:"principalType,omitempty" bson:"principalType,omitempty"` RoleDefinitionID string `json:"roleDefinitionId,omitempty" bson:"roleDefinitionId,omitempty"` RoleEligibilityScheduleID string `json:"roleEligibilityScheduleId,omitempty" bson:"roleEligibilityScheduleId,omitempty"` Scope string `json:"scope,omitempty" bson:"scope,omitempty"` StartDateTime time.Time `json:"startDateTime,omitempty" bson:"startDateTime,omitempty"` Status string `json:"status,omitempty" bson:"status,omitempty"` } `json:"properties,omitempty" bson:"properties,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` ScopeType string `json:"scopeType,omitempty" bson:"scopeType,omitempty"` LastAzureSync time.Time `json:"lastAzureSync,omitempty" bson:"lastAzureSync,omitempty" fake:"-"` LastDBSync time.Time `json:"lastDatabaseSync,omitempty" bson:"lastDatabaseSync,omitempty" fake:"-"` TenantName string `json:"tenantName,omitempty" bson:"tenantName,omitempty" fake:"-"` }
func ListRoleEligibilityScheduleInstances ¶
func ListRoleEligibilityScheduleInstances(scope string, token *lib.AzureMultiAuthToken) ([]RoleEligibilityScheduleInstance, error)
type RolePrinciple ¶
type RolePrinciple struct { Odata_Type string `json:"@odata.type,omitempty" bson:"@odata.type,omitempty"` AccountEnabled bool `json:"accountEnabled,omitempty" bson:"accountEnabled,omitempty"` // AddIns []any `json:"addIns,omitempty" bson:"addIns,omitempty"` // AgeGroup any `json:"ageGroup,omitempty" bson:"ageGroup,omitempty"` // AlternativeNames []any `json:"alternativeNames,omitempty" bson:"alternativeNames,omitempty"` // AlternativeSecurityIds []any `json:"alternativeSecurityIds,omitempty" bson:"alternativeSecurityIds,omitempty"` // API *struct { // ResourceSpecificApplicationPermissions []any `json:"resourceSpecificApplicationPermissions,omitempty" bson:"resourceSpecificApplicationPermissions,omitempty"` // } `json:"api,omitempty" bson:"api,omitempty"` // AppData any `json:"appData,omitempty" bson:"appData,omitempty"` AppDescription any `json:"appDescription,omitempty" bson:"appDescription,omitempty"` AppDisplayName string `json:"appDisplayName,omitempty" bson:"appDisplayName,omitempty"` AppID string `json:"appId,omitempty" bson:"appId,omitempty"` // AppMetadata any `json:"appMetadata,omitempty" bson:"appMetadata,omitempty"` // AppOwnerOrganizationID string `json:"appOwnerOrganizationId,omitempty" bson:"appOwnerOrganizationId,omitempty"` // AppRoleAssignmentRequired bool `json:"appRoleAssignmentRequired,omitempty" bson:"appRoleAssignmentRequired,omitempty"` // AppRoles []any `json:"appRoles,omitempty" bson:"appRoles,omitempty"` // ApplicationTemplateID any `json:"applicationTemplateId,omitempty" bson:"applicationTemplateId,omitempty"` // AssignedLicenses []struct { // DisabledPlans []string `json:"disabledPlans,omitempty" bson:"disabledPlans,omitempty"` // SkuID string `json:"skuId,omitempty" bson:"skuId,omitempty"` // } `json:"assignedLicenses,omitempty" bson:"assignedLicenses,omitempty"` // AssignedPlans []struct { // AssignedDateTime time.Time `json:"assignedDateTime,omitempty" bson:"assignedDateTime,omitempty"` // CapabilityStatus string `json:"capabilityStatus,omitempty" bson:"capabilityStatus,omitempty"` // Service string `json:"service,omitempty" bson:"service,omitempty"` // ServicePlanID string `json:"servicePlanId,omitempty" bson:"servicePlanId,omitempty"` // } `json:"assignedPlans,omitempty" bson:"assignedPlans,omitempty"` // AuthorizationInfo *struct { // CertificateUserIds []any `json:"certificateUserIds,omitempty" bson:"certificateUserIds,omitempty"` // } `json:"authorizationInfo,omitempty" bson:"authorizationInfo,omitempty"` // BusinessPhones []any `json:"businessPhones,omitempty" bson:"businessPhones,omitempty"` // Certification any `json:"certification,omitempty" bson:"certification,omitempty"` // City any `json:"city,omitempty" bson:"city,omitempty"` // Classification any `json:"classification,omitempty" bson:"classification,omitempty"` // CloudRealtimeCommunicationInfo *struct { // CloudMsRtcOwnerUrn any `json:"cloudMSRtcOwnerUrn,omitempty" bson:"cloudMSRtcOwnerUrn,omitempty"` // CloudMsRtcPolicyAssignments []string `json:"cloudMSRtcPolicyAssignments,omitempty" bson:"cloudMSRtcPolicyAssignments,omitempty"` // CloudMsRtcPool *string `json:"cloudMSRtcPool,omitempty" bson:"cloudMSRtcPool,omitempty"` // CloudMsRtcServiceAttributes *struct { // ApplicationOption any `json:"applicationOption,omitempty" bson:"applicationOption,omitempty"` // DeploymentLocator string `json:"deploymentLocator,omitempty" bson:"deploymentLocator,omitempty"` // HideFromAddressList any `json:"hideFromAddressList,omitempty" bson:"hideFromAddressList,omitempty"` // OptionFlag float64 `json:"optionFlag,omitempty" bson:"optionFlag,omitempty"` // } `json:"cloudMSRtcServiceAttributes,omitempty" bson:"cloudMSRtcServiceAttributes,omitempty"` // CloudSipLine any `json:"cloudSipLine,omitempty" bson:"cloudSipLine,omitempty"` // CloudSipProxyAddress *string `json:"cloudSipProxyAddress,omitempty" bson:"cloudSipProxyAddress,omitempty"` // IsSipEnabled *bool `json:"isSipEnabled,omitempty" bson:"isSipEnabled,omitempty"` // } `json:"cloudRealtimeCommunicationInfo,omitempty" bson:"cloudRealtimeCommunicationInfo,omitempty"` // CompanyName any `json:"companyName,omitempty" bson:"companyName,omitempty"` // ConsentProvidedForMinor any `json:"consentProvidedForMinor,omitempty" bson:"consentProvidedForMinor,omitempty"` // Country any `json:"country,omitempty" bson:"country,omitempty"` // CreatedByAppID string `json:"createdByAppId,omitempty" bson:"createdByAppId,omitempty"` // CreatedDateTime time.Time `json:"createdDateTime,omitempty" bson:"createdDateTime,omitempty"` // CreationType any `json:"creationType,omitempty" bson:"creationType,omitempty"` // DeletedDateTime any `json:"deletedDateTime,omitempty" bson:"deletedDateTime,omitempty"` // Department *string `json:"department,omitempty" bson:"department,omitempty"` Description *string `json:"description,omitempty" bson:"description,omitempty"` // DeviceKeys []any `json:"deviceKeys,omitempty" bson:"deviceKeys,omitempty"` // DeviceManagementAppType any `json:"deviceManagementAppType,omitempty" bson:"deviceManagementAppType,omitempty"` // DisabledByMicrosoftStatus any `json:"disabledByMicrosoftStatus,omitempty" bson:"disabledByMicrosoftStatus,omitempty"` DisplayName string `json:"displayName,omitempty" bson:"displayName,omitempty"` // EmployeeHireDate any `json:"employeeHireDate,omitempty" bson:"employeeHireDate,omitempty"` // EmployeeID any `json:"employeeId,omitempty" bson:"employeeId,omitempty"` // EmployeeLeaveDateTime any `json:"employeeLeaveDateTime,omitempty" bson:"employeeLeaveDateTime,omitempty"` // EmployeeOrgData any `json:"employeeOrgData,omitempty" bson:"employeeOrgData,omitempty"` // EmployeeType any `json:"employeeType,omitempty" bson:"employeeType,omitempty"` // ErrorURL any `json:"errorUrl,omitempty" bson:"errorUrl,omitempty"` // ExpirationDateTime any `json:"expirationDateTime,omitempty" bson:"expirationDateTime,omitempty"` // ExternalUserConvertedOn any `json:"externalUserConvertedOn,omitempty" bson:"externalUserConvertedOn,omitempty"` // ExternalUserInformation *struct { // AcceptedAsMail any `json:"acceptedAsMail,omitempty" bson:"acceptedAsMail,omitempty"` // AcceptedDateTime any `json:"acceptedDateTime,omitempty" bson:"acceptedDateTime,omitempty"` // InviteReplyUrls []any `json:"inviteReplyUrls,omitempty" bson:"inviteReplyUrls,omitempty"` // InviteResources []any `json:"inviteResources,omitempty" bson:"inviteResources,omitempty"` // InvitedAsMail any `json:"invitedAsMail,omitempty" bson:"invitedAsMail,omitempty"` // InvitedDateTime time.Time `json:"invitedDateTime,omitempty" bson:"invitedDateTime,omitempty"` // SignInNames []string `json:"signInNames,omitempty" bson:"signInNames,omitempty"` // } `json:"externalUserInformation,omitempty" bson:"externalUserInformation,omitempty"` // ExternalUserState any `json:"externalUserState,omitempty" bson:"externalUserState,omitempty"` // ExternalUserStateChangeDateTime any `json:"externalUserStateChangeDateTime,omitempty" bson:"externalUserStateChangeDateTime,omitempty"` // FaxNumber any `json:"faxNumber,omitempty" bson:"faxNumber,omitempty"` // GivenName *string `json:"givenName,omitempty" bson:"givenName,omitempty"` // GroupTypes []any `json:"groupTypes,omitempty" bson:"groupTypes,omitempty"` // Homepage *string `json:"homepage,omitempty" bson:"homepage,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` // Identities []struct { // Issuer string `json:"issuer,omitempty" bson:"issuer,omitempty"` // IssuerAssignedID string `json:"issuerAssignedId,omitempty" bson:"issuerAssignedId,omitempty"` // SignInType string `json:"signInType,omitempty" bson:"signInType,omitempty"` // } `json:"identities,omitempty" bson:"identities,omitempty"` // ImAddresses []string `json:"imAddresses,omitempty" bson:"imAddresses,omitempty"` // Info *struct { // LogoURL any `json:"logoUrl,omitempty" bson:"logoUrl,omitempty"` // MarketingURL any `json:"marketingUrl,omitempty" bson:"marketingUrl,omitempty"` // PrivacyStatementURL any `json:"privacyStatementUrl,omitempty" bson:"privacyStatementUrl,omitempty"` // SupportURL any `json:"supportUrl,omitempty" bson:"supportUrl,omitempty"` // TermsOfServiceURL any `json:"termsOfServiceUrl,omitempty" bson:"termsOfServiceUrl,omitempty"` // } `json:"info,omitempty" bson:"info,omitempty"` // InfoCatalogs []any `json:"infoCatalogs,omitempty" bson:"infoCatalogs,omitempty"` // IsAssignableToRole bool `json:"isAssignableToRole,omitempty" bson:"isAssignableToRole,omitempty"` // IsAuthorizationServiceEnabled bool `json:"isAuthorizationServiceEnabled,omitempty" bson:"isAuthorizationServiceEnabled,omitempty"` // IsLicenseReconciliationNeeded bool `json:"isLicenseReconciliationNeeded,omitempty" bson:"isLicenseReconciliationNeeded,omitempty"` // IsManagementRestricted any `json:"isManagementRestricted,omitempty" bson:"isManagementRestricted,omitempty"` IsResourceAccount any `json:"isResourceAccount,omitempty" bson:"isResourceAccount,omitempty"` // JobTitle any `json:"jobTitle,omitempty" bson:"jobTitle,omitempty"` // KeyCredentials []any `json:"keyCredentials,omitempty" bson:"keyCredentials,omitempty"` // LegalAgeGroupClassification any `json:"legalAgeGroupClassification,omitempty" bson:"legalAgeGroupClassification,omitempty"` // LoginURL any `json:"loginUrl,omitempty" bson:"loginUrl,omitempty"` // LogoutURL any `json:"logoutUrl,omitempty" bson:"logoutUrl,omitempty"` // Mail *string `json:"mail,omitempty" bson:"mail,omitempty"` // MailEnabled bool `json:"mailEnabled,omitempty" bson:"mailEnabled,omitempty"` // MailNickname string `json:"mailNickname,omitempty" bson:"mailNickname,omitempty"` ManagedIdentityResourceID any `json:"managedIdentityResourceId,omitempty" bson:"managedIdentityResourceId,omitempty"` // MembershipRule any `json:"membershipRule,omitempty" bson:"membershipRule,omitempty"` // MembershipRuleProcessingState any `json:"membershipRuleProcessingState,omitempty" bson:"membershipRuleProcessingState,omitempty"` // MicrosoftPolicyGroup any `json:"microsoftPolicyGroup,omitempty" bson:"microsoftPolicyGroup,omitempty"` // MobilePhone any `json:"mobilePhone,omitempty" bson:"mobilePhone,omitempty"` // NetID string `json:"netId,omitempty" bson:"netId,omitempty"` // Notes any `json:"notes,omitempty" bson:"notes,omitempty"` // NotificationEmailAddresses []any `json:"notificationEmailAddresses,omitempty" bson:"notificationEmailAddresses,omitempty"` // OfficeLocation any `json:"officeLocation,omitempty" bson:"officeLocation,omitempty"` // OnPremisesDistinguishedName *string `json:"onPremisesDistinguishedName,omitempty" bson:"onPremisesDistinguishedName,omitempty"` // OnPremisesDomainName *string `json:"onPremisesDomainName,omitempty" bson:"onPremisesDomainName,omitempty"` // OnPremisesExtensionAttributes *struct { // ExtensionAttribute1 any `json:"extensionAttribute1,omitempty" bson:"extensionAttribute1,omitempty"` // ExtensionAttribute10 any `json:"extensionAttribute10,omitempty" bson:"extensionAttribute10,omitempty"` // ExtensionAttribute11 any `json:"extensionAttribute11,omitempty" bson:"extensionAttribute11,omitempty"` // ExtensionAttribute12 any `json:"extensionAttribute12,omitempty" bson:"extensionAttribute12,omitempty"` // ExtensionAttribute13 any `json:"extensionAttribute13,omitempty" bson:"extensionAttribute13,omitempty"` // ExtensionAttribute14 any `json:"extensionAttribute14,omitempty" bson:"extensionAttribute14,omitempty"` // ExtensionAttribute15 any `json:"extensionAttribute15,omitempty" bson:"extensionAttribute15,omitempty"` // ExtensionAttribute2 any `json:"extensionAttribute2,omitempty" bson:"extensionAttribute2,omitempty"` // ExtensionAttribute3 any `json:"extensionAttribute3,omitempty" bson:"extensionAttribute3,omitempty"` // ExtensionAttribute4 any `json:"extensionAttribute4,omitempty" bson:"extensionAttribute4,omitempty"` // ExtensionAttribute5 any `json:"extensionAttribute5,omitempty" bson:"extensionAttribute5,omitempty"` // ExtensionAttribute6 any `json:"extensionAttribute6,omitempty" bson:"extensionAttribute6,omitempty"` // ExtensionAttribute7 any `json:"extensionAttribute7,omitempty" bson:"extensionAttribute7,omitempty"` // ExtensionAttribute8 any `json:"extensionAttribute8,omitempty" bson:"extensionAttribute8,omitempty"` // ExtensionAttribute9 any `json:"extensionAttribute9,omitempty" bson:"extensionAttribute9,omitempty"` // } `json:"onPremisesExtensionAttributes,omitempty" bson:"onPremisesExtensionAttributes,omitempty"` // OnPremisesImmutableID *string `json:"onPremisesImmutableId,omitempty" bson:"onPremisesImmutableId,omitempty"` // OnPremisesLastSyncDateTime *time.Time `json:"onPremisesLastSyncDateTime,omitempty" bson:"onPremisesLastSyncDateTime,omitempty"` // OnPremisesNetBiosName any `json:"onPremisesNetBiosName,omitempty" bson:"onPremisesNetBiosName,omitempty"` // OnPremisesObjectIdentifier *string `json:"onPremisesObjectIdentifier,omitempty" bson:"onPremisesObjectIdentifier,omitempty"` // OnPremisesProvisioningErrors []any `json:"onPremisesProvisioningErrors,omitempty" bson:"onPremisesProvisioningErrors,omitempty"` // OnPremisesSamAccountName *string `json:"onPremisesSamAccountName,omitempty" bson:"onPremisesSamAccountName,omitempty"` // OnPremisesSecurityIdentifier *string `json:"onPremisesSecurityIdentifier,omitempty" bson:"onPremisesSecurityIdentifier,omitempty"` // OnPremisesSipInfo *struct { // IsSipEnabled bool `json:"isSipEnabled,omitempty" bson:"isSipEnabled,omitempty"` // SipDeploymentLocation any `json:"sipDeploymentLocation,omitempty" bson:"sipDeploymentLocation,omitempty"` // SipPrimaryAddress any `json:"sipPrimaryAddress,omitempty" bson:"sipPrimaryAddress,omitempty"` // } `json:"onPremisesSipInfo,omitempty" bson:"onPremisesSipInfo,omitempty"` // OnPremisesSyncEnabled *bool `json:"onPremisesSyncEnabled,omitempty" bson:"onPremisesSyncEnabled,omitempty"` // OnPremisesUserPrincipalName *string `json:"onPremisesUserPrincipalName,omitempty" bson:"onPremisesUserPrincipalName,omitempty"` // OrganizationID string `json:"organizationId,omitempty" bson:"organizationId,omitempty"` // OtherMails []any `json:"otherMails,omitempty" bson:"otherMails,omitempty"` // PasswordCredentials []any `json:"passwordCredentials,omitempty" bson:"passwordCredentials,omitempty"` // PasswordPolicies *string `json:"passwordPolicies,omitempty" bson:"passwordPolicies,omitempty"` // PasswordProfile *struct { // ForceChangePasswordNextSignIn bool `json:"forceChangePasswordNextSignIn,omitempty" bson:"forceChangePasswordNextSignIn,omitempty"` // ForceChangePasswordNextSignInWithMfa bool `json:"forceChangePasswordNextSignInWithMfa,omitempty" bson:"forceChangePasswordNextSignInWithMfa,omitempty"` // Password any `json:"password,omitempty" bson:"password,omitempty"` // } `json:"passwordProfile,omitempty" bson:"passwordProfile,omitempty"` // PortalSetting any `json:"portalSetting,omitempty" bson:"portalSetting,omitempty"` // PostalCode any `json:"postalCode,omitempty" bson:"postalCode,omitempty"` // PreferredDataLocation any `json:"preferredDataLocation,omitempty" bson:"preferredDataLocation,omitempty"` // PreferredLanguage any `json:"preferredLanguage,omitempty" bson:"preferredLanguage,omitempty"` // PreferredSingleSignOnMode any `json:"preferredSingleSignOnMode,omitempty" bson:"preferredSingleSignOnMode,omitempty"` // PreferredTokenSigningKeyEndDateTime any `json:"preferredTokenSigningKeyEndDateTime,omitempty" bson:"preferredTokenSigningKeyEndDateTime,omitempty"` // PreferredTokenSigningKeyThumbprint any `json:"preferredTokenSigningKeyThumbprint,omitempty" bson:"preferredTokenSigningKeyThumbprint,omitempty"` // ProvisionedPlans []struct { // CapabilityStatus string `json:"capabilityStatus,omitempty" bson:"capabilityStatus,omitempty"` // ProvisioningStatus string `json:"provisioningStatus,omitempty" bson:"provisioningStatus,omitempty"` // Service string `json:"service,omitempty" bson:"service,omitempty"` // } `json:"provisionedPlans,omitempty" bson:"provisionedPlans,omitempty"` // ProxyAddresses []string `json:"proxyAddresses,omitempty" bson:"proxyAddresses,omitempty"` // PublishedPermissionScopes []struct { // AdminConsentDescription string `json:"adminConsentDescription,omitempty" bson:"adminConsentDescription,omitempty"` // AdminConsentDisplayName string `json:"adminConsentDisplayName,omitempty" bson:"adminConsentDisplayName,omitempty"` // ID string `json:"id,omitempty" bson:"id,omitempty"` // IsEnabled bool `json:"isEnabled,omitempty" bson:"isEnabled,omitempty"` // IsPrivate bool `json:"isPrivate,omitempty" bson:"isPrivate,omitempty"` // Type string `json:"type,omitempty" bson:"type,omitempty"` // UserConsentDescription string `json:"userConsentDescription,omitempty" bson:"userConsentDescription,omitempty"` // UserConsentDisplayName string `json:"userConsentDisplayName,omitempty" bson:"userConsentDisplayName,omitempty"` // Value string `json:"value,omitempty" bson:"value,omitempty"` // } `json:"publishedPermissionScopes,omitempty" bson:"publishedPermissionScopes,omitempty"` // PublisherName string `json:"publisherName,omitempty" bson:"publisherName,omitempty"` // RefreshTokensValidFromDateTime time.Time `json:"refreshTokensValidFromDateTime,omitempty" bson:"refreshTokensValidFromDateTime,omitempty"` // ReleaseTrack any `json:"releaseTrack,omitempty" bson:"releaseTrack,omitempty"` // RenewedDateTime time.Time `json:"renewedDateTime,omitempty" bson:"renewedDateTime,omitempty"` // ReplyUrls []string `json:"replyUrls,omitempty" bson:"replyUrls,omitempty"` // ResourceBehaviorOptions []any `json:"resourceBehaviorOptions,omitempty" bson:"resourceBehaviorOptions,omitempty"` // ResourceProvisioningOptions []any `json:"resourceProvisioningOptions,omitempty" bson:"resourceProvisioningOptions,omitempty"` // ResourceSpecificApplicationPermissions []any `json:"resourceSpecificApplicationPermissions,omitempty" bson:"resourceSpecificApplicationPermissions,omitempty"` // SamlMetadataURL any `json:"samlMetadataUrl,omitempty" bson:"samlMetadataUrl,omitempty"` // SamlSloBindingType string `json:"samlSLOBindingType,omitempty" bson:"samlSLOBindingType,omitempty"` // SamlSingleSignOnSettings any `json:"samlSingleSignOnSettings,omitempty" bson:"samlSingleSignOnSettings,omitempty"` // SecurityEnabled bool `json:"securityEnabled,omitempty" bson:"securityEnabled,omitempty"` // SecurityIdentifier string `json:"securityIdentifier,omitempty" bson:"securityIdentifier,omitempty"` ServicePrincipalNames []string `json:"servicePrincipalNames,omitempty" bson:"servicePrincipalNames,omitempty"` ServicePrincipalType string `json:"servicePrincipalType,omitempty" bson:"servicePrincipalType,omitempty"` // ServiceProvisioningErrors []any `json:"serviceProvisioningErrors,omitempty" bson:"serviceProvisioningErrors,omitempty"` // ShowInAddressList any `json:"showInAddressList,omitempty" bson:"showInAddressList,omitempty"` // SignInAudience string `json:"signInAudience,omitempty" bson:"signInAudience,omitempty"` // SignInSessionsValidFromDateTime time.Time `json:"signInSessionsValidFromDateTime,omitempty" bson:"signInSessionsValidFromDateTime,omitempty"` // State any `json:"state,omitempty" bson:"state,omitempty"` // StreetAddress any `json:"streetAddress,omitempty" bson:"streetAddress,omitempty"` // Surname *string `json:"surname,omitempty" bson:"surname,omitempty"` Tags []string `json:"tags,omitempty" bson:"tags,omitempty"` // Theme any `json:"theme,omitempty" bson:"theme,omitempty"` // TokenEncryptionKeyID any `json:"tokenEncryptionKeyId,omitempty" bson:"tokenEncryptionKeyId,omitempty"` // TokensRevocationDateTime any `json:"tokensRevocationDateTime,omitempty" bson:"tokensRevocationDateTime,omitempty"` // UniqueName any `json:"uniqueName,omitempty" bson:"uniqueName,omitempty"` // UsageLocation *string `json:"usageLocation,omitempty" bson:"usageLocation,omitempty"` UserPrincipalName string `json:"userPrincipalName,omitempty" bson:"userPrincipalName,omitempty"` UserType string `json:"userType,omitempty" bson:"userType,omitempty"` }
type SubnetIPConfigResponse ¶
type SubnetIPConfigResponse struct { Etag string `json:"etag"` ID string `json:"id"` Location string `json:"location"` Name string `json:"name"` Properties struct { AddressSpace struct { AddressPrefixes []string `json:"addressPrefixes"` } `json:"addressSpace"` DhcpOptions struct { DnsServers []any `json:"dnsServers"` } `json:"dhcpOptions"` EnableDdosProtection bool `json:"enableDdosProtection"` ProvisioningState string `json:"provisioningState"` ResourceGuid string `json:"resourceGuid"` Subnets []struct { Etag string `json:"etag"` ID string `json:"id"` Name string `json:"name"` Properties struct { AddressPrefix string `json:"addressPrefix"` Delegations []any `json:"delegations"` IpConfigurations []struct { Etag string `json:"etag"` ID string `json:"id"` Name string `json:"name"` Resource IPAddressItem Properties struct { Primary bool `json:"primary,omitempty"` PrivateIpAddress string `json:"privateIPAddress,omitempty"` PrivateIpAddressVersion string `json:"privateIPAddressVersion,omitempty"` PrivateIpAllocationMethod string `json:"privateIPAllocationMethod"` PrivateLinkConnectionProperties *struct { Fqdns []string `json:"fqdns"` GroupID string `json:"groupId"` RequiredMemberName string `json:"requiredMemberName"` } `json:"privateLinkConnectionProperties,omitempty"` ProvisioningState string `json:"provisioningState"` PublicIpAddress *struct { ID string `json:"id"` } `json:"publicIPAddress,omitempty"` Subnet struct { ID string `json:"id"` } `json:"subnet"` } `json:"properties"` Type string `json:"type"` } `json:"ipConfigurations"` NetworkSecurityGroup *struct { ID string `json:"id"` } `json:"networkSecurityGroup,omitempty"` PrivateEndpointNetworkPolicies string `json:"privateEndpointNetworkPolicies"` PrivateEndpoints []struct { ID string `json:"id"` } `json:"privateEndpoints,omitempty"` PrivateLinkServiceNetworkPolicies string `json:"privateLinkServiceNetworkPolicies"` ProvisioningState string `json:"provisioningState"` Purpose string `json:"purpose,omitempty"` RouteTable *struct { ID string `json:"id"` } `json:"routeTable,omitempty"` ServiceEndpoints []struct { Locations []string `json:"locations"` ProvisioningState string `json:"provisioningState"` Service string `json:"service"` } `json:"serviceEndpoints"` } `json:"properties"` Type string `json:"type"` } `json:"subnets"` VirtualNetworkPeerings []struct { Etag string `json:"etag"` ID string `json:"id"` Name string `json:"name"` Properties struct { AllowForwardedTraffic bool `json:"allowForwardedTraffic"` AllowGatewayTransit bool `json:"allowGatewayTransit"` AllowVirtualNetworkAccess bool `json:"allowVirtualNetworkAccess"` DoNotVerifyRemoteGateways bool `json:"doNotVerifyRemoteGateways"` PeerCompleteVnets bool `json:"peerCompleteVnets"` PeeringState string `json:"peeringState"` PeeringSyncLevel string `json:"peeringSyncLevel"` ProvisioningState string `json:"provisioningState"` RemoteAddressSpace struct { AddressPrefixes []string `json:"addressPrefixes"` } `json:"remoteAddressSpace"` RemoteGateways []struct { ID string `json:"id"` } `json:"remoteGateways,omitempty"` RemoteVirtualNetwork struct { ID string `json:"id"` } `json:"remoteVirtualNetwork"` RemoteVirtualNetworkAddressSpace struct { AddressPrefixes []string `json:"addressPrefixes"` } `json:"remoteVirtualNetworkAddressSpace"` ResourceGuid string `json:"resourceGuid"` RouteServiceVips struct { Af36ba888c9943f4A5e38fa90652cc96 string `json:"af36ba88-8c99-43f4-a5e3-8fa90652cc96,omitempty"` } `json:"routeServiceVips"` UseRemoteGateways bool `json:"useRemoteGateways"` } `json:"properties"` Type string `json:"type"` } `json:"virtualNetworkPeerings"` } `json:"properties"` Tags map[string]string `json:"tags"` Type string `json:"type"` }
type SubnetResponse ¶
type SubnetResponse struct { Etag string `json:"etag"` ID string `json:"id"` Name string `json:"name"` Properties struct { AddressPrefix string `json:"addressPrefix"` Delegations []struct { Etag string `json:"etag"` ID string `json:"id"` Name string `json:"name"` Properties struct { Actions []string `json:"actions"` ProvisioningState string `json:"provisioningState"` ServiceName string `json:"serviceName"` } `json:"properties"` Type string `json:"type"` } `json:"delegations"` IpConfigurations []struct { ID string `json:"id"` } `json:"ipConfigurations"` NetworkSecurityGroup struct { ID string `json:"id"` } `json:"networkSecurityGroup"` PrivateEndpointNetworkPolicies string `json:"privateEndpointNetworkPolicies"` PrivateLinkServiceNetworkPolicies string `json:"privateLinkServiceNetworkPolicies"` ProvisioningState string `json:"provisioningState"` Purpose string `json:"purpose"` ServiceEndpoints []any `json:"serviceEndpoints"` } `json:"properties"` Type string `json:"type"` }
func ListVnetSubnets ¶
func ListVnetSubnets(subscriptionId string, resourceGroupName string, virtualNetworkName string, mat lib.AzureMultiAuthToken) []SubnetResponse
type SubscriptionResGrpList ¶
type SubscriptionResGrpList []ResourceGroup
type SubscriptionResourceList ¶
type SubscriptionResourceList struct { ResourceCount int Resources []lib.AzureResourceDetails }
type TenantDetails ¶
type TenantList ¶
type TenantList []TenantDetails
func ListAllAuthenticatedSubscriptions ¶
func ListAllAuthenticatedSubscriptions(tokens *lib.AllTenantTokens) TenantList
type TenantResGrpList ¶
type TenantResGrpList map[string]SubscriptionResGrpList
type TenantResourceList ¶
type TenantResourceList struct { ResourceCount int Subscriptions map[string]SubscriptionResourceList }
func GetAllTenantResources ¶
func GetAllTenantResources(outputFile string, token *lib.AzureMultiAuthToken) TenantResourceList
type VirtualMachine ¶ added in v0.1.15
type VirtualMachine struct { ID string `json:"id"` Location string `json:"location"` Name string `json:"name"` Properties struct { AdditionalCapabilities struct { HibernationEnabled bool `json:"hibernationEnabled"` } `json:"additionalCapabilities"` DiagnosticsProfile struct { BootDiagnostics struct { Enabled bool `json:"enabled"` } `json:"bootDiagnostics"` } `json:"diagnosticsProfile"` HardwareProfile struct { VmSize string `json:"vmSize"` } `json:"hardwareProfile"` NetworkProfile struct { NetworkInterfaces []struct { ID string `json:"id"` Properties struct { DeleteOption string `json:"deleteOption"` } `json:"properties"` } `json:"networkInterfaces"` } `json:"networkProfile"` OSProfile struct { AdminUsername string `json:"adminUsername"` AllowExtensionOperations bool `json:"allowExtensionOperations"` ComputerName string `json:"computerName"` LinuxConfiguration struct { DisablePasswordAuthentication bool `json:"disablePasswordAuthentication"` EnableVmAgentPlatformUpdates bool `json:"enableVMAgentPlatformUpdates"` PatchSettings struct { AssessmentMode string `json:"assessmentMode"` AutomaticByPlatformSettings struct { BypassPlatformSafetyChecksOnUserSchedule bool `json:"bypassPlatformSafetyChecksOnUserSchedule"` RebootSetting string `json:"rebootSetting"` } `json:"automaticByPlatformSettings"` PatchMode string `json:"patchMode"` } `json:"patchSettings"` ProvisionVmAgent bool `json:"provisionVMAgent"` SSH struct { PublicKeys []struct { KeyData string `json:"keyData"` Path string `json:"path"` } `json:"publicKeys"` } `json:"ssh"` } `json:"linuxConfiguration"` RequireGuestProvisionSignal bool `json:"requireGuestProvisionSignal"` Secrets []any `json:"secrets"` } `json:"osProfile"` ProvisioningState string `json:"provisioningState"` SecurityProfile struct { SecurityType string `json:"securityType"` UefiSettings struct { SecureBootEnabled bool `json:"secureBootEnabled"` VTpmEnabled bool `json:"vTpmEnabled"` } `json:"uefiSettings"` } `json:"securityProfile"` StorageProfile struct { DataDisks []any `json:"dataDisks"` DiskControllerType string `json:"diskControllerType"` ImageReference struct { ExactVersion string `json:"exactVersion"` Offer string `json:"offer"` Publisher string `json:"publisher"` Sku string `json:"sku"` Version string `json:"version"` } `json:"imageReference"` OSDisk struct { Caching string `json:"caching"` CreateOption string `json:"createOption"` DeleteOption string `json:"deleteOption"` DiskSizeGb float64 `json:"diskSizeGB"` ManagedDisk struct { StorageAccountType string `json:"storageAccountType"` } `json:"managedDisk"` OSType string `json:"osType"` } `json:"osDisk"` } `json:"storageProfile"` TimeCreated time.Time `json:"timeCreated"` VmID string `json:"vmId"` } `json:"properties"` Type string `json:"type"` Zones []string `json:"zones"` }
type VirtualMachineInstanceView ¶ added in v0.1.15
type VirtualMachineInstanceView struct { BootDiagnostics struct{} `json:"bootDiagnostics"` ComputerName string `json:"computerName"` Disks []struct { Name string `json:"name"` Statuses []struct { Code string `json:"code"` DisplayStatus string `json:"displayStatus"` Level string `json:"level"` Time time.Time `json:"time"` } `json:"statuses"` } `json:"disks"` Extensions []struct { Name string `json:"name"` Statuses []struct { Code string `json:"code"` DisplayStatus string `json:"displayStatus"` Level string `json:"level"` Message string `json:"message"` } `json:"statuses"` Type string `json:"type"` TypeHandlerVersion string `json:"typeHandlerVersion"` } `json:"extensions"` HyperVGeneration string `json:"hyperVGeneration"` OSName string `json:"osName"` OSVersion string `json:"osVersion"` PatchStatus struct { AvailablePatchSummary struct { AssessmentActivityID string `json:"assessmentActivityId"` CriticalAndSecurityPatchCount float64 `json:"criticalAndSecurityPatchCount"` Error struct { Code string `json:"code"` Details []struct { Code string `json:"code"` Message string `json:"message"` } `json:"details"` Message string `json:"message"` } `json:"error"` LastModifiedTime time.Time `json:"lastModifiedTime"` OtherPatchCount float64 `json:"otherPatchCount"` RebootPending bool `json:"rebootPending"` StartTime time.Time `json:"startTime"` Status string `json:"status"` } `json:"availablePatchSummary"` ConfigurationStatuses []struct { Code string `json:"code"` DisplayStatus string `json:"displayStatus"` Level string `json:"level"` Time time.Time `json:"time"` } `json:"configurationStatuses"` } `json:"patchStatus"` Statuses []struct { Code string `json:"code"` DisplayStatus string `json:"displayStatus"` Level string `json:"level"` Time time.Time `json:"time,omitempty"` } `json:"statuses"` VmAgent struct { ExtensionHandlers []struct { Status struct { Code string `json:"code"` DisplayStatus string `json:"displayStatus"` Level string `json:"level"` Message string `json:"message"` } `json:"status"` Type string `json:"type"` TypeHandlerVersion string `json:"typeHandlerVersion"` } `json:"extensionHandlers"` Statuses []struct { Code string `json:"code"` DisplayStatus string `json:"displayStatus"` Level string `json:"level"` Message string `json:"message"` Time time.Time `json:"time"` } `json:"statuses"` VmAgentVersion string `json:"vmAgentVersion"` } `json:"vmAgent"` }
type VirtualNetworkPeering ¶
type VirtualNetworkPeering struct { Etag string `json:"etag"` ID string `json:"id"` Name string `json:"name"` Properties struct { AllowForwardedTraffic bool `json:"allowForwardedTraffic"` AllowGatewayTransit bool `json:"allowGatewayTransit"` AllowVirtualNetworkAccess bool `json:"allowVirtualNetworkAccess"` DoNotVerifyRemoteGateways bool `json:"doNotVerifyRemoteGateways"` PeerCompleteVnets bool `json:"peerCompleteVnets"` PeeringState string `json:"peeringState"` PeeringSyncLevel string `json:"peeringSyncLevel"` ProvisioningState string `json:"provisioningState"` RemoteAddressSpace struct { AddressPrefixes []string `json:"addressPrefixes"` } `json:"remoteAddressSpace"` RemoteGateways []struct { ID string `json:"id"` } `json:"remoteGateways,omitempty"` RemoteVirtualNetwork struct { ID string `json:"id"` } `json:"remoteVirtualNetwork"` RemoteVirtualNetworkAddressSpace struct { AddressPrefixes []string `json:"addressPrefixes"` } `json:"remoteVirtualNetworkAddressSpace"` ResourceGuid string `json:"resourceGuid"` RouteServiceVips struct { Af36ba888c9943f4A5e38fa90652cc96 string `json:"af36ba88-8c99-43f4-a5e3-8fa90652cc96,omitempty"` } `json:"routeServiceVips"` UseRemoteGateways bool `json:"useRemoteGateways"` } `json:"properties"` Type string `json:"type"` }
type Vnet ¶
type Vnet struct { ID string `json:"id"` Location string `json:"location"` Name string `json:"name"` ResourceGroup string `json:"resourceGroup"` SubscriptionID string `json:"subscriptionId"` AddressSpace []string `json:"addressSpace"` Subnets []SubnetResponse `json:"subnets"` ProvisioningState string `json:"provisioningState"` VirtualNetworkPeerings []ProcessedVnetPeering `json:"virtualNetworkPeerings"` Tags map[string]string `json:"tags"` Type string `json:"type"` }
func ListAllSubscriptionVnets ¶
func ListAllSubscriptionVnets(subscriptionId string, mat lib.AzureMultiAuthToken) []Vnet
type VnetListResponse ¶
type VnetListResponse struct {
Value []VnetResponse
}
type VnetResponse ¶
type VnetResponse struct { Etag string `json:"etag"` ID string `json:"id"` Location string `json:"location"` Name string `json:"name"` Properties struct { AddressSpace struct { AddressPrefixes []string `json:"addressPrefixes"` } `json:"addressSpace"` DhcpOptions struct { DnsServers []any `json:"dnsServers"` } `json:"dhcpOptions"` EnableDdosProtection bool `json:"enableDdosProtection"` ProvisioningState string `json:"provisioningState"` ResourceGuid string `json:"resourceGuid"` Subnets []struct { Etag string `json:"etag"` ID string `json:"id"` Name string `json:"name"` Properties struct { AddressPrefix string `json:"addressPrefix"` Delegations []any `json:"delegations"` IpConfigurations []struct { ID string `json:"id"` } `json:"ipConfigurations"` NetworkSecurityGroup *struct { ID string `json:"id"` } `json:"networkSecurityGroup,omitempty"` PrivateEndpointNetworkPolicies string `json:"privateEndpointNetworkPolicies"` PrivateEndpoints []struct { ID string `json:"id"` } `json:"privateEndpoints,omitempty"` PrivateLinkServiceNetworkPolicies string `json:"privateLinkServiceNetworkPolicies"` ProvisioningState string `json:"provisioningState"` Purpose string `json:"purpose,omitempty"` RouteTable *struct { ID string `json:"id"` } `json:"routeTable,omitempty"` ServiceEndpoints []struct { Locations []string `json:"locations"` ProvisioningState string `json:"provisioningState"` Service string `json:"service"` } `json:"serviceEndpoints"` } `json:"properties"` Type string `json:"type"` } `json:"subnets"` VirtualNetworkPeerings []struct { Etag string `json:"etag"` ID string `json:"id"` Name string `json:"name"` Properties struct { AllowForwardedTraffic bool `json:"allowForwardedTraffic"` AllowGatewayTransit bool `json:"allowGatewayTransit"` AllowVirtualNetworkAccess bool `json:"allowVirtualNetworkAccess"` DoNotVerifyRemoteGateways bool `json:"doNotVerifyRemoteGateways"` PeerCompleteVnets bool `json:"peerCompleteVnets"` PeeringState string `json:"peeringState"` PeeringSyncLevel string `json:"peeringSyncLevel"` ProvisioningState string `json:"provisioningState"` RemoteAddressSpace struct { AddressPrefixes []string `json:"addressPrefixes"` } `json:"remoteAddressSpace"` RemoteGateways []struct { ID string `json:"id"` } `json:"remoteGateways,omitempty"` RemoteVirtualNetwork struct { ID string `json:"id"` } `json:"remoteVirtualNetwork"` RemoteVirtualNetworkAddressSpace struct { AddressPrefixes []string `json:"addressPrefixes"` } `json:"remoteVirtualNetworkAddressSpace"` ResourceGuid string `json:"resourceGuid"` RouteServiceVips struct { Af36ba888c9943f4A5e38fa90652cc96 string `json:"af36ba88-8c99-43f4-a5e3-8fa90652cc96,omitempty"` } `json:"routeServiceVips"` UseRemoteGateways bool `json:"useRemoteGateways"` } `json:"properties"` Type string `json:"type"` } `json:"virtualNetworkPeerings"` } `json:"properties"` Tags map[string]string `json:"tags"` Type string `json:"type"` }
Source Files
¶
- cmdAz.go
- cmdComputeGallery-Image.go
- cmdComputeGallery.go
- cmdConfig.go
- cmdCost.go
- cmdEntra-b2c-getUser.go
- cmdEntra-b2c.go
- cmdEntra.go
- cmdLogAnalytics-Tables.go
- cmdLogAnalytics.go
- cmdNetwork-List.go
- cmdNetwork.go
- cmdResources.go
- cmdSubs.go
- cmdVirtualMachines.go
- fnAuth.go
- fnChangeActiveSub.go
- fnComputeGallery.go
- fnContainerRegistries.go
- fnCostExports.go
- fnEntra.go
- fnLogAnalytics.go
- fnNetwork.go
- fnNsgFlowLogs.go
- fnResources.go
- fnStorage.go
- fnSubs.go
- fnUtils.go
- fnVirtualMachines.go
- typesAzure-Resources.go
- typesAzure.go
- typesEntra.go