mongodb

package
v0.1.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2025 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClientFromConfig

func ClientFromConfig(ctx context.Context, cancel context.CancelFunc) *mongo.Client

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 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 UpdateResourcesNotExistInAzure

func UpdateResourcesNotExistInAzure(azureResources []lib.AzureResourceDetails, collection *mongo.Collection) *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) *mongo.BulkWriteResult

func UpsertImageGalleryImages

func UpsertImageGalleryImages(images []lib.GalleryImage, collection *mongo.Collection) *mongo.BulkWriteResult

func UpsertMultipleEntraApps

func UpsertMultipleEntraApps[T azure.EntraApplication | azure.EntraExpiringCredential](apps []T, collection *mongo.Collection) *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) *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) *mongo.BulkWriteResult

func UpsertTenantAndSubs

func UpsertTenantAndSubs(tenantsColl *mongo.Collection, tokenReq *lib.AllTenantTokens)

func UpsertVcpuCounts

func UpsertVcpuCounts(vcpuCountData lib.VCpuCountByTenant, collection *mongo.Collection) *mongo.BulkWriteResult

Types

type MongoDbAzureSubscription

type MongoDbAzureSubscription struct {
	DisplayName    string `json:"displayName" bson:"displayName"`
	ResourceID     string `json:"id" bson:"resourceId"`
	SubscriptionID string `json:"subscriptionId" bson:"subscriptionId"`
	TenantId       string `json:"tenantId" bson:"-"`
}

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
	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 UpdateAllAzureResourcesAndVcpuCountsOptionsOptions

type UpdateAllAzureResourcesAndVcpuCountsOptionsOptions struct {
	AzureResourcesDatabase      string
	CitrixDatabase              string
	AzResImageGalleryImagesColl string
	CitrixMachineCatalogsColl   string
}

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL