integrationgenerated

package
v1.15.1 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package integrationgenerated contains generated integration mapping metadata and shared decode utilities.

Code generated by entx integration mapping generator. DO NOT EDIT.

Index

Constants

View Source
const (
	IntegrationMappingSchemaAsset               = "Asset"
	IntegrationMappingSchemaContact             = "Contact"
	IntegrationMappingSchemaDirectoryAccount    = "DirectoryAccount"
	IntegrationMappingSchemaDirectoryGroup      = "DirectoryGroup"
	IntegrationMappingSchemaDirectoryMembership = "DirectoryMembership"
	IntegrationMappingSchemaEntity              = "Entity"
	IntegrationMappingSchemaFinding             = "Finding"
	IntegrationMappingSchemaRisk                = "Risk"
	IntegrationMappingSchemaVulnerability       = "Vulnerability"
)
View Source
const (
	IntegrationMappingAssetAccessModelID               = "accessModelID"
	IntegrationMappingAssetAccessModelName             = "accessModelName"
	IntegrationMappingAssetAssetDataClassificationID   = "assetDataClassificationID"
	IntegrationMappingAssetAssetDataClassificationName = "assetDataClassificationName"
	IntegrationMappingAssetAssetSubtypeID              = "assetSubtypeID"
	IntegrationMappingAssetAssetSubtypeName            = "assetSubtypeName"
	IntegrationMappingAssetAssetType                   = "assetType"
	IntegrationMappingAssetCategories                  = "categories"
	IntegrationMappingAssetContainsPii                 = "containsPii"
	IntegrationMappingAssetCostCenter                  = "costCenter"
	IntegrationMappingAssetCriticalityID               = "criticalityID"
	IntegrationMappingAssetCriticalityName             = "criticalityName"
	IntegrationMappingAssetDescription                 = "description"
	IntegrationMappingAssetDisplayName                 = "displayName"
	IntegrationMappingAssetEncryptionStatusID          = "encryptionStatusID"
	IntegrationMappingAssetEncryptionStatusName        = "encryptionStatusName"
	IntegrationMappingAssetEnvironmentID               = "environmentID"
	IntegrationMappingAssetEnvironmentName             = "environmentName"
	IntegrationMappingAssetEstimatedMonthlyCost        = "estimatedMonthlyCost"
	IntegrationMappingAssetIdentifier                  = "identifier"
	IntegrationMappingAssetIntegrationID               = "integrationID"
	IntegrationMappingAssetInternalNotes               = "internalNotes"
	IntegrationMappingAssetInternalOwner               = "internalOwner"
	IntegrationMappingAssetInternalOwnerGroupID        = "internalOwnerGroupID"
	IntegrationMappingAssetInternalOwnerUserID         = "internalOwnerUserID"
	IntegrationMappingAssetName                        = "name"
	IntegrationMappingAssetObservedAt                  = "observedAt"
	IntegrationMappingAssetOwnerID                     = "ownerID"
	IntegrationMappingAssetPhysicalLocation            = "physicalLocation"
	IntegrationMappingAssetPurchaseDate                = "purchaseDate"
	IntegrationMappingAssetRegion                      = "region"
	IntegrationMappingAssetScopeID                     = "scopeID"
	IntegrationMappingAssetScopeName                   = "scopeName"
	IntegrationMappingAssetSecurityTierID              = "securityTierID"
	IntegrationMappingAssetSecurityTierName            = "securityTierName"
	IntegrationMappingAssetSourceIdentifier            = "sourceIdentifier"
	IntegrationMappingAssetSourceType                  = "sourceType"
	IntegrationMappingAssetSystemInternalID            = "systemInternalID"
	IntegrationMappingAssetTags                        = "tags"
	IntegrationMappingAssetWebsite                     = "website"
)

Integration mapping keys for Asset.

View Source
const (
	IntegrationMappingContactAddress       = "address"
	IntegrationMappingContactCompany       = "company"
	IntegrationMappingContactEmail         = "email"
	IntegrationMappingContactExternalID    = "externalID"
	IntegrationMappingContactFullName      = "fullName"
	IntegrationMappingContactIntegrationID = "integrationID"
	IntegrationMappingContactObservedAt    = "observedAt"
	IntegrationMappingContactPhoneNumber   = "phoneNumber"
	IntegrationMappingContactStatus        = "status"
	IntegrationMappingContactTags          = "tags"
	IntegrationMappingContactTitle         = "title"
)

Integration mapping keys for Contact.

View Source
const (
	IntegrationMappingDirectoryAccountAccountType         = "accountType"
	IntegrationMappingDirectoryAccountAddedAt             = "addedAt"
	IntegrationMappingDirectoryAccountAvatarRemoteURL     = "avatarRemoteURL"
	IntegrationMappingDirectoryAccountAvatarUpdatedAt     = "avatarUpdatedAt"
	IntegrationMappingDirectoryAccountCanonicalEmail      = "canonicalEmail"
	IntegrationMappingDirectoryAccountDepartment          = "department"
	IntegrationMappingDirectoryAccountDirectoryInstanceID = "directoryInstanceID"
	IntegrationMappingDirectoryAccountDirectoryName       = "directoryName"
	IntegrationMappingDirectoryAccountDirectorySyncRunID  = "directorySyncRunID"
	IntegrationMappingDirectoryAccountDisplayName         = "displayName"
	IntegrationMappingDirectoryAccountEnvironmentID       = "environmentID"
	IntegrationMappingDirectoryAccountEnvironmentName     = "environmentName"
	IntegrationMappingDirectoryAccountExternalID          = "externalID"
	IntegrationMappingDirectoryAccountFamilyName          = "familyName"
	IntegrationMappingDirectoryAccountFirstSeenAt         = "firstSeenAt"
	IntegrationMappingDirectoryAccountGivenName           = "givenName"
	IntegrationMappingDirectoryAccountIdentityHolderID    = "identityHolderID"
	IntegrationMappingDirectoryAccountIntegrationID       = "integrationID"
	IntegrationMappingDirectoryAccountJobTitle            = "jobTitle"
	IntegrationMappingDirectoryAccountLastLoginAt         = "lastLoginAt"
	IntegrationMappingDirectoryAccountLastSeenAt          = "lastSeenAt"
	IntegrationMappingDirectoryAccountLastSeenIP          = "lastSeenIP"
	IntegrationMappingDirectoryAccountMetadata            = "metadata"
	IntegrationMappingDirectoryAccountMfaState            = "mfaState"
	IntegrationMappingDirectoryAccountObservedAt          = "observedAt"
	IntegrationMappingDirectoryAccountOrganizationUnit    = "organizationUnit"
	IntegrationMappingDirectoryAccountPlatformID          = "platformID"
	IntegrationMappingDirectoryAccountProfile             = "profile"
	IntegrationMappingDirectoryAccountProfileHash         = "profileHash"
	IntegrationMappingDirectoryAccountRemovedAt           = "removedAt"
	IntegrationMappingDirectoryAccountScopeID             = "scopeID"
	IntegrationMappingDirectoryAccountScopeName           = "scopeName"
	IntegrationMappingDirectoryAccountSecondaryKey        = "secondaryKey"
	IntegrationMappingDirectoryAccountSourceVersion       = "sourceVersion"
	IntegrationMappingDirectoryAccountStatus              = "status"
	IntegrationMappingDirectoryAccountTags                = "tags"
)

Integration mapping keys for DirectoryAccount.

View Source
const (
	IntegrationMappingDirectoryGroupAddedAt                = "addedAt"
	IntegrationMappingDirectoryGroupClassification         = "classification"
	IntegrationMappingDirectoryGroupDirectoryInstanceID    = "directoryInstanceID"
	IntegrationMappingDirectoryGroupDirectorySyncRunID     = "directorySyncRunID"
	IntegrationMappingDirectoryGroupDisplayName            = "displayName"
	IntegrationMappingDirectoryGroupEmail                  = "email"
	IntegrationMappingDirectoryGroupEnvironmentID          = "environmentID"
	IntegrationMappingDirectoryGroupEnvironmentName        = "environmentName"
	IntegrationMappingDirectoryGroupExternalID             = "externalID"
	IntegrationMappingDirectoryGroupExternalSharingAllowed = "externalSharingAllowed"
	IntegrationMappingDirectoryGroupFirstSeenAt            = "firstSeenAt"
	IntegrationMappingDirectoryGroupIntegrationID          = "integrationID"
	IntegrationMappingDirectoryGroupLastSeenAt             = "lastSeenAt"
	IntegrationMappingDirectoryGroupMemberCount            = "memberCount"
	IntegrationMappingDirectoryGroupMetadata               = "metadata"
	IntegrationMappingDirectoryGroupObservedAt             = "observedAt"
	IntegrationMappingDirectoryGroupPlatformID             = "platformID"
	IntegrationMappingDirectoryGroupProfile                = "profile"
	IntegrationMappingDirectoryGroupProfileHash            = "profileHash"
	IntegrationMappingDirectoryGroupRemovedAt              = "removedAt"
	IntegrationMappingDirectoryGroupScopeID                = "scopeID"
	IntegrationMappingDirectoryGroupScopeName              = "scopeName"
	IntegrationMappingDirectoryGroupSourceVersion          = "sourceVersion"
	IntegrationMappingDirectoryGroupStatus                 = "status"
	IntegrationMappingDirectoryGroupTags                   = "tags"
)

Integration mapping keys for DirectoryGroup.

View Source
const (
	IntegrationMappingDirectoryMembershipAddedAt             = "addedAt"
	IntegrationMappingDirectoryMembershipDirectoryAccountID  = "directoryAccountID"
	IntegrationMappingDirectoryMembershipDirectoryGroupID    = "directoryGroupID"
	IntegrationMappingDirectoryMembershipDirectoryInstanceID = "directoryInstanceID"
	IntegrationMappingDirectoryMembershipDirectorySyncRunID  = "directorySyncRunID"
	IntegrationMappingDirectoryMembershipEnvironmentID       = "environmentID"
	IntegrationMappingDirectoryMembershipEnvironmentName     = "environmentName"
	IntegrationMappingDirectoryMembershipFirstSeenAt         = "firstSeenAt"
	IntegrationMappingDirectoryMembershipIntegrationID       = "integrationID"
	IntegrationMappingDirectoryMembershipLastConfirmedRunID  = "lastConfirmedRunID"
	IntegrationMappingDirectoryMembershipLastSeenAt          = "lastSeenAt"
	IntegrationMappingDirectoryMembershipMetadata            = "metadata"
	IntegrationMappingDirectoryMembershipObservedAt          = "observedAt"
	IntegrationMappingDirectoryMembershipPlatformID          = "platformID"
	IntegrationMappingDirectoryMembershipRemovedAt           = "removedAt"
	IntegrationMappingDirectoryMembershipRole                = "role"
	IntegrationMappingDirectoryMembershipScopeID             = "scopeID"
	IntegrationMappingDirectoryMembershipScopeName           = "scopeName"
	IntegrationMappingDirectoryMembershipSource              = "source"
)

Integration mapping keys for DirectoryMembership.

View Source
const (
	IntegrationMappingEntityAnnualSpend                           = "annualSpend"
	IntegrationMappingEntityApprovedForUse                        = "approvedForUse"
	IntegrationMappingEntityAutoRenews                            = "autoRenews"
	IntegrationMappingEntityBillingModel                          = "billingModel"
	IntegrationMappingEntityContractEndDate                       = "contractEndDate"
	IntegrationMappingEntityContractRenewalAt                     = "contractRenewalAt"
	IntegrationMappingEntityContractStartDate                     = "contractStartDate"
	IntegrationMappingEntityDisplayName                           = "displayName"
	IntegrationMappingEntityDomains                               = "domains"
	IntegrationMappingEntityEntityRelationshipStateID             = "entityRelationshipStateID"
	IntegrationMappingEntityEntityRelationshipStateName           = "entityRelationshipStateName"
	IntegrationMappingEntityEntitySecurityQuestionnaireStatusID   = "entitySecurityQuestionnaireStatusID"
	IntegrationMappingEntityEntitySecurityQuestionnaireStatusName = "entitySecurityQuestionnaireStatusName"
	IntegrationMappingEntityEntitySourceTypeID                    = "entitySourceTypeID"
	IntegrationMappingEntityEntitySourceTypeName                  = "entitySourceTypeName"
	IntegrationMappingEntityEnvironmentID                         = "environmentID"
	IntegrationMappingEntityEnvironmentName                       = "environmentName"
	IntegrationMappingEntityExternalID                            = "externalID"
	IntegrationMappingEntityHasSoc2                               = "hasSoc2"
	IntegrationMappingEntityInternalNotes                         = "internalNotes"
	IntegrationMappingEntityInternalOwner                         = "internalOwner"
	IntegrationMappingEntityInternalOwnerGroupID                  = "internalOwnerGroupID"
	IntegrationMappingEntityInternalOwnerUserID                   = "internalOwnerUserID"
	IntegrationMappingEntityLastReviewedAt                        = "lastReviewedAt"
	IntegrationMappingEntityLinks                                 = "links"
	IntegrationMappingEntityMfaEnforced                           = "mfaEnforced"
	IntegrationMappingEntityMfaSupported                          = "mfaSupported"
	IntegrationMappingEntityName                                  = "name"
	IntegrationMappingEntityNextReviewAt                          = "nextReviewAt"
	IntegrationMappingEntityObservedAt                            = "observedAt"
	IntegrationMappingEntityOwnerID                               = "ownerID"
	IntegrationMappingEntityProvidedServices                      = "providedServices"
	IntegrationMappingEntityRenewalRisk                           = "renewalRisk"
	IntegrationMappingEntityReviewFrequency                       = "reviewFrequency"
	IntegrationMappingEntityReviewedBy                            = "reviewedBy"
	IntegrationMappingEntityReviewedByGroupID                     = "reviewedByGroupID"
	IntegrationMappingEntityReviewedByUserID                      = "reviewedByUserID"
	IntegrationMappingEntityRiskRating                            = "riskRating"
	IntegrationMappingEntityRiskScore                             = "riskScore"
	IntegrationMappingEntityScopeID                               = "scopeID"
	IntegrationMappingEntityScopeName                             = "scopeName"
	IntegrationMappingEntitySoc2PeriodEnd                         = "soc2PeriodEnd"
	IntegrationMappingEntitySpendCurrency                         = "spendCurrency"
	IntegrationMappingEntitySsoEnforced                           = "ssoEnforced"
	IntegrationMappingEntityStatus                                = "status"
	IntegrationMappingEntityStatusPageURL                         = "statusPageURL"
	IntegrationMappingEntitySystemInternalID                      = "systemInternalID"
	IntegrationMappingEntityTags                                  = "tags"
	IntegrationMappingEntityTerminationNoticeDays                 = "terminationNoticeDays"
	IntegrationMappingEntityTier                                  = "tier"
	IntegrationMappingEntityVendorMetadata                        = "vendorMetadata"
)

Integration mapping keys for Entity.

View Source
const (
	IntegrationMappingFindingAssessmentID       = "assessmentID"
	IntegrationMappingFindingBlocksProduction   = "blocksProduction"
	IntegrationMappingFindingCategories         = "categories"
	IntegrationMappingFindingCategory           = "category"
	IntegrationMappingFindingDescription        = "description"
	IntegrationMappingFindingDisplayName        = "displayName"
	IntegrationMappingFindingEnvironmentID      = "environmentID"
	IntegrationMappingFindingEnvironmentName    = "environmentName"
	IntegrationMappingFindingEventTime          = "eventTime"
	IntegrationMappingFindingExploitability     = "exploitability"
	IntegrationMappingFindingExternalID         = "externalID"
	IntegrationMappingFindingExternalOwnerID    = "externalOwnerID"
	IntegrationMappingFindingExternalURI        = "externalURI"
	IntegrationMappingFindingFindingClass       = "findingClass"
	IntegrationMappingFindingFindingStatusID    = "findingStatusID"
	IntegrationMappingFindingFindingStatusName  = "findingStatusName"
	IntegrationMappingFindingImpact             = "impact"
	IntegrationMappingFindingInternalNotes      = "internalNotes"
	IntegrationMappingFindingMetadata           = "metadata"
	IntegrationMappingFindingNumericSeverity    = "numericSeverity"
	IntegrationMappingFindingOpen               = "open"
	IntegrationMappingFindingOwnerID            = "ownerID"
	IntegrationMappingFindingPriority           = "priority"
	IntegrationMappingFindingProduction         = "production"
	IntegrationMappingFindingPublic             = "public"
	IntegrationMappingFindingRawPayload         = "rawPayload"
	IntegrationMappingFindingRecommendation     = "recommendation"
	IntegrationMappingFindingRecommendedActions = "recommendedActions"
	IntegrationMappingFindingReferences         = "references"
	IntegrationMappingFindingRemediationSLA     = "remediationSLA"
	IntegrationMappingFindingReportedAt         = "reportedAt"
	IntegrationMappingFindingResourceName       = "resourceName"
	IntegrationMappingFindingScopeID            = "scopeID"
	IntegrationMappingFindingScopeName          = "scopeName"
	IntegrationMappingFindingScore              = "score"
	IntegrationMappingFindingSeverity           = "severity"
	IntegrationMappingFindingSource             = "source"
	IntegrationMappingFindingSourceUpdatedAt    = "sourceUpdatedAt"
	IntegrationMappingFindingState              = "state"
	IntegrationMappingFindingStepsToReproduce   = "stepsToReproduce"
	IntegrationMappingFindingSystemInternalID   = "systemInternalID"
	IntegrationMappingFindingTags               = "tags"
	IntegrationMappingFindingTargetDetails      = "targetDetails"
	IntegrationMappingFindingTargets            = "targets"
	IntegrationMappingFindingValidated          = "validated"
	IntegrationMappingFindingVector             = "vector"
)

Integration mapping keys for Finding.

View Source
const (
	IntegrationMappingRiskBusinessCosts     = "businessCosts"
	IntegrationMappingRiskBusinessCostsJSON = "businessCostsJSON"
	IntegrationMappingRiskDetails           = "details"
	IntegrationMappingRiskDetailsJSON       = "detailsJSON"
	IntegrationMappingRiskEnvironmentID     = "environmentID"
	IntegrationMappingRiskEnvironmentName   = "environmentName"
	IntegrationMappingRiskExternalID        = "externalID"
	IntegrationMappingRiskExternalUUID      = "externalUUID"
	IntegrationMappingRiskImpact            = "impact"
	IntegrationMappingRiskIntegrationID     = "integrationID"
	IntegrationMappingRiskLikelihood        = "likelihood"
	IntegrationMappingRiskMitigation        = "mitigation"
	IntegrationMappingRiskMitigationJSON    = "mitigationJSON"
	IntegrationMappingRiskName              = "name"
	IntegrationMappingRiskObservedAt        = "observedAt"
	IntegrationMappingRiskOwnerID           = "ownerID"
	IntegrationMappingRiskRiskCategoryID    = "riskCategoryID"
	IntegrationMappingRiskRiskCategoryName  = "riskCategoryName"
	IntegrationMappingRiskRiskKindID        = "riskKindID"
	IntegrationMappingRiskRiskKindName      = "riskKindName"
	IntegrationMappingRiskScopeID           = "scopeID"
	IntegrationMappingRiskScopeName         = "scopeName"
	IntegrationMappingRiskScore             = "score"
	IntegrationMappingRiskStatus            = "status"
	IntegrationMappingRiskTags              = "tags"
)

Integration mapping keys for Risk.

View Source
const (
	IntegrationMappingVulnerabilityBlocking                = "blocking"
	IntegrationMappingVulnerabilityCategory                = "category"
	IntegrationMappingVulnerabilityCveID                   = "cveID"
	IntegrationMappingVulnerabilityDescription             = "description"
	IntegrationMappingVulnerabilityDiscoveredAt            = "discoveredAt"
	IntegrationMappingVulnerabilityDisplayName             = "displayName"
	IntegrationMappingVulnerabilityEnvironmentID           = "environmentID"
	IntegrationMappingVulnerabilityEnvironmentName         = "environmentName"
	IntegrationMappingVulnerabilityExploitability          = "exploitability"
	IntegrationMappingVulnerabilityExternalID              = "externalID"
	IntegrationMappingVulnerabilityExternalOwnerID         = "externalOwnerID"
	IntegrationMappingVulnerabilityExternalURI             = "externalURI"
	IntegrationMappingVulnerabilityImpact                  = "impact"
	IntegrationMappingVulnerabilityImpacts                 = "impacts"
	IntegrationMappingVulnerabilityInternalNotes           = "internalNotes"
	IntegrationMappingVulnerabilityMetadata                = "metadata"
	IntegrationMappingVulnerabilityOpen                    = "open"
	IntegrationMappingVulnerabilityOwnerID                 = "ownerID"
	IntegrationMappingVulnerabilityPriority                = "priority"
	IntegrationMappingVulnerabilityProduction              = "production"
	IntegrationMappingVulnerabilityPublic                  = "public"
	IntegrationMappingVulnerabilityPublishedAt             = "publishedAt"
	IntegrationMappingVulnerabilityRawPayload              = "rawPayload"
	IntegrationMappingVulnerabilityReferences              = "references"
	IntegrationMappingVulnerabilityRemediationSLA          = "remediationSLA"
	IntegrationMappingVulnerabilityScopeID                 = "scopeID"
	IntegrationMappingVulnerabilityScopeName               = "scopeName"
	IntegrationMappingVulnerabilityScore                   = "score"
	IntegrationMappingVulnerabilitySeverity                = "severity"
	IntegrationMappingVulnerabilitySource                  = "source"
	IntegrationMappingVulnerabilitySourceUpdatedAt         = "sourceUpdatedAt"
	IntegrationMappingVulnerabilitySummary                 = "summary"
	IntegrationMappingVulnerabilitySystemInternalID        = "systemInternalID"
	IntegrationMappingVulnerabilityTags                    = "tags"
	IntegrationMappingVulnerabilityValidated               = "validated"
	IntegrationMappingVulnerabilityVector                  = "vector"
	IntegrationMappingVulnerabilityVulnerabilityStatusID   = "vulnerabilityStatusID"
	IntegrationMappingVulnerabilityVulnerabilityStatusName = "vulnerabilityStatusName"
)

Integration mapping keys for Vulnerability.

Variables

View Source
var IntegrationIngestAssetRequestedTopic = gala.Topic[IntegrationIngestAssetRequested]{
	Name: "integration.ingest.asset.requested",
}

IntegrationIngestAssetRequestedTopic is the typed Gala topic for Asset ingest requests

View Source
var IntegrationIngestContactRequestedTopic = gala.Topic[IntegrationIngestContactRequested]{
	Name: "integration.ingest.contact.requested",
}

IntegrationIngestContactRequestedTopic is the typed Gala topic for Contact ingest requests

View Source
var IntegrationIngestDirectoryAccountRequestedTopic = gala.Topic[IntegrationIngestDirectoryAccountRequested]{
	Name: "integration.ingest.directory_account.requested",
}

IntegrationIngestDirectoryAccountRequestedTopic is the typed Gala topic for DirectoryAccount ingest requests

View Source
var IntegrationIngestDirectoryGroupRequestedTopic = gala.Topic[IntegrationIngestDirectoryGroupRequested]{
	Name: "integration.ingest.directory_group.requested",
}

IntegrationIngestDirectoryGroupRequestedTopic is the typed Gala topic for DirectoryGroup ingest requests

View Source
var IntegrationIngestDirectoryMembershipRequestedTopic = gala.Topic[IntegrationIngestDirectoryMembershipRequested]{
	Name: "integration.ingest.directory_membership.requested",
}

IntegrationIngestDirectoryMembershipRequestedTopic is the typed Gala topic for DirectoryMembership ingest requests

View Source
var IntegrationIngestEntityRequestedTopic = gala.Topic[IntegrationIngestEntityRequested]{
	Name: "integration.ingest.entity.requested",
}

IntegrationIngestEntityRequestedTopic is the typed Gala topic for Entity ingest requests

View Source
var IntegrationIngestFindingRequestedTopic = gala.Topic[IntegrationIngestFindingRequested]{
	Name: "integration.ingest.finding.requested",
}

IntegrationIngestFindingRequestedTopic is the typed Gala topic for Finding ingest requests

View Source
var IntegrationIngestRiskRequestedTopic = gala.Topic[IntegrationIngestRiskRequested]{
	Name: "integration.ingest.risk.requested",
}

IntegrationIngestRiskRequestedTopic is the typed Gala topic for Risk ingest requests

View Source
var IntegrationIngestVulnerabilityRequestedTopic = gala.Topic[IntegrationIngestVulnerabilityRequested]{
	Name: "integration.ingest.vulnerability.requested",
}

IntegrationIngestVulnerabilityRequestedTopic is the typed Gala topic for Vulnerability ingest requests

View Source
var IntegrationMappingSchemas = map[string]IntegrationMappingSchema{
	"Asset": {
		Name: "Asset",
		Fields: []IntegrationMappingField{
			{
				InputKey:  "accessModelID",
				GoField:   "AccessModelID",
				EntField:  "access_model_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "accessModelName",
				GoField:   "AccessModelName",
				EntField:  "access_model_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "assetDataClassificationID",
				GoField:   "AssetDataClassificationID",
				EntField:  "asset_data_classification_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "assetDataClassificationName",
				GoField:   "AssetDataClassificationName",
				EntField:  "asset_data_classification_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "assetSubtypeID",
				GoField:   "AssetSubtypeID",
				EntField:  "asset_subtype_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "assetSubtypeName",
				GoField:   "AssetSubtypeName",
				EntField:  "asset_subtype_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "assetType",
				GoField:   "AssetType",
				EntField:  "asset_type",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "categories",
				GoField:   "Categories",
				EntField:  "categories",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "containsPii",
				GoField:   "ContainsPii",
				EntField:  "contains_pii",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "costCenter",
				GoField:   "CostCenter",
				EntField:  "cost_center",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "criticalityID",
				GoField:   "CriticalityID",
				EntField:  "criticality_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "criticalityName",
				GoField:   "CriticalityName",
				EntField:  "criticality_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "description",
				GoField:   "Description",
				EntField:  "description",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "displayName",
				GoField:   "DisplayName",
				EntField:  "display_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "encryptionStatusID",
				GoField:   "EncryptionStatusID",
				EntField:  "encryption_status_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "encryptionStatusName",
				GoField:   "EncryptionStatusName",
				EntField:  "encryption_status_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentID",
				GoField:   "EnvironmentID",
				EntField:  "environment_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentName",
				GoField:   "EnvironmentName",
				EntField:  "environment_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "estimatedMonthlyCost",
				GoField:   "EstimatedMonthlyCost",
				EntField:  "estimated_monthly_cost",
				Type:      "float64",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "identifier",
				GoField:   "Identifier",
				EntField:  "identifier",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "integrationID",
				GoField:   "IntegrationID",
				EntField:  "integration_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalNotes",
				GoField:   "InternalNotes",
				EntField:  "internal_notes",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalOwner",
				GoField:   "InternalOwner",
				EntField:  "internal_owner",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalOwnerGroupID",
				GoField:   "InternalOwnerGroupID",
				EntField:  "internal_owner_group_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalOwnerUserID",
				GoField:   "InternalOwnerUserID",
				EntField:  "internal_owner_user_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "name",
				GoField:   "Name",
				EntField:  "name",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "observedAt",
				GoField:   "ObservedAt",
				EntField:  "observed_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "ownerID",
				GoField:   "OwnerID",
				EntField:  "owner_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "physicalLocation",
				GoField:   "PhysicalLocation",
				EntField:  "physical_location",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "purchaseDate",
				GoField:   "PurchaseDate",
				EntField:  "purchase_date",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "region",
				GoField:   "Region",
				EntField:  "region",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeID",
				GoField:   "ScopeID",
				EntField:  "scope_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeName",
				GoField:   "ScopeName",
				EntField:  "scope_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "securityTierID",
				GoField:   "SecurityTierID",
				EntField:  "security_tier_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "securityTierName",
				GoField:   "SecurityTierName",
				EntField:  "security_tier_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "sourceIdentifier",
				GoField:   "SourceIdentifier",
				EntField:  "source_identifier",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "sourceType",
				GoField:   "SourceType",
				EntField:  "source_type",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "systemInternalID",
				GoField:   "SystemInternalID",
				EntField:  "system_internal_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "tags",
				GoField:   "Tags",
				EntField:  "tags",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "website",
				GoField:   "Website",
				EntField:  "website",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
		},
		AllowedKeys: map[string]struct{}{
			"accessModelID":               {},
			"accessModelName":             {},
			"assetDataClassificationID":   {},
			"assetDataClassificationName": {},
			"assetSubtypeID":              {},
			"assetSubtypeName":            {},
			"assetType":                   {},
			"categories":                  {},
			"containsPii":                 {},
			"costCenter":                  {},
			"criticalityID":               {},
			"criticalityName":             {},
			"description":                 {},
			"displayName":                 {},
			"encryptionStatusID":          {},
			"encryptionStatusName":        {},
			"environmentID":               {},
			"environmentName":             {},
			"estimatedMonthlyCost":        {},
			"identifier":                  {},
			"integrationID":               {},
			"internalNotes":               {},
			"internalOwner":               {},
			"internalOwnerGroupID":        {},
			"internalOwnerUserID":         {},
			"name":                        {},
			"observedAt":                  {},
			"ownerID":                     {},
			"physicalLocation":            {},
			"purchaseDate":                {},
			"region":                      {},
			"scopeID":                     {},
			"scopeName":                   {},
			"securityTierID":              {},
			"securityTierName":            {},
			"sourceIdentifier":            {},
			"sourceType":                  {},
			"systemInternalID":            {},
			"tags":                        {},
			"website":                     {},
		},
		RequiredKeys: []string{
			"assetType",
			"name",
			"sourceType",
		},
		UpsertKeys: []string{
			"sourceIdentifier",
		},
		StockPersist: true,
	},
	"Contact": {
		Name: "Contact",
		Fields: []IntegrationMappingField{
			{
				InputKey:  "address",
				GoField:   "Address",
				EntField:  "address",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "company",
				GoField:   "Company",
				EntField:  "company",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "email",
				GoField:   "Email",
				EntField:  "email",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "externalID",
				GoField:   "ExternalID",
				EntField:  "external_id",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "fullName",
				GoField:   "FullName",
				EntField:  "full_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "integrationID",
				GoField:   "IntegrationID",
				EntField:  "integration_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "observedAt",
				GoField:   "ObservedAt",
				EntField:  "observed_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "phoneNumber",
				GoField:   "PhoneNumber",
				EntField:  "phone_number",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "status",
				GoField:   "Status",
				EntField:  "status",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "tags",
				GoField:   "Tags",
				EntField:  "tags",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "title",
				GoField:   "Title",
				EntField:  "title",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
		},
		AllowedKeys: map[string]struct{}{
			"address":       {},
			"company":       {},
			"email":         {},
			"externalID":    {},
			"fullName":      {},
			"integrationID": {},
			"observedAt":    {},
			"phoneNumber":   {},
			"status":        {},
			"tags":          {},
			"title":         {},
		},
		RequiredKeys: []string{
			"status",
		},
		UpsertKeys: []string{
			"email",
			"externalID",
		},
		StockPersist: true,
	},
	"DirectoryAccount": {
		Name: "DirectoryAccount",
		Fields: []IntegrationMappingField{
			{
				InputKey:  "accountType",
				GoField:   "AccountType",
				EntField:  "account_type",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "addedAt",
				GoField:   "AddedAt",
				EntField:  "added_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "avatarRemoteURL",
				GoField:   "AvatarRemoteURL",
				EntField:  "avatar_remote_url",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "avatarUpdatedAt",
				GoField:   "AvatarUpdatedAt",
				EntField:  "avatar_updated_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "canonicalEmail",
				GoField:   "CanonicalEmail",
				EntField:  "canonical_email",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "department",
				GoField:   "Department",
				EntField:  "department",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "directoryInstanceID",
				GoField:   "DirectoryInstanceID",
				EntField:  "directory_instance_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "directoryName",
				GoField:   "DirectoryName",
				EntField:  "directory_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "directorySyncRunID",
				GoField:   "DirectorySyncRunID",
				EntField:  "directory_sync_run_id",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "displayName",
				GoField:   "DisplayName",
				EntField:  "display_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentID",
				GoField:   "EnvironmentID",
				EntField:  "environment_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentName",
				GoField:   "EnvironmentName",
				EntField:  "environment_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "externalID",
				GoField:   "ExternalID",
				EntField:  "external_id",
				Type:      "string",
				Required:  true,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "familyName",
				GoField:   "FamilyName",
				EntField:  "family_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "firstSeenAt",
				GoField:   "FirstSeenAt",
				EntField:  "first_seen_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "givenName",
				GoField:   "GivenName",
				EntField:  "given_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "identityHolderID",
				GoField:   "IdentityHolderID",
				EntField:  "identity_holder_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "integrationID",
				GoField:   "IntegrationID",
				EntField:  "integration_id",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "jobTitle",
				GoField:   "JobTitle",
				EntField:  "job_title",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "lastLoginAt",
				GoField:   "LastLoginAt",
				EntField:  "last_login_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "lastSeenAt",
				GoField:   "LastSeenAt",
				EntField:  "last_seen_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "lastSeenIP",
				GoField:   "LastSeenIP",
				EntField:  "last_seen_ip",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "metadata",
				GoField:   "Metadata",
				EntField:  "metadata",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "mfaState",
				GoField:   "MfaState",
				EntField:  "mfa_state",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "observedAt",
				GoField:   "ObservedAt",
				EntField:  "observed_at",
				Type:      "time.Time",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "organizationUnit",
				GoField:   "OrganizationUnit",
				EntField:  "organization_unit",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "platformID",
				GoField:   "PlatformID",
				EntField:  "platform_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "profile",
				GoField:   "Profile",
				EntField:  "profile",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "profileHash",
				GoField:   "ProfileHash",
				EntField:  "profile_hash",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "removedAt",
				GoField:   "RemovedAt",
				EntField:  "removed_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeID",
				GoField:   "ScopeID",
				EntField:  "scope_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeName",
				GoField:   "ScopeName",
				EntField:  "scope_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "secondaryKey",
				GoField:   "SecondaryKey",
				EntField:  "secondary_key",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "sourceVersion",
				GoField:   "SourceVersion",
				EntField:  "source_version",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "status",
				GoField:   "Status",
				EntField:  "status",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "tags",
				GoField:   "Tags",
				EntField:  "tags",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
		},
		AllowedKeys: map[string]struct{}{
			"accountType":         {},
			"addedAt":             {},
			"avatarRemoteURL":     {},
			"avatarUpdatedAt":     {},
			"canonicalEmail":      {},
			"department":          {},
			"directoryInstanceID": {},
			"directoryName":       {},
			"directorySyncRunID":  {},
			"displayName":         {},
			"environmentID":       {},
			"environmentName":     {},
			"externalID":          {},
			"familyName":          {},
			"firstSeenAt":         {},
			"givenName":           {},
			"identityHolderID":    {},
			"integrationID":       {},
			"jobTitle":            {},
			"lastLoginAt":         {},
			"lastSeenAt":          {},
			"lastSeenIP":          {},
			"metadata":            {},
			"mfaState":            {},
			"observedAt":          {},
			"organizationUnit":    {},
			"platformID":          {},
			"profile":             {},
			"profileHash":         {},
			"removedAt":           {},
			"scopeID":             {},
			"scopeName":           {},
			"secondaryKey":        {},
			"sourceVersion":       {},
			"status":              {},
			"tags":                {},
		},
		RequiredKeys: []string{
			"externalID",
			"mfaState",
			"observedAt",
			"profileHash",
			"status",
		},
		UpsertKeys: []string{
			"canonicalEmail",
			"directorySyncRunID",
			"externalID",
			"integrationID",
		},
		StockPersist: true,
	},
	"DirectoryGroup": {
		Name: "DirectoryGroup",
		Fields: []IntegrationMappingField{
			{
				InputKey:  "addedAt",
				GoField:   "AddedAt",
				EntField:  "added_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "classification",
				GoField:   "Classification",
				EntField:  "classification",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "directoryInstanceID",
				GoField:   "DirectoryInstanceID",
				EntField:  "directory_instance_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "directorySyncRunID",
				GoField:   "DirectorySyncRunID",
				EntField:  "directory_sync_run_id",
				Type:      "string",
				Required:  true,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "displayName",
				GoField:   "DisplayName",
				EntField:  "display_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "email",
				GoField:   "Email",
				EntField:  "email",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentID",
				GoField:   "EnvironmentID",
				EntField:  "environment_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentName",
				GoField:   "EnvironmentName",
				EntField:  "environment_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "externalID",
				GoField:   "ExternalID",
				EntField:  "external_id",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: true,
			},
			{
				InputKey:  "externalSharingAllowed",
				GoField:   "ExternalSharingAllowed",
				EntField:  "external_sharing_allowed",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "firstSeenAt",
				GoField:   "FirstSeenAt",
				EntField:  "first_seen_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "integrationID",
				GoField:   "IntegrationID",
				EntField:  "integration_id",
				Type:      "string",
				Required:  true,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "lastSeenAt",
				GoField:   "LastSeenAt",
				EntField:  "last_seen_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "memberCount",
				GoField:   "MemberCount",
				EntField:  "member_count",
				Type:      "int",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "metadata",
				GoField:   "Metadata",
				EntField:  "metadata",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "observedAt",
				GoField:   "ObservedAt",
				EntField:  "observed_at",
				Type:      "time.Time",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "platformID",
				GoField:   "PlatformID",
				EntField:  "platform_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "profile",
				GoField:   "Profile",
				EntField:  "profile",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "profileHash",
				GoField:   "ProfileHash",
				EntField:  "profile_hash",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "removedAt",
				GoField:   "RemovedAt",
				EntField:  "removed_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeID",
				GoField:   "ScopeID",
				EntField:  "scope_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeName",
				GoField:   "ScopeName",
				EntField:  "scope_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "sourceVersion",
				GoField:   "SourceVersion",
				EntField:  "source_version",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "status",
				GoField:   "Status",
				EntField:  "status",
				Type:      "string",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "tags",
				GoField:   "Tags",
				EntField:  "tags",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
		},
		AllowedKeys: map[string]struct{}{
			"addedAt":                {},
			"classification":         {},
			"directoryInstanceID":    {},
			"directorySyncRunID":     {},
			"displayName":            {},
			"email":                  {},
			"environmentID":          {},
			"environmentName":        {},
			"externalID":             {},
			"externalSharingAllowed": {},
			"firstSeenAt":            {},
			"integrationID":          {},
			"lastSeenAt":             {},
			"memberCount":            {},
			"metadata":               {},
			"observedAt":             {},
			"platformID":             {},
			"profile":                {},
			"profileHash":            {},
			"removedAt":              {},
			"scopeID":                {},
			"scopeName":              {},
			"sourceVersion":          {},
			"status":                 {},
			"tags":                   {},
		},
		RequiredKeys: []string{
			"classification",
			"directorySyncRunID",
			"externalID",
			"integrationID",
			"observedAt",
			"profileHash",
			"status",
		},
		UpsertKeys: []string{
			"directorySyncRunID",
			"integrationID",
		},
		StockPersist: true,
	},
	"DirectoryMembership": {
		Name: "DirectoryMembership",
		Fields: []IntegrationMappingField{
			{
				InputKey:  "addedAt",
				GoField:   "AddedAt",
				EntField:  "added_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "directoryAccountID",
				GoField:   "DirectoryAccountID",
				EntField:  "directory_account_id",
				Type:      "string",
				Required:  true,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "directoryGroupID",
				GoField:   "DirectoryGroupID",
				EntField:  "directory_group_id",
				Type:      "string",
				Required:  true,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "directoryInstanceID",
				GoField:   "DirectoryInstanceID",
				EntField:  "directory_instance_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "directorySyncRunID",
				GoField:   "DirectorySyncRunID",
				EntField:  "directory_sync_run_id",
				Type:      "string",
				Required:  true,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "environmentID",
				GoField:   "EnvironmentID",
				EntField:  "environment_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentName",
				GoField:   "EnvironmentName",
				EntField:  "environment_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "firstSeenAt",
				GoField:   "FirstSeenAt",
				EntField:  "first_seen_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "integrationID",
				GoField:   "IntegrationID",
				EntField:  "integration_id",
				Type:      "string",
				Required:  true,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "lastConfirmedRunID",
				GoField:   "LastConfirmedRunID",
				EntField:  "last_confirmed_run_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "lastSeenAt",
				GoField:   "LastSeenAt",
				EntField:  "last_seen_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "metadata",
				GoField:   "Metadata",
				EntField:  "metadata",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "observedAt",
				GoField:   "ObservedAt",
				EntField:  "observed_at",
				Type:      "time.Time",
				Required:  true,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "platformID",
				GoField:   "PlatformID",
				EntField:  "platform_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "removedAt",
				GoField:   "RemovedAt",
				EntField:  "removed_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "role",
				GoField:   "Role",
				EntField:  "role",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeID",
				GoField:   "ScopeID",
				EntField:  "scope_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeName",
				GoField:   "ScopeName",
				EntField:  "scope_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "source",
				GoField:   "Source",
				EntField:  "source",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
		},
		AllowedKeys: map[string]struct{}{
			"addedAt":             {},
			"directoryAccountID":  {},
			"directoryGroupID":    {},
			"directoryInstanceID": {},
			"directorySyncRunID":  {},
			"environmentID":       {},
			"environmentName":     {},
			"firstSeenAt":         {},
			"integrationID":       {},
			"lastConfirmedRunID":  {},
			"lastSeenAt":          {},
			"metadata":            {},
			"observedAt":          {},
			"platformID":          {},
			"removedAt":           {},
			"role":                {},
			"scopeID":             {},
			"scopeName":           {},
			"source":              {},
		},
		RequiredKeys: []string{
			"directoryAccountID",
			"directoryGroupID",
			"directorySyncRunID",
			"integrationID",
			"observedAt",
		},
		UpsertKeys: []string{
			"directoryAccountID",
			"directoryGroupID",
			"directorySyncRunID",
			"integrationID",
		},
		StockPersist: true,
	},
	"Entity": {
		Name: "Entity",
		Fields: []IntegrationMappingField{
			{
				InputKey:  "annualSpend",
				GoField:   "AnnualSpend",
				EntField:  "annual_spend",
				Type:      "float64",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "approvedForUse",
				GoField:   "ApprovedForUse",
				EntField:  "approved_for_use",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "autoRenews",
				GoField:   "AutoRenews",
				EntField:  "auto_renews",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "billingModel",
				GoField:   "BillingModel",
				EntField:  "billing_model",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "contractEndDate",
				GoField:   "ContractEndDate",
				EntField:  "contract_end_date",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "contractRenewalAt",
				GoField:   "ContractRenewalAt",
				EntField:  "contract_renewal_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "contractStartDate",
				GoField:   "ContractStartDate",
				EntField:  "contract_start_date",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "displayName",
				GoField:   "DisplayName",
				EntField:  "display_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "domains",
				GoField:   "Domains",
				EntField:  "domains",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "entityRelationshipStateID",
				GoField:   "EntityRelationshipStateID",
				EntField:  "entity_relationship_state_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "entityRelationshipStateName",
				GoField:   "EntityRelationshipStateName",
				EntField:  "entity_relationship_state_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "entitySecurityQuestionnaireStatusID",
				GoField:   "EntitySecurityQuestionnaireStatusID",
				EntField:  "entity_security_questionnaire_status_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "entitySecurityQuestionnaireStatusName",
				GoField:   "EntitySecurityQuestionnaireStatusName",
				EntField:  "entity_security_questionnaire_status_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "entitySourceTypeID",
				GoField:   "EntitySourceTypeID",
				EntField:  "entity_source_type_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "entitySourceTypeName",
				GoField:   "EntitySourceTypeName",
				EntField:  "entity_source_type_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentID",
				GoField:   "EnvironmentID",
				EntField:  "environment_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentName",
				GoField:   "EnvironmentName",
				EntField:  "environment_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "externalID",
				GoField:   "ExternalID",
				EntField:  "external_id",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "hasSoc2",
				GoField:   "HasSoc2",
				EntField:  "has_soc2",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalNotes",
				GoField:   "InternalNotes",
				EntField:  "internal_notes",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalOwner",
				GoField:   "InternalOwner",
				EntField:  "internal_owner",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalOwnerGroupID",
				GoField:   "InternalOwnerGroupID",
				EntField:  "internal_owner_group_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalOwnerUserID",
				GoField:   "InternalOwnerUserID",
				EntField:  "internal_owner_user_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "lastReviewedAt",
				GoField:   "LastReviewedAt",
				EntField:  "last_reviewed_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "links",
				GoField:   "Links",
				EntField:  "links",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "mfaEnforced",
				GoField:   "MfaEnforced",
				EntField:  "mfa_enforced",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "mfaSupported",
				GoField:   "MfaSupported",
				EntField:  "mfa_supported",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "name",
				GoField:   "Name",
				EntField:  "name",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "nextReviewAt",
				GoField:   "NextReviewAt",
				EntField:  "next_review_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "observedAt",
				GoField:   "ObservedAt",
				EntField:  "observed_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "ownerID",
				GoField:   "OwnerID",
				EntField:  "owner_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "providedServices",
				GoField:   "ProvidedServices",
				EntField:  "provided_services",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "renewalRisk",
				GoField:   "RenewalRisk",
				EntField:  "renewal_risk",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "reviewFrequency",
				GoField:   "ReviewFrequency",
				EntField:  "review_frequency",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "reviewedBy",
				GoField:   "ReviewedBy",
				EntField:  "reviewed_by",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "reviewedByGroupID",
				GoField:   "ReviewedByGroupID",
				EntField:  "reviewed_by_group_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "reviewedByUserID",
				GoField:   "ReviewedByUserID",
				EntField:  "reviewed_by_user_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "riskRating",
				GoField:   "RiskRating",
				EntField:  "risk_rating",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "riskScore",
				GoField:   "RiskScore",
				EntField:  "risk_score",
				Type:      "int",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeID",
				GoField:   "ScopeID",
				EntField:  "scope_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeName",
				GoField:   "ScopeName",
				EntField:  "scope_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "soc2PeriodEnd",
				GoField:   "Soc2PeriodEnd",
				EntField:  "soc2_period_end",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "spendCurrency",
				GoField:   "SpendCurrency",
				EntField:  "spend_currency",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "ssoEnforced",
				GoField:   "SsoEnforced",
				EntField:  "sso_enforced",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "status",
				GoField:   "Status",
				EntField:  "status",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "statusPageURL",
				GoField:   "StatusPageURL",
				EntField:  "status_page_url",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "systemInternalID",
				GoField:   "SystemInternalID",
				EntField:  "system_internal_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "tags",
				GoField:   "Tags",
				EntField:  "tags",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "terminationNoticeDays",
				GoField:   "TerminationNoticeDays",
				EntField:  "termination_notice_days",
				Type:      "int",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "tier",
				GoField:   "Tier",
				EntField:  "tier",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "vendorMetadata",
				GoField:   "VendorMetadata",
				EntField:  "vendor_metadata",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
		},
		AllowedKeys: map[string]struct{}{
			"annualSpend":                           {},
			"approvedForUse":                        {},
			"autoRenews":                            {},
			"billingModel":                          {},
			"contractEndDate":                       {},
			"contractRenewalAt":                     {},
			"contractStartDate":                     {},
			"displayName":                           {},
			"domains":                               {},
			"entityRelationshipStateID":             {},
			"entityRelationshipStateName":           {},
			"entitySecurityQuestionnaireStatusID":   {},
			"entitySecurityQuestionnaireStatusName": {},
			"entitySourceTypeID":                    {},
			"entitySourceTypeName":                  {},
			"environmentID":                         {},
			"environmentName":                       {},
			"externalID":                            {},
			"hasSoc2":                               {},
			"internalNotes":                         {},
			"internalOwner":                         {},
			"internalOwnerGroupID":                  {},
			"internalOwnerUserID":                   {},
			"lastReviewedAt":                        {},
			"links":                                 {},
			"mfaEnforced":                           {},
			"mfaSupported":                          {},
			"name":                                  {},
			"nextReviewAt":                          {},
			"observedAt":                            {},
			"ownerID":                               {},
			"providedServices":                      {},
			"renewalRisk":                           {},
			"reviewFrequency":                       {},
			"reviewedBy":                            {},
			"reviewedByGroupID":                     {},
			"reviewedByUserID":                      {},
			"riskRating":                            {},
			"riskScore":                             {},
			"scopeID":                               {},
			"scopeName":                             {},
			"soc2PeriodEnd":                         {},
			"spendCurrency":                         {},
			"ssoEnforced":                           {},
			"status":                                {},
			"statusPageURL":                         {},
			"systemInternalID":                      {},
			"tags":                                  {},
			"terminationNoticeDays":                 {},
			"tier":                                  {},
			"vendorMetadata":                        {},
		},
		RequiredKeys: []string{},
		UpsertKeys: []string{
			"externalID",
			"name",
		},
		StockPersist: true,
	},
	"Finding": {
		Name: "Finding",
		Fields: []IntegrationMappingField{
			{
				InputKey:  "assessmentID",
				GoField:   "AssessmentID",
				EntField:  "assessment_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "blocksProduction",
				GoField:   "BlocksProduction",
				EntField:  "blocks_production",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "categories",
				GoField:   "Categories",
				EntField:  "categories",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "category",
				GoField:   "Category",
				EntField:  "category",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "description",
				GoField:   "Description",
				EntField:  "description",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "displayName",
				GoField:   "DisplayName",
				EntField:  "display_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentID",
				GoField:   "EnvironmentID",
				EntField:  "environment_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentName",
				GoField:   "EnvironmentName",
				EntField:  "environment_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "eventTime",
				GoField:   "EventTime",
				EntField:  "event_time",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "exploitability",
				GoField:   "Exploitability",
				EntField:  "exploitability",
				Type:      "float64",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "externalID",
				GoField:   "ExternalID",
				EntField:  "external_id",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "externalOwnerID",
				GoField:   "ExternalOwnerID",
				EntField:  "external_owner_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "externalURI",
				GoField:   "ExternalURI",
				EntField:  "external_uri",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "findingClass",
				GoField:   "FindingClass",
				EntField:  "finding_class",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "findingStatusID",
				GoField:   "FindingStatusID",
				EntField:  "finding_status_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "findingStatusName",
				GoField:   "FindingStatusName",
				EntField:  "finding_status_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "impact",
				GoField:   "Impact",
				EntField:  "impact",
				Type:      "float64",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalNotes",
				GoField:   "InternalNotes",
				EntField:  "internal_notes",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "metadata",
				GoField:   "Metadata",
				EntField:  "metadata",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "numericSeverity",
				GoField:   "NumericSeverity",
				EntField:  "numeric_severity",
				Type:      "float64",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "open",
				GoField:   "Open",
				EntField:  "open",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "ownerID",
				GoField:   "OwnerID",
				EntField:  "owner_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "priority",
				GoField:   "Priority",
				EntField:  "priority",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "production",
				GoField:   "Production",
				EntField:  "production",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "public",
				GoField:   "Public",
				EntField:  "public",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "rawPayload",
				GoField:   "RawPayload",
				EntField:  "raw_payload",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "recommendation",
				GoField:   "Recommendation",
				EntField:  "recommendation",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "recommendedActions",
				GoField:   "RecommendedActions",
				EntField:  "recommended_actions",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "references",
				GoField:   "References",
				EntField:  "references",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "remediationSLA",
				GoField:   "RemediationSLA",
				EntField:  "remediation_sla",
				Type:      "int",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "reportedAt",
				GoField:   "ReportedAt",
				EntField:  "reported_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "resourceName",
				GoField:   "ResourceName",
				EntField:  "resource_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeID",
				GoField:   "ScopeID",
				EntField:  "scope_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeName",
				GoField:   "ScopeName",
				EntField:  "scope_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "score",
				GoField:   "Score",
				EntField:  "score",
				Type:      "float64",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "severity",
				GoField:   "Severity",
				EntField:  "severity",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "source",
				GoField:   "Source",
				EntField:  "source",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "sourceUpdatedAt",
				GoField:   "SourceUpdatedAt",
				EntField:  "source_updated_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "state",
				GoField:   "State",
				EntField:  "state",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "stepsToReproduce",
				GoField:   "StepsToReproduce",
				EntField:  "steps_to_reproduce",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "systemInternalID",
				GoField:   "SystemInternalID",
				EntField:  "system_internal_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "tags",
				GoField:   "Tags",
				EntField:  "tags",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "targetDetails",
				GoField:   "TargetDetails",
				EntField:  "target_details",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "targets",
				GoField:   "Targets",
				EntField:  "targets",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "validated",
				GoField:   "Validated",
				EntField:  "validated",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "vector",
				GoField:   "Vector",
				EntField:  "vector",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
		},
		AllowedKeys: map[string]struct{}{
			"assessmentID":       {},
			"blocksProduction":   {},
			"categories":         {},
			"category":           {},
			"description":        {},
			"displayName":        {},
			"environmentID":      {},
			"environmentName":    {},
			"eventTime":          {},
			"exploitability":     {},
			"externalID":         {},
			"externalOwnerID":    {},
			"externalURI":        {},
			"findingClass":       {},
			"findingStatusID":    {},
			"findingStatusName":  {},
			"impact":             {},
			"internalNotes":      {},
			"metadata":           {},
			"numericSeverity":    {},
			"open":               {},
			"ownerID":            {},
			"priority":           {},
			"production":         {},
			"public":             {},
			"rawPayload":         {},
			"recommendation":     {},
			"recommendedActions": {},
			"references":         {},
			"remediationSLA":     {},
			"reportedAt":         {},
			"resourceName":       {},
			"scopeID":            {},
			"scopeName":          {},
			"score":              {},
			"severity":           {},
			"source":             {},
			"sourceUpdatedAt":    {},
			"state":              {},
			"stepsToReproduce":   {},
			"systemInternalID":   {},
			"tags":               {},
			"targetDetails":      {},
			"targets":            {},
			"validated":          {},
			"vector":             {},
		},
		RequiredKeys: []string{},
		UpsertKeys: []string{
			"externalID",
		},
		StockPersist: true,
	},
	"Risk": {
		Name: "Risk",
		Fields: []IntegrationMappingField{
			{
				InputKey:  "businessCosts",
				GoField:   "BusinessCosts",
				EntField:  "business_costs",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "businessCostsJSON",
				GoField:   "BusinessCostsJSON",
				EntField:  "business_costs_json",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "details",
				GoField:   "Details",
				EntField:  "details",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "detailsJSON",
				GoField:   "DetailsJSON",
				EntField:  "details_json",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentID",
				GoField:   "EnvironmentID",
				EntField:  "environment_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentName",
				GoField:   "EnvironmentName",
				EntField:  "environment_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "externalID",
				GoField:   "ExternalID",
				EntField:  "external_id",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "externalUUID",
				GoField:   "ExternalUUID",
				EntField:  "external_uuid",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "impact",
				GoField:   "Impact",
				EntField:  "impact",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "integrationID",
				GoField:   "IntegrationID",
				EntField:  "integration_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "likelihood",
				GoField:   "Likelihood",
				EntField:  "likelihood",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "mitigation",
				GoField:   "Mitigation",
				EntField:  "mitigation",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "mitigationJSON",
				GoField:   "MitigationJSON",
				EntField:  "mitigation_json",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "name",
				GoField:   "Name",
				EntField:  "name",
				Type:      "string",
				Required:  true,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "observedAt",
				GoField:   "ObservedAt",
				EntField:  "observed_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "ownerID",
				GoField:   "OwnerID",
				EntField:  "owner_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "riskCategoryID",
				GoField:   "RiskCategoryID",
				EntField:  "risk_category_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "riskCategoryName",
				GoField:   "RiskCategoryName",
				EntField:  "risk_category_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "riskKindID",
				GoField:   "RiskKindID",
				EntField:  "risk_kind_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "riskKindName",
				GoField:   "RiskKindName",
				EntField:  "risk_kind_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeID",
				GoField:   "ScopeID",
				EntField:  "scope_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeName",
				GoField:   "ScopeName",
				EntField:  "scope_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "score",
				GoField:   "Score",
				EntField:  "score",
				Type:      "int",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "status",
				GoField:   "Status",
				EntField:  "status",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "tags",
				GoField:   "Tags",
				EntField:  "tags",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
		},
		AllowedKeys: map[string]struct{}{
			"businessCosts":     {},
			"businessCostsJSON": {},
			"details":           {},
			"detailsJSON":       {},
			"environmentID":     {},
			"environmentName":   {},
			"externalID":        {},
			"externalUUID":      {},
			"impact":            {},
			"integrationID":     {},
			"likelihood":        {},
			"mitigation":        {},
			"mitigationJSON":    {},
			"name":              {},
			"observedAt":        {},
			"ownerID":           {},
			"riskCategoryID":    {},
			"riskCategoryName":  {},
			"riskKindID":        {},
			"riskKindName":      {},
			"scopeID":           {},
			"scopeName":         {},
			"score":             {},
			"status":            {},
			"tags":              {},
		},
		RequiredKeys: []string{
			"name",
		},
		UpsertKeys: []string{
			"externalID",
			"name",
		},
		StockPersist: true,
	},
	"Vulnerability": {
		Name: "Vulnerability",
		Fields: []IntegrationMappingField{
			{
				InputKey:  "blocking",
				GoField:   "Blocking",
				EntField:  "blocking",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "category",
				GoField:   "Category",
				EntField:  "category",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "cveID",
				GoField:   "CveID",
				EntField:  "cve_id",
				Type:      "string",
				Required:  false,
				UpsertKey: true,
				LookupKey: false,
			},
			{
				InputKey:  "description",
				GoField:   "Description",
				EntField:  "description",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "discoveredAt",
				GoField:   "DiscoveredAt",
				EntField:  "discovered_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "displayName",
				GoField:   "DisplayName",
				EntField:  "display_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentID",
				GoField:   "EnvironmentID",
				EntField:  "environment_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "environmentName",
				GoField:   "EnvironmentName",
				EntField:  "environment_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "exploitability",
				GoField:   "Exploitability",
				EntField:  "exploitability",
				Type:      "float64",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "externalID",
				GoField:   "ExternalID",
				EntField:  "external_id",
				Type:      "string",
				Required:  true,
				UpsertKey: true,
				LookupKey: true,
			},
			{
				InputKey:  "externalOwnerID",
				GoField:   "ExternalOwnerID",
				EntField:  "external_owner_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "externalURI",
				GoField:   "ExternalURI",
				EntField:  "external_uri",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "impact",
				GoField:   "Impact",
				EntField:  "impact",
				Type:      "float64",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "impacts",
				GoField:   "Impacts",
				EntField:  "impacts",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "internalNotes",
				GoField:   "InternalNotes",
				EntField:  "internal_notes",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "metadata",
				GoField:   "Metadata",
				EntField:  "metadata",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "open",
				GoField:   "Open",
				EntField:  "open",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "ownerID",
				GoField:   "OwnerID",
				EntField:  "owner_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "priority",
				GoField:   "Priority",
				EntField:  "priority",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "production",
				GoField:   "Production",
				EntField:  "production",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "public",
				GoField:   "Public",
				EntField:  "public",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "publishedAt",
				GoField:   "PublishedAt",
				EntField:  "published_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "rawPayload",
				GoField:   "RawPayload",
				EntField:  "raw_payload",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "references",
				GoField:   "References",
				EntField:  "references",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "remediationSLA",
				GoField:   "RemediationSLA",
				EntField:  "remediation_sla",
				Type:      "int",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeID",
				GoField:   "ScopeID",
				EntField:  "scope_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "scopeName",
				GoField:   "ScopeName",
				EntField:  "scope_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "score",
				GoField:   "Score",
				EntField:  "score",
				Type:      "float64",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "severity",
				GoField:   "Severity",
				EntField:  "severity",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "source",
				GoField:   "Source",
				EntField:  "source",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "sourceUpdatedAt",
				GoField:   "SourceUpdatedAt",
				EntField:  "source_updated_at",
				Type:      "time.Time",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "summary",
				GoField:   "Summary",
				EntField:  "summary",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "systemInternalID",
				GoField:   "SystemInternalID",
				EntField:  "system_internal_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "tags",
				GoField:   "Tags",
				EntField:  "tags",
				Type:      "json.RawMessage",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "validated",
				GoField:   "Validated",
				EntField:  "validated",
				Type:      "bool",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "vector",
				GoField:   "Vector",
				EntField:  "vector",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "vulnerabilityStatusID",
				GoField:   "VulnerabilityStatusID",
				EntField:  "vulnerability_status_id",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
			{
				InputKey:  "vulnerabilityStatusName",
				GoField:   "VulnerabilityStatusName",
				EntField:  "vulnerability_status_name",
				Type:      "string",
				Required:  false,
				UpsertKey: false,
				LookupKey: false,
			},
		},
		AllowedKeys: map[string]struct{}{
			"blocking":                {},
			"category":                {},
			"cveID":                   {},
			"description":             {},
			"discoveredAt":            {},
			"displayName":             {},
			"environmentID":           {},
			"environmentName":         {},
			"exploitability":          {},
			"externalID":              {},
			"externalOwnerID":         {},
			"externalURI":             {},
			"impact":                  {},
			"impacts":                 {},
			"internalNotes":           {},
			"metadata":                {},
			"open":                    {},
			"ownerID":                 {},
			"priority":                {},
			"production":              {},
			"public":                  {},
			"publishedAt":             {},
			"rawPayload":              {},
			"references":              {},
			"remediationSLA":          {},
			"scopeID":                 {},
			"scopeName":               {},
			"score":                   {},
			"severity":                {},
			"source":                  {},
			"sourceUpdatedAt":         {},
			"summary":                 {},
			"systemInternalID":        {},
			"tags":                    {},
			"validated":               {},
			"vector":                  {},
			"vulnerabilityStatusID":   {},
			"vulnerabilityStatusName": {},
		},
		RequiredKeys: []string{
			"externalID",
		},
		UpsertKeys: []string{
			"cveID",
			"externalID",
		},
		StockPersist: true,
	},
}

IntegrationMappingSchemas maps schema names to their mapping metadata

Functions

func DecodeInput added in v1.15.0

func DecodeInput[T any](data json.RawMessage) (T, error)

DecodeInput converts a mapped JSON document into the target input type T via JSON round-trip. Use this in schema-specific ingest handlers to decode CEL-mapped output into ent create/update inputs:

input, err := integrationgenerated.DecodeInput[generated.CreateVulnerabilityInput](mappedRaw)

func PrepareAssetInput added in v1.15.0

func PrepareAssetInput(input generated.CreateAssetInput, integration *generated.Integration) generated.CreateAssetInput

PrepareAssetInput stamps integration-scoped values onto a CreateAssetInput before persistence. Fields are only overwritten when the input value is already zero/nil.

func PrepareContactInput added in v1.15.0

func PrepareContactInput(input generated.CreateContactInput, integration *generated.Integration) generated.CreateContactInput

PrepareContactInput stamps integration-scoped values onto a CreateContactInput before persistence. Fields are only overwritten when the input value is already zero/nil.

func PrepareDirectoryAccountInput added in v1.15.0

func PrepareDirectoryAccountInput(input generated.CreateDirectoryAccountInput, integration *generated.Integration) generated.CreateDirectoryAccountInput

PrepareDirectoryAccountInput stamps integration-scoped values onto a CreateDirectoryAccountInput before persistence. Fields are only overwritten when the input value is already zero/nil.

func PrepareDirectoryGroupInput added in v1.15.0

func PrepareDirectoryGroupInput(input generated.CreateDirectoryGroupInput, integration *generated.Integration) generated.CreateDirectoryGroupInput

PrepareDirectoryGroupInput stamps integration-scoped values onto a CreateDirectoryGroupInput before persistence. Fields are only overwritten when the input value is already zero/nil.

func PrepareDirectoryMembershipInput added in v1.15.0

PrepareDirectoryMembershipInput stamps integration-scoped values onto a CreateDirectoryMembershipInput before persistence. Fields are only overwritten when the input value is already zero/nil.

func PrepareEntityInput added in v1.15.0

func PrepareEntityInput(input generated.CreateEntityInput, integration *generated.Integration) generated.CreateEntityInput

PrepareEntityInput stamps integration-scoped values onto a CreateEntityInput before persistence. Fields are only overwritten when the input value is already zero/nil.

func PrepareFindingInput added in v1.15.0

func PrepareFindingInput(input generated.CreateFindingInput, integration *generated.Integration) generated.CreateFindingInput

PrepareFindingInput stamps integration-scoped values onto a CreateFindingInput before persistence. Fields are only overwritten when the input value is already zero/nil.

func PrepareRiskInput added in v1.15.0

func PrepareRiskInput(input generated.CreateRiskInput, integration *generated.Integration) generated.CreateRiskInput

PrepareRiskInput stamps integration-scoped values onto a CreateRiskInput before persistence. Fields are only overwritten when the input value is already zero/nil.

func PrepareVulnerabilityInput added in v1.15.0

func PrepareVulnerabilityInput(input generated.CreateVulnerabilityInput, integration *generated.Integration) generated.CreateVulnerabilityInput

PrepareVulnerabilityInput stamps integration-scoped values onto a CreateVulnerabilityInput before persistence. Fields are only overwritten when the input value is already zero/nil.

Types

type IntegrationIngestAssetRequested added in v1.15.0

type IntegrationIngestAssetRequested struct {
	Metadata IntegrationIngestMetadata  `json:"metadata"`
	Input    generated.CreateAssetInput `json:"input"`
}

IntegrationIngestAssetRequested is the typed second-stage ingest contract for Asset records

type IntegrationIngestContactRequested added in v1.15.0

type IntegrationIngestContactRequested struct {
	Metadata IntegrationIngestMetadata    `json:"metadata"`
	Input    generated.CreateContactInput `json:"input"`
}

IntegrationIngestContactRequested is the typed second-stage ingest contract for Contact records

type IntegrationIngestDirectoryAccountRequested added in v1.15.0

type IntegrationIngestDirectoryAccountRequested struct {
	Metadata IntegrationIngestMetadata             `json:"metadata"`
	Input    generated.CreateDirectoryAccountInput `json:"input"`
}

IntegrationIngestDirectoryAccountRequested is the typed second-stage ingest contract for DirectoryAccount records

type IntegrationIngestDirectoryGroupRequested added in v1.15.0

type IntegrationIngestDirectoryGroupRequested struct {
	Metadata IntegrationIngestMetadata           `json:"metadata"`
	Input    generated.CreateDirectoryGroupInput `json:"input"`
}

IntegrationIngestDirectoryGroupRequested is the typed second-stage ingest contract for DirectoryGroup records

type IntegrationIngestDirectoryMembershipRequested added in v1.15.0

type IntegrationIngestDirectoryMembershipRequested struct {
	Metadata IntegrationIngestMetadata                `json:"metadata"`
	Input    generated.CreateDirectoryMembershipInput `json:"input"`
}

IntegrationIngestDirectoryMembershipRequested is the typed second-stage ingest contract for DirectoryMembership records

type IntegrationIngestEntityRequested added in v1.15.0

type IntegrationIngestEntityRequested struct {
	Metadata IntegrationIngestMetadata   `json:"metadata"`
	Input    generated.CreateEntityInput `json:"input"`
}

IntegrationIngestEntityRequested is the typed second-stage ingest contract for Entity records

type IntegrationIngestFindingRequested added in v1.15.0

type IntegrationIngestFindingRequested struct {
	Metadata IntegrationIngestMetadata    `json:"metadata"`
	Input    generated.CreateFindingInput `json:"input"`
}

IntegrationIngestFindingRequested is the typed second-stage ingest contract for Finding records

type IntegrationIngestMetadata added in v1.15.0

type IntegrationIngestMetadata struct {
	IntegrationID       string                  `json:"integrationId"`
	DefinitionID        string                  `json:"definitionId,omitempty"`
	Operation           string                  `json:"operation,omitempty"`
	Variant             string                  `json:"variant,omitempty"`
	Source              IntegrationIngestSource `json:"source,omitempty"`
	RunID               string                  `json:"runId,omitempty"`
	Webhook             string                  `json:"webhook,omitempty"`
	WebhookEvent        string                  `json:"webhookEvent,omitempty"`
	DeliveryID          string                  `json:"deliveryId,omitempty"`
	WorkflowInstanceID  string                  `json:"workflowInstanceId,omitempty"`
	WorkflowActionKey   string                  `json:"workflowActionKey,omitempty"`
	WorkflowActionIndex int                     `json:"workflowActionIndex,omitempty"`
	WorkflowObjectID    string                  `json:"workflowObjectId,omitempty"`
	WorkflowObjectType  string                  `json:"workflowObjectType,omitempty"`
}

IntegrationIngestMetadata captures source-agnostic execution context for second-stage ingest handlers

type IntegrationIngestRiskRequested added in v1.15.0

type IntegrationIngestRiskRequested struct {
	Metadata IntegrationIngestMetadata `json:"metadata"`
	Input    generated.CreateRiskInput `json:"input"`
}

IntegrationIngestRiskRequested is the typed second-stage ingest contract for Risk records

type IntegrationIngestSource added in v1.15.0

type IntegrationIngestSource string

IntegrationIngestSource identifies how a typed ingest request entered the ingest pipeline

const (
	IntegrationIngestSourceOperation IntegrationIngestSource = "operation"
	IntegrationIngestSourceWorkflow  IntegrationIngestSource = "workflow"
	IntegrationIngestSourceWebhook   IntegrationIngestSource = "webhook"
	IntegrationIngestSourceDirect    IntegrationIngestSource = "direct"
)

type IntegrationIngestVulnerabilityRequested added in v1.15.0

type IntegrationIngestVulnerabilityRequested struct {
	Metadata IntegrationIngestMetadata          `json:"metadata"`
	Input    generated.CreateVulnerabilityInput `json:"input"`
}

IntegrationIngestVulnerabilityRequested is the typed second-stage ingest contract for Vulnerability records

type IntegrationMappingField

type IntegrationMappingField struct {
	InputKey  string
	GoField   string
	EntField  string
	Type      string
	Required  bool
	UpsertKey bool
	LookupKey bool
}

IntegrationMappingField describes an integration mapping target field

type IntegrationMappingSchema

type IntegrationMappingSchema struct {
	Name         string
	Fields       []IntegrationMappingField
	AllowedKeys  map[string]struct{}
	RequiredKeys []string
	UpsertKeys   []string
	StockPersist bool
}

IntegrationMappingSchema describes a schema with integration mapping fields

Jump to

Keyboard shortcuts

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