$schema: ./schemas/preset.schema.json # Number ranges can be specified as follows: # intergers: 1-3 # floats: 1.3-4.0 (always include a .x, even if it is a whole number) # negative numbers: -3 - 3 # only one option: 1 # Range of dates to generate reports for. # Note that this date range is inclusive. date_range: 2020-01-01 - 2020-12-31 # Delete all existing data? # (can be overruled by the truncate cli option) # (default: false) #* truncate: true # The database connection string. # (can be overruled by the db cli option) # (default: exivity config.json options) #* db_connect_string: postgresql://user:password@localhost/database # Definitions to base generated reported levels . levels: # The amount of levels to generate. count: 4 # Options to create the levels from. # Note that at least as many levels need to be configured here as the highest possibility for the count options: # The name of the level - name: Reseller # The amount of accounts in this level to generate count: 4-6 # The faker function to use faker: company.companyName # The account names to use instead of the names created by faker. # At least as many need to be specified as the highest possibility for the count # options: # - IT Services Inc. # The name of the level - name: Customer # The amount of accounts in this level to generate count: 2-5 # The faker function to use faker: company.companyName # The account names to use instead of the names created by faker. # At least as many need to be specified as the highest possibility for the count # options: # - Fresh Bakery Inc # The name of the level - name: Department # The amount of accounts in this level to generate count: 1-3 # The faker function to use #* faker: commerce.department # The account names to use instead of the names created by faker. # At least as many need to be specified as the highest possibility for the count options: - Marketing - Sales - Manufacturing # The name of the level - name: Region # The amount of accounts in this level to generate count: 1-5 # The faker function to use faker: address.country # The account names to use instead of the names created by faker. # At least as many need to be specified as the highest possibility for the count # options: # - Europe # Definitions to base the to be generated services on. services: # The amount of services to generate. count: 1-4 # This structure attribute defines how a service should be randomly generated in case that the options attribute isn't defined. structure: # how to generate the name of the services. name: $faker.commerce.product # how to generate the description of the services. description: $faker.commerce.productDescription # how to generate the category name of the services. category: $faker.hacker.noun # how to generate the unit name of the services. This defaults to the category name with an s attached. unit: $faker.hacker.noun # The range within which the quantities used should fall. quantity: 2-1000 # The range within which the rates for the generated services should fall. rate: 0.5-100.0 # The range within which the cogs of the generated services should fall. cogs: 0.1-50.0 # Options to create the services from. This takes precedence over the structure attribute and will negate it. # Note that at least as many services need to be configured here as the highest possibility for the count options: # The name of the service. - name: AWS VM # The description of the service. description: Virtual Machine on AWS Cloud # The category that this service belongs to. category: VM # The possible amount(s) that can be had of this service. quantity: 2-100 # The proration model of this service. model: unprorated # The charging interval of this service. interval: individually # The unit this service is measured in. unit: VM's # The possible rates that this service can be charged with. rate: 10.0-50.0 # The possible cogs that this service can be charged with. cogs: 1.0-20.0 # The name of the service. - name: CRM Enterprise # The description of the service. description: License for CRM Enterprise # The category that this service belongs to. category: Software # The possible amount(s) that can be had of this service. quantity: 1-3 # The proration model of this service. model: unprorated # The charging interval of this service. interval: daily # The unit this service is measured in. unit: licenses # The possible rates that this service can be charged with. rate: 2.5 # The possible cogs that this service can be charged with. cogs: 2.2 # The name of the service. - name: MS Office Pro # The description of the service. description: License fir Microsoft Office Professional # The category that this service belongs to. category: Software # The possible amount(s) that can be had of this service. quantity: 4-10 # The proration model of this service. model: unprorated # The charging interval of this service. interval: monthly # The unit this service is measured in. unit: Licenses # The possible rates that this service can be charged with. rate: 1.2 # The possible cogs that this service can be charged with. cogs: 0.8 # The name of the service. - name: Website Std. # The description of the service. description: Standard Website Doman # The category that this service belongs to. category: Web Services # The possible amount(s) that can be had of this service. quantity: 1-5 # The proration model of this service. model: prorated # The charging interval of this service. interval: monthly # The unit this service is measured in. unit: Websites # The possible rates that this service can be charged with. rate: 15.15 # The possible cogs that this service can be charged with. cogs: 11.11 # Definitions to base the to be generated users on. users: # The amount of users to generate. count: 5-10 # The usernames that can be chosen from. # Note that at least as many usernames need to be configured here as the highest possibility for the count. #* usernames: #* - Vlad #* - Alex #* ... # The emails that can be chosen from. # Note that at least as many emails need to be configured here as the highest possibility for the count. #* emails: #* - test@test.com #* ... # The display names that can be chosen from. # Note that at least as many display names need to be configured here as the highest possibility for the count. #* display_names: #* - Johan #* - Matthew #* ... # The passwords that can be chosen from. # Note that at least as many password need to be configured here as the highest possibility for the count. #* passwords: #* - gfhH4$ska2Jdg #* ... # Definitions to base the to be generated usergroups on. user_groups: # The amount of users to generate. count: 3-4 # The group names that can be chosen from. # Note that at least as many names need to be configured here as the highest possibility for the count. #* names: #* - users #* - managers #* ... # The permissions that can be chosen from, default is all. #* permissions: #* - manage_files #* ... # Definitions to base the to be generated adjustments on. adjustments: # The amount of adjustments to generate. count: 10-20 # The size of the adjustments. amount: -30 - 30 # The maximum account depth that these adjustments can be applied to. # (Default: 2) #* max_account_depth: 2-3 # The accounts these adjustments can be applied to. # Note that at least as many account IDs need to be configured here as the highest possibility for the count. #* account_ids: #* - 2 #* - 6 #* ... # Time ranges for which the adjustments can be applied. # Note that at least as many time ranges need to be configured here as the highest possibility for the count. #* time_ranges: #* - 20201110 - 20210110 #* - 20200810 - 20201110 #* ... # Names for the adjustments. # Note that at least as many names need to be configured here as the highest possibility for the count. #* names: #* - TestAdjustment #* ... # Definitions to base the to be generated subscriptions on. subscriptions: # The amount of subscriptions to generate count: 10-20 # The quanitities for these subscriptions quantities: 1-10 # The rates of these subscriptions rates: 1-8 # The cogs of these subscriptions cogs: 4-10 # The accounts these subscriptions can be applied to. # Note that at least as many account IDs need to be configured here as the highest possibility for the count. #* account_ids: #* - 2 #* - 6 #* ... # Names for the subscriptions. # Note that at least as many names need to be configured here as the highest possibility for the count. #* names: #* - TestSubscription #* ... # Definitions to base the to be generated budgets on. budgets: # The amount of budgets to generate. count: 5-15 # The budget size amount: 5000.0-5000000.0 # The maximum account depth that these budgets can be applied to #* max_account_depth: 2-3 # The size of the budget revision #* revision_count: 20-50 # The accounts these budgets can be applied to. # Note that at least as many account IDs need to be configured here as the highest possibility for the count. #* account_ids: #* - 2 #* - 6 #* ... # Description for the bugets. # Note that at least as many descriptions need to be configured here as the highest possibility for the count. #* descriptions: #* - This is a TestBudget #* ... # Definitions to base the to be generated metadata on. metadata: # The amount of accounts to generate metadata for. account_count: 10-20 # The amount of metadata fields to generate. # (Default is 1) #* field_count: 4-7 # The maximum account depth that these budgets can be applied to. # (Default is 2) #* account_depth: 2-3 # The accounts these metadatas can be generated for. # Note that at least as many account IDs need to be configured here as the highest possibility for the count. #* account_ids: #* - 2 #* - 6 #* ... # Names for the subscriptions. # Note that at least as many names need to be configured here as the highest possibility for the count. #* names: #* - TestSubscription #* ... # Definition to base the to be generated extractor on. #* extractor: # The name of the extractor. # (default: dummy-extractor) #* name: dummy-extractor # The content of the extractor file. # (default: a comment and a hello world statement) #* content: print "Hello World" # Definition to base the to be generated lookup table on. lookup: # The amount of lookups rows to generate. row_count: 20-40 # Columns and how their data should be acquired for the lookup table. data: # The column name - name: uuid # How the value can be acquired # If through faker, use: $faker.namespace.function # If in the database, use: $db.table.column value: $faker.datatype.uuid # The column name - name: account_name # How the value can be acquired value: $db.account.name # Definitions to base the to be generated workflows on. workflows: # The amount of workflows to generate. count: 5-10 steps: # The amount of workflow steps to generate. count: 1-4 # The types of workflow steps to possibly generate. # (default: ["extract", "transform", "prepare_report", "execute", "proximity"]) #* types: ["extract", "transform", "prepare_report"] # Workflow step timeout. #* timeout: 60-3000 schedules: # The amount of workflow schedules to generate. count: 1-4 # The frequency modifier for these workflow schedules. # (default: 1-5) frequency_modifier: 1-4 # Names for the workflows. # Note that at least as many names need to be configured here as the highest possibility for the count. #* names: #* - TestWorkflow #* ... # Descriptions for the workflows. # Note that at least as many descriptions need to be configured here as the highest possibility for the count. #* descriptions: #* - Just a test workflow #* ... # Definition to base the to be generated notification subscriptions on. notifications: # The amount of users to generate notification subscriptions for. user_count: 3-5 # For each user how many notification suibscriptions should be made. notification_count: 0-2 # The ids of the users to generate notification subscriptions for. # Note that this will negate the user_count setting. #* user_ids: #* - 3 #* ... # Names for the subscriptions, instead of generated ones. #* names: #* - TestSubscription #* ... # The ids of the workflows that the notifications can be triggered by. #* workflows: #* - 5 #* ...