Documentation
¶
Index ¶
- func ClientFromConfig(ctx context.Context, cancel context.CancelFunc) *mongo.Client
- func DeleteAllDocumentsInCollection(collection *mongo.Collection) (results *mongo.DeleteResult)
- func GetAllResources(coll *mongo.Collection) (documentData []lib.AzureResourceDetails)
- func GetBuildDataAndUpdateImageVesionData(imageGalleryImagesColl *mongo.Collection)
- func MarkImageGalleryImagesUsedByCitrix(machineCatalogs map[string]citrix.MachineCatalogCurrentImage, ...) *mongo.BulkWriteResult
- func ResetLifetimeCostValues(collection *mongo.Collection) *mongo.BulkWriteResult
- func ResetRelatedResourcesAndCostItems(collection *mongo.Collection) *mongo.BulkWriteResult
- func UpdateADUsers(coll *mongo.Collection)
- func UpdateAllAzureResourceIPAddresses(resIPAddressesColl *mongo.Collection, tokenReq lib.AllTenantTokens)
- func UpdateAllAzureResourcesVcpuCountsCostData(opts UpdateAllAzureResourcesAndVcpuCountsOptions, tokenReq lib.AllTenantTokens) lib.AggregatedCostData
- func UpdateAllCertInfo(certsCaCertInfo *mongo.Collection, serverCertsInfoColl *mongo.Collection)
- func UpdateAllGalleryImagesAndUpdateWithUsedByCitrix(imageGalleryImagesColl *mongo.Collection, ...)
- func UpdateAzureResourceRelations(transformedData lib.AggregatedCostData, ...)
- func UpdateEntraItems(opts UpdateEntraItemsOptions, tokenReq lib.AllTenantTokens)
- func UpdateEntraPimItems(opts UpdateEntraPimItemsOptions)
- func UpdateImageDataWithBuildHostLogs(buildData []lib.PackerLogBuildData, collection *mongo.Collection) *mongo.BulkWriteResult
- func UpdateM365Data(coll *mongo.Collection)
- func UpdateResourcesNotExistInAzure(azureResources []lib.AzureResourceDetails, collection *mongo.Collection) *mongo.BulkWriteResult
- func UpsertADUsers(users []ad.ADUser, coll *mongo.Collection) (results *mongo.BulkWriteResult)
- func UpsertAzureIPAddresses(resources []azure.AzureResourceIPConfig, resIPAddressesColl *mongo.Collection) *mongo.BulkWriteResult
- func UpsertCACertificates(caCertInfo []lib.CertAuthorityCertInfo, coll *mongo.Collection) (results []mongo.BulkWriteResult)
- func UpsertCertInfo(caCertInfo []lib.CertAuthorityCertInfo, serverCertInfo []lib.ServerCertInfo, ...) (caResults *mongo.BulkWriteResult, svrResults *mongo.BulkWriteResult)
- func UpsertCitrixMachineCatalogs(machineCatalogs citrix.MachineCatalogs, coll *mongo.Collection) (results []mongo.BulkWriteResult)
- func UpsertImageGalleryImages(images []lib.GalleryImage, collection *mongo.Collection) (results []mongo.BulkWriteResult)
- func UpsertMailboxStatistics(mailboxStats []m365.MailboxUsageDetail, coll *mongo.Collection) (results *mongo.BulkWriteResult)
- func UpsertMultipleEntraApps[T azure.EntraApplication | azure.EntraExpiringCredential](apps []T, collection *mongo.Collection) (results []mongo.BulkWriteResult)
- func UpsertMultipleMonthlyCostData(costExportMonths []string, costingTenantsColl *mongo.Collection, ...)
- func UpsertMultipleResGrps(resGrps []azure.ResourceGroup, resourcesListColl *mongo.Collection) *mongo.BulkWriteResult
- func UpsertMultipleResources(resources []lib.AzureResourceDetails, resourcesListColl *mongo.Collection) (results []mongo.BulkWriteResult)
- func UpsertMultipleRoleAssignmentScheduleInstances(ras []azure.RoleAssignmentScheduleInstance, coll *mongo.Collection) *mongo.BulkWriteResult
- func UpsertMultipleRoleEligibilityScheduleInstances(res []azure.RoleEligibilityScheduleInstance, coll *mongo.Collection) *mongo.BulkWriteResult
- func UpsertResourceSKUs(skus []lib.AzureResourceSku, collection *mongo.Collection) (results []mongo.BulkWriteResult)
- func UpsertServerCertificates(serverCertInfo []lib.ServerCertInfo, coll *mongo.Collection) (results []mongo.BulkWriteResult)
- func UpsertStorageAccountMinTlsVersions(resources []azure.StorageAccountTlsVersion, mongoColl *mongo.Collection) *mongo.BulkWriteResult
- func UpsertTenantAndSubs(tenantsColl *mongo.Collection, tokenReq *lib.AllTenantTokens) (results *mongo.BulkWriteResult)
- func UpsertVcpuCounts(vcpuCountData lib.VCpuCountByTenant, collection *mongo.Collection) (results []mongo.BulkWriteResult)
- type MongoDbAzureSubscription
- type MongoDbAzureTenant
- type UpdateAllAzureResourcesAndVcpuCountsOptions
- type UpdateAllAzureResourcesAndVcpuCountsOptionsOptions
- type UpdateEntraItemsOptions
- type UpdateEntraPimItemsOptions
- type UpsertMonthlyTenantSubResGrpCostsResults
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ClientFromConfig ¶
func DeleteAllDocumentsInCollection ¶ added in v0.1.15
func DeleteAllDocumentsInCollection(collection *mongo.Collection) (results *mongo.DeleteResult)
func GetAllResources ¶
func GetAllResources(coll *mongo.Collection) (documentData []lib.AzureResourceDetails)
func GetBuildDataAndUpdateImageVesionData ¶ added in v0.1.15
func GetBuildDataAndUpdateImageVesionData(imageGalleryImagesColl *mongo.Collection)
func MarkImageGalleryImagesUsedByCitrix ¶
func MarkImageGalleryImagesUsedByCitrix(machineCatalogs map[string]citrix.MachineCatalogCurrentImage, collection *mongo.Collection) *mongo.BulkWriteResult
func ResetLifetimeCostValues ¶
func ResetLifetimeCostValues(collection *mongo.Collection) *mongo.BulkWriteResult
Gets all documents from a collection then calculates monthly totals from each costData item and saves the sum back to the cost item's "lifetimeTotalCost" field. Only updates documents if there is a difference
func ResetRelatedResourcesAndCostItems ¶
func ResetRelatedResourcesAndCostItems(collection *mongo.Collection) *mongo.BulkWriteResult
func UpdateADUsers ¶ added in v0.1.41
func UpdateADUsers(coll *mongo.Collection)
func UpdateAllAzureResourceIPAddresses ¶ added in v0.1.17
func UpdateAllAzureResourceIPAddresses(resIPAddressesColl *mongo.Collection, tokenReq lib.AllTenantTokens)
func UpdateAllAzureResourcesVcpuCountsCostData ¶
func UpdateAllAzureResourcesVcpuCountsCostData(opts UpdateAllAzureResourcesAndVcpuCountsOptions, tokenReq lib.AllTenantTokens) lib.AggregatedCostData
func UpdateAllCertInfo ¶ added in v0.1.26
func UpdateAllCertInfo(certsCaCertInfo *mongo.Collection, serverCertsInfoColl *mongo.Collection)
func UpdateAllGalleryImagesAndUpdateWithUsedByCitrix ¶
func UpdateAllGalleryImagesAndUpdateWithUsedByCitrix(imageGalleryImagesColl *mongo.Collection, machineCatalogsColl *mongo.Collection, tokenReq lib.AllTenantTokens)
func UpdateAzureResourceRelations ¶
func UpdateAzureResourceRelations(transformedData lib.AggregatedCostData, opts UpdateAllAzureResourcesAndVcpuCountsOptions)
func UpdateEntraItems ¶
func UpdateEntraItems(opts UpdateEntraItemsOptions, tokenReq lib.AllTenantTokens)
func UpdateEntraPimItems ¶
func UpdateEntraPimItems(opts UpdateEntraPimItemsOptions)
func UpdateImageDataWithBuildHostLogs ¶
func UpdateImageDataWithBuildHostLogs(buildData []lib.PackerLogBuildData, collection *mongo.Collection) *mongo.BulkWriteResult
func UpdateM365Data ¶ added in v0.1.46
func UpdateM365Data(coll *mongo.Collection)
func UpdateResourcesNotExistInAzure ¶
func UpdateResourcesNotExistInAzure(azureResources []lib.AzureResourceDetails, collection *mongo.Collection) *mongo.BulkWriteResult
func UpsertADUsers ¶ added in v0.1.41
func UpsertADUsers(users []ad.ADUser, coll *mongo.Collection) (results *mongo.BulkWriteResult)
func UpsertAzureIPAddresses ¶ added in v0.1.17
func UpsertAzureIPAddresses(resources []azure.AzureResourceIPConfig, resIPAddressesColl *mongo.Collection) *mongo.BulkWriteResult
func UpsertCACertificates ¶ added in v0.1.26
func UpsertCACertificates(caCertInfo []lib.CertAuthorityCertInfo, coll *mongo.Collection) (results []mongo.BulkWriteResult)
func UpsertCertInfo ¶
func UpsertCertInfo(caCertInfo []lib.CertAuthorityCertInfo, serverCertInfo []lib.ServerCertInfo, caCertsColl *mongo.Collection, serverCertsColl *mongo.Collection) (caResults *mongo.BulkWriteResult, svrResults *mongo.BulkWriteResult)
func UpsertCitrixMachineCatalogs ¶
func UpsertCitrixMachineCatalogs(machineCatalogs citrix.MachineCatalogs, coll *mongo.Collection) (results []mongo.BulkWriteResult)
func UpsertImageGalleryImages ¶
func UpsertImageGalleryImages(images []lib.GalleryImage, collection *mongo.Collection) (results []mongo.BulkWriteResult)
func UpsertMailboxStatistics ¶ added in v0.1.46
func UpsertMailboxStatistics(mailboxStats []m365.MailboxUsageDetail, coll *mongo.Collection) (results *mongo.BulkWriteResult)
func UpsertMultipleEntraApps ¶
func UpsertMultipleEntraApps[T azure.EntraApplication | azure.EntraExpiringCredential](apps []T, collection *mongo.Collection) (results []mongo.BulkWriteResult)
func UpsertMultipleMonthlyCostData ¶
func UpsertMultipleMonthlyCostData( costExportMonths []string, costingTenantsColl *mongo.Collection, costingSubsColl *mongo.Collection, costingResGrpsColl *mongo.Collection, costingResourcesColl *mongo.Collection, costingMetersColl *mongo.Collection, resourcesTenantsColl *mongo.Collection, )
func UpsertMultipleResGrps ¶
func UpsertMultipleResGrps(resGrps []azure.ResourceGroup, resourcesListColl *mongo.Collection) *mongo.BulkWriteResult
func UpsertMultipleResources ¶
func UpsertMultipleResources(resources []lib.AzureResourceDetails, resourcesListColl *mongo.Collection) (results []mongo.BulkWriteResult)
func UpsertMultipleResources(resources []lib.AzureResourceDetails, resourcesListColl *mongo.Collection) {
func UpsertMultipleRoleAssignmentScheduleInstances ¶
func UpsertMultipleRoleAssignmentScheduleInstances(ras []azure.RoleAssignmentScheduleInstance, coll *mongo.Collection) *mongo.BulkWriteResult
func UpsertMultipleRoleEligibilityScheduleInstances ¶
func UpsertMultipleRoleEligibilityScheduleInstances(res []azure.RoleEligibilityScheduleInstance, coll *mongo.Collection) *mongo.BulkWriteResult
func UpsertResourceSKUs ¶
func UpsertResourceSKUs(skus []lib.AzureResourceSku, collection *mongo.Collection) (results []mongo.BulkWriteResult)
func UpsertServerCertificates ¶ added in v0.1.26
func UpsertServerCertificates(serverCertInfo []lib.ServerCertInfo, coll *mongo.Collection) (results []mongo.BulkWriteResult)
func UpsertStorageAccountMinTlsVersions ¶ added in v0.1.31
func UpsertStorageAccountMinTlsVersions(resources []azure.StorageAccountTlsVersion, mongoColl *mongo.Collection) *mongo.BulkWriteResult
func UpsertMultipleResources(resources []lib.AzureResourceDetails, resourcesListColl *mongo.Collection) {
func UpsertTenantAndSubs ¶
func UpsertTenantAndSubs(tenantsColl *mongo.Collection, tokenReq *lib.AllTenantTokens) (results *mongo.BulkWriteResult)
func UpsertVcpuCounts ¶
func UpsertVcpuCounts(vcpuCountData lib.VCpuCountByTenant, collection *mongo.Collection) (results []mongo.BulkWriteResult)
Types ¶
type MongoDbAzureTenant ¶
type MongoDbAzureTenant struct {
TenantId string `json:"tenantId" bson:"_id"`
TenantName string `json:"tenantName" bson:"tenantName"`
CostExportsLocation string `json:"costExportsLocation" bson:"costExportsLocation"`
Subscriptions map[string]MongoDbAzureSubscription `json:"subscriptions" bson:"subscriptions"`
Aliases []string `json:"aliases" bson:"aliases"`
}
type UpdateAllAzureResourcesAndVcpuCountsOptions ¶
type UpdateAllAzureResourcesAndVcpuCountsOptions struct {
SkuListSubscription string
SkuListAuth lib.CldConfigTenantAuth
Location string
CostDataMonth string
CostDataBlobPrefix string
AzResSKUColl *mongo.Collection
AzResVcpuCountsColl *mongo.Collection
AzStorageAcctMinTlsVersions *mongo.Collection
EnvOptCostingTenantsColl *mongo.Collection
EnvOptCostingSubsColl *mongo.Collection
EnvOptCostingResGrpsColl *mongo.Collection
EnvOptCostingResourcesColl *mongo.Collection
EnvOptCostingMetersColl *mongo.Collection
AzResTenantsColl *mongo.Collection
AzResResourceListColl *mongo.Collection
AzResGrpsListColl *mongo.Collection
}
type UpdateEntraItemsOptions ¶
type UpdateEntraItemsOptions struct {
EntraAppRegColl *mongo.Collection
EntraAppRegCredsExpiringColl *mongo.Collection
}
type UpdateEntraPimItemsOptions ¶
type UpdateEntraPimItemsOptions struct {
EntraRoleEligibilityScheduleInstancesColl *mongo.Collection
EntraRoleAssignmentScheduleInstancesColl *mongo.Collection
}
type UpsertMonthlyTenantSubResGrpCostsResults ¶
type UpsertMonthlyTenantSubResGrpCostsResults struct {
UpdateTenants *mongo.BulkWriteResult
UpdateTenantsCostData *mongo.BulkWriteResult
UpdateTenantsProcessedUpdates *mongo.BulkWriteResult
UpdateSubs *mongo.BulkWriteResult
UpdateSubsCostData *mongo.BulkWriteResult
UpdateSubsProcessedUpdates *mongo.BulkWriteResult
UpdateResGrps *mongo.BulkWriteResult
UpdateResGrpsCostData *mongo.BulkWriteResult
UpdateResGrpsProcessedUpdates *mongo.BulkWriteResult
UpdateResources *mongo.BulkWriteResult
UpdateResourcesCostData *mongo.BulkWriteResult
UpdateResourcesProcessedUpdates *mongo.BulkWriteResult
UpdateMeters *mongo.BulkWriteResult
UpdateMetersCostData *mongo.BulkWriteResult
UpdateMetersProcessedUpdates *mongo.BulkWriteResult
}
func UpsertMonthlyTenantSubResGrpCosts ¶
func UpsertMonthlyTenantSubResGrpCosts( costData lib.AggregatedCostData, costExportMonth string, costingTenantsColl *mongo.Collection, costingSubsColl *mongo.Collection, costingResGrpsColl *mongo.Collection, costingResourcesColl *mongo.Collection, costingMetersColl *mongo.Collection, tenantsColl *mongo.Collection, ) (results UpsertMonthlyTenantSubResGrpCostsResults)
Click to show internal directories.
Click to hide internal directories.