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
- Variables
- func DecodeInput[T any](data json.RawMessage) (T, error)
- func PrepareAssetInput(input generated.CreateAssetInput, integration *generated.Integration) generated.CreateAssetInput
- func PrepareContactInput(input generated.CreateContactInput, integration *generated.Integration) generated.CreateContactInput
- func PrepareDirectoryAccountInput(input generated.CreateDirectoryAccountInput, ...) generated.CreateDirectoryAccountInput
- func PrepareDirectoryGroupInput(input generated.CreateDirectoryGroupInput, integration *generated.Integration) generated.CreateDirectoryGroupInput
- func PrepareDirectoryMembershipInput(input generated.CreateDirectoryMembershipInput, ...) generated.CreateDirectoryMembershipInput
- func PrepareEntityInput(input generated.CreateEntityInput, integration *generated.Integration) generated.CreateEntityInput
- func PrepareFindingInput(input generated.CreateFindingInput, integration *generated.Integration) generated.CreateFindingInput
- func PrepareRiskInput(input generated.CreateRiskInput, integration *generated.Integration) generated.CreateRiskInput
- func PrepareVulnerabilityInput(input generated.CreateVulnerabilityInput, integration *generated.Integration) generated.CreateVulnerabilityInput
- type IntegrationIngestAssetRequested
- type IntegrationIngestContactRequested
- type IntegrationIngestDirectoryAccountRequested
- type IntegrationIngestDirectoryGroupRequested
- type IntegrationIngestDirectoryMembershipRequested
- type IntegrationIngestEntityRequested
- type IntegrationIngestFindingRequested
- type IntegrationIngestMetadata
- type IntegrationIngestRiskRequested
- type IntegrationIngestSource
- type IntegrationIngestVulnerabilityRequested
- type IntegrationMappingField
- type IntegrationMappingSchema
Constants ¶
const ( IntegrationMappingSchemaAsset = "Asset" IntegrationMappingSchemaContact = "Contact" IntegrationMappingSchemaDirectoryAccount = "DirectoryAccount" IntegrationMappingSchemaDirectoryGroup = "DirectoryGroup" IntegrationMappingSchemaDirectoryMembership = "DirectoryMembership" IntegrationMappingSchemaEntity = "Entity" IntegrationMappingSchemaFinding = "Finding" IntegrationMappingSchemaRisk = "Risk" IntegrationMappingSchemaVulnerability = "Vulnerability" )
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.
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.
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.
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.
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.
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.
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.
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.
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 ¶
var IntegrationIngestAssetRequestedTopic = gala.Topic[IntegrationIngestAssetRequested]{
Name: "integration.ingest.asset.requested",
}
IntegrationIngestAssetRequestedTopic is the typed Gala topic for Asset ingest requests
var IntegrationIngestContactRequestedTopic = gala.Topic[IntegrationIngestContactRequested]{
Name: "integration.ingest.contact.requested",
}
IntegrationIngestContactRequestedTopic is the typed Gala topic for Contact ingest requests
var IntegrationIngestDirectoryAccountRequestedTopic = gala.Topic[IntegrationIngestDirectoryAccountRequested]{
Name: "integration.ingest.directory_account.requested",
}
IntegrationIngestDirectoryAccountRequestedTopic is the typed Gala topic for DirectoryAccount ingest requests
var IntegrationIngestDirectoryGroupRequestedTopic = gala.Topic[IntegrationIngestDirectoryGroupRequested]{
Name: "integration.ingest.directory_group.requested",
}
IntegrationIngestDirectoryGroupRequestedTopic is the typed Gala topic for DirectoryGroup ingest requests
var IntegrationIngestDirectoryMembershipRequestedTopic = gala.Topic[IntegrationIngestDirectoryMembershipRequested]{
Name: "integration.ingest.directory_membership.requested",
}
IntegrationIngestDirectoryMembershipRequestedTopic is the typed Gala topic for DirectoryMembership ingest requests
var IntegrationIngestEntityRequestedTopic = gala.Topic[IntegrationIngestEntityRequested]{
Name: "integration.ingest.entity.requested",
}
IntegrationIngestEntityRequestedTopic is the typed Gala topic for Entity ingest requests
var IntegrationIngestFindingRequestedTopic = gala.Topic[IntegrationIngestFindingRequested]{
Name: "integration.ingest.finding.requested",
}
IntegrationIngestFindingRequestedTopic is the typed Gala topic for Finding ingest requests
var IntegrationIngestRiskRequestedTopic = gala.Topic[IntegrationIngestRiskRequested]{
Name: "integration.ingest.risk.requested",
}
IntegrationIngestRiskRequestedTopic is the typed Gala topic for Risk ingest requests
var IntegrationIngestVulnerabilityRequestedTopic = gala.Topic[IntegrationIngestVulnerabilityRequested]{
Name: "integration.ingest.vulnerability.requested",
}
IntegrationIngestVulnerabilityRequestedTopic is the typed Gala topic for Vulnerability ingest requests
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
func PrepareDirectoryMembershipInput(input generated.CreateDirectoryMembershipInput, integration *generated.Integration) generated.CreateDirectoryMembershipInput
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