gencatalog

package
v0.28.3 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package gencatalog is the output of parsing the catalog file

Index

Constants

This section is empty.

Variables

View Source
var DefaultCatalog = catalog.Catalog{
	Addons: map[string]catalog.Feature{
		string(models.CatalogDomainScanningAddon): catalog.Feature{
			Audience: "private",
			Billing: catalog.Billing{Prices: []catalog.Price{catalog.Price{
				Interval:   "month",
				LookupKey:  "domain_scan_monthly",
				Nickname:   "domain_scan_monthly",
				PriceID:    "price_1RizUyBvxky1R7SvfaG5BAVk",
				UnitAmount: int64(10000),
			}, catalog.Price{
				Interval:   "year",
				LookupKey:  "domain_scan_annually",
				Nickname:   "domain_scan_annually",
				PriceID:    "price_1RizUzBvxky1R7Sv5pAQkFgI",
				UnitAmount: int64(100000),
			}}},
			Description: "Domain and Vulnerability Scanning",
			DisplayName: "Domain and Vulnerability Scanning",
			LookupKey:   "domain_scanning_addon",
			ProductID:   "prod_SeI5ZawfJy5AkJ",
		},
		string(models.CatalogExtraEvidenceStorageAddon): catalog.Feature{
			Audience: "public",
			Billing: catalog.Billing{Prices: []catalog.Price{catalog.Price{
				Interval:   "month",
				LookupKey:  "extra_evidence_storage_100gb",
				Metadata:   map[string]string{"increment_gb": "100"},
				Nickname:   "extra_evidence_storage_100gb",
				PriceID:    "price_1RizV0Bvxky1R7SvQ7xVtID7",
				UnitAmount: int64(1000),
			}}},
			Description: "Additional Evidence Storage for Compliance Evidence and Documents (100GB)",
			DisplayName: "Additional Evidence Storage (100GB)",
			LookupKey:   "extra_evidence_storage_addon",
			ProductID:   "prod_SeI5CFhlkNjcwx",
		},
		string(models.CatalogPolicyManagementAddon): catalog.Feature{
			Audience: "beta",
			Billing: catalog.Billing{Prices: []catalog.Price{catalog.Price{
				Interval:   "month",
				LookupKey:  "price_policy_mgmt_monthly",
				Nickname:   "price_policy_mgmt_monthly",
				PriceID:    "price_1RizV2Bvxky1R7SvDNU2ISMK",
				UnitAmount: int64(1000),
			}, catalog.Price{
				Interval:   "month",
				LookupKey:  "price_policy_mgmt_annually",
				Nickname:   "price_policy_mgmt_annually",
				PriceID:    "price_1RizV2Bvxky1R7SvDuXYJIiE",
				UnitAmount: int64(10000),
			}}},
			Description: "Policy and Procedure Management",
			DisplayName: "Policy and Procedure Management",
			LookupKey:   "policy_management_addon",
			ProductID:   "prod_SeI5yMS7iUwqQr",
		},
		string(models.CatalogRiskManagementAddon): catalog.Feature{
			Audience: "beta",
			Billing: catalog.Billing{Prices: []catalog.Price{catalog.Price{
				Interval:   "month",
				LookupKey:  "price_risk_mgmt_monthly",
				Nickname:   "price_risk_mgmt_monthly",
				PriceID:    "price_1RizV4Bvxky1R7Sv2NOECTy1",
				UnitAmount: int64(1000),
			}, catalog.Price{
				Interval:   "year",
				LookupKey:  "price_risk_mgmt_annually",
				Nickname:   "price_risk_mgmt_annually",
				PriceID:    "price_1RizV4Bvxky1R7SvG60NheSe",
				UnitAmount: int64(10000),
			}}},
			Description: "Risk Management",
			DisplayName: "Risk Management",
			LookupKey:   "risk_management_addon",
			ProductID:   "prod_SeI54PHvjUiTKZ",
		},
	},
	Modules: map[string]catalog.Feature{
		string(models.CatalogBaseModule): catalog.Feature{
			Audience: "public",
			Billing: catalog.Billing{Prices: []catalog.Price{catalog.Price{
				Interval:   "month",
				LookupKey:  "base_module_monthly",
				Nickname:   "base_module_monthly",
				PriceID:    "price_1RjV2qBvxky1R7SvCt1I2sCY",
				UnitAmount: int64(0),
			}, catalog.Price{
				Interval:   "year",
				LookupKey:  "base_module_free",
				Nickname:   "base_module_free",
				PriceID:    "price_1RizUsBvxky1R7SvE9GDH17e",
				UnitAmount: int64(0),
			}}},
			Description:      "Core System Access",
			DisplayName:      "Base Module",
			IncludeWithTrial: true,
			LookupKey:        "base_module",
			PersonalOrg:      true,
			ProductID:        "base",
		},
		string(models.CatalogComplianceModule): catalog.Feature{
			Audience: "public",
			Billing: catalog.Billing{Prices: []catalog.Price{catalog.Price{
				Interval:   "month",
				LookupKey:  "price_compliance_monthly",
				Nickname:   "price_compliance_monthly",
				PriceID:    "price_1RizUuBvxky1R7SvelsIjdkf",
				UnitAmount: int64(45000),
			}, catalog.Price{
				Interval:   "year",
				LookupKey:  "price_compliance_annually",
				Nickname:   "price_compliance_annually",
				PriceID:    "price_1RizUuBvxky1R7SvCQ1cygv9",
				UnitAmount: int64(500000),
			}}},
			Description:      "Core Compliance Automation and Standards Library",
			DisplayName:      "Core Compliance Module",
			IncludeWithTrial: true,
			LookupKey:        "compliance_module",
			ProductID:        "prod_SeI5Umu5pAUVMP",
			Usage:            &catalog.Usage{EvidenceStorageGB: int64(25000)},
		},
		string(models.CatalogEntityManagementModule): catalog.Feature{
			Audience: "private",
			Billing: catalog.Billing{Prices: []catalog.Price{catalog.Price{
				Interval:   "month",
				LookupKey:  "price_entity_monthly",
				Nickname:   "price_entity_monthly",
				PriceID:    "price_1RizUwBvxky1R7SvwJSiuTgB",
				UnitAmount: int64(20000),
			}, catalog.Price{
				Interval:   "year",
				LookupKey:  "price_vendor_annually",
				Nickname:   "price_vendor_annually",
				PriceID:    "price_1RizUwBvxky1R7SvpNZupFPd",
				UnitAmount: int64(200000),
			}}},
			Description: "Vendor Risk Management",
			DisplayName: "Vendor Risk Management",
			LookupKey:   "entity_management_module",
			ProductID:   "prod_SeI59AdH137li3",
		},
		string(models.CatalogTrustCenterModule): catalog.Feature{
			Audience: "beta",
			Billing: catalog.Billing{Prices: []catalog.Price{catalog.Price{
				Interval:   "month",
				LookupKey:  "price_trustcenter_monthly",
				Nickname:   "price_trustcenter_monthly",
				PriceID:    "price_1RizUoBvxky1R7SvkQFdzk31",
				UnitAmount: int64(30000),
			}, catalog.Price{
				Interval:   "year",
				LookupKey:  "price_trustcenter_annually",
				Nickname:   "price_trustcenter_annually",
				PriceID:    "price_1RizUoBvxky1R7SvQX80T6Y6",
				UnitAmount: int64(300000),
			}}},
			Description: "Public Security Portal",
			DisplayName: "Trust Center",
			LookupKey:   "trust_center_module",
			ProductID:   "prod_SeI4Uhido7Rizc",
		},
		string(models.CatalogVulnerabilityManagementModule): catalog.Feature{
			Audience: "private",
			Billing: catalog.Billing{Prices: []catalog.Price{catalog.Price{
				Interval:   "month",
				LookupKey:  "price_vulnerability_mgmt_monthly",
				Nickname:   "price_vulnerability_mgmt_monthly",
				PriceID:    "price_1RizUqBvxky1R7SvEt5og6Ha",
				UnitAmount: int64(10000),
			}, catalog.Price{
				Interval:   "year",
				LookupKey:  "price_vulnerability_mgmt_annually",
				Nickname:   "price_vulnerability_mgmt_annually",
				PriceID:    "price_1RizUrBvxky1R7SvRSCc9Tv8",
				UnitAmount: int64(100000),
			}}},
			Description: "Vulnerability Tracking and Management",
			DisplayName: "Vulnerability Tracking and Management",
			LookupKey:   "vulnerability_management_module",
			ProductID:   "prod_SeI46ZmXn9BpA1",
		},
	},
	SHA:     "d21b9ae3ff2758902ec42e6cc09da842318cc6d71d4d84ba58338a3333eb6685",
	Version: "v0.0.4",
}

Functions

func PersonalOrgMonthlyPriceIDs added in v0.23.0

func PersonalOrgMonthlyPriceIDs() []string

PersonalOrgMonthlyPriceIDs returns Stripe price IDs for monthly prices of modules marked as PersonalOrg enabled

func TrialMonthlyPriceIDs added in v0.23.0

func TrialMonthlyPriceIDs() []string

TrialMonthlyPriceIDs returns Stripe price IDs for monthly prices of modules included with trial subscriptions

Types

This section is empty.

Jump to

Keyboard shortcuts

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