infrahub-server 1.1.6__py3-none-any.whl → 1.2.0b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- infrahub/api/artifact.py +16 -4
- infrahub/api/dependencies.py +8 -0
- infrahub/api/oauth2.py +0 -1
- infrahub/api/oidc.py +0 -1
- infrahub/api/query.py +18 -7
- infrahub/api/schema.py +32 -6
- infrahub/api/transformation.py +12 -5
- infrahub/{message_bus/messages/check_artifact_create.py → artifacts/models.py} +5 -3
- infrahub/{message_bus/operations/check/artifact.py → artifacts/tasks.py} +26 -25
- infrahub/cli/__init__.py +0 -2
- infrahub/cli/db.py +6 -7
- infrahub/cli/events.py +8 -3
- infrahub/cli/git_agent.py +9 -7
- infrahub/cli/tasks.py +4 -6
- infrahub/computed_attribute/models.py +1 -1
- infrahub/computed_attribute/tasks.py +64 -17
- infrahub/computed_attribute/triggers.py +90 -0
- infrahub/config.py +1 -1
- infrahub/context.py +39 -0
- infrahub/core/account.py +5 -8
- infrahub/core/attribute.py +54 -22
- infrahub/core/branch/models.py +4 -4
- infrahub/core/branch/tasks.py +137 -129
- infrahub/core/changelog/__init__.py +0 -0
- infrahub/core/changelog/diff.py +283 -0
- infrahub/core/changelog/models.py +499 -0
- infrahub/core/constants/__init__.py +43 -2
- infrahub/core/constants/infrahubkind.py +1 -0
- infrahub/core/constants/schema.py +2 -0
- infrahub/core/diff/combiner.py +12 -8
- infrahub/core/diff/coordinator.py +49 -70
- infrahub/core/diff/data_check_synchronizer.py +86 -7
- infrahub/core/diff/enricher/aggregated.py +3 -3
- infrahub/core/diff/enricher/cardinality_one.py +7 -7
- infrahub/core/diff/enricher/hierarchy.py +22 -7
- infrahub/core/diff/enricher/labels.py +19 -4
- infrahub/core/diff/enricher/path_identifier.py +7 -9
- infrahub/core/diff/enricher/summary_counts.py +3 -1
- infrahub/core/diff/merger/merger.py +8 -4
- infrahub/core/diff/model/path.py +76 -35
- infrahub/core/diff/parent_node_adder.py +78 -0
- infrahub/core/diff/payload_builder.py +13 -2
- infrahub/core/diff/query/all_conflicts.py +6 -3
- infrahub/core/diff/query/artifact.py +1 -1
- infrahub/core/diff/query/delete_query.py +1 -1
- infrahub/core/diff/query/diff_get.py +3 -2
- infrahub/core/diff/query/diff_summary.py +1 -1
- infrahub/core/diff/query/field_specifiers.py +3 -1
- infrahub/core/diff/query/field_summary.py +3 -2
- infrahub/core/diff/query/filters.py +14 -3
- infrahub/core/diff/query/get_conflict_query.py +1 -1
- infrahub/core/diff/query/has_conflicts_query.py +6 -3
- infrahub/core/diff/query/merge.py +3 -3
- infrahub/core/diff/query/{drop_tracking_id.py → merge_tracking_id.py} +4 -4
- infrahub/core/diff/query/roots_metadata.py +9 -2
- infrahub/core/diff/query/save.py +233 -142
- infrahub/core/diff/query/summary_counts_enricher.py +267 -0
- infrahub/core/diff/query/time_range_query.py +3 -2
- infrahub/core/diff/query/update_conflict_query.py +1 -1
- infrahub/core/diff/query_parser.py +49 -24
- infrahub/core/diff/repository/deserializer.py +32 -28
- infrahub/core/diff/repository/repository.py +215 -41
- infrahub/core/diff/tasks.py +13 -12
- infrahub/core/enums.py +1 -1
- infrahub/core/graph/__init__.py +1 -1
- infrahub/core/graph/index.py +3 -0
- infrahub/core/integrity/object_conflict/conflict_recorder.py +1 -1
- infrahub/core/ipam/reconciler.py +1 -1
- infrahub/core/ipam/tasks.py +2 -3
- infrahub/core/manager.py +20 -15
- infrahub/core/merge.py +5 -2
- infrahub/core/migrations/graph/__init__.py +4 -0
- infrahub/core/migrations/graph/m001_add_version_to_graph.py +1 -1
- infrahub/core/migrations/graph/m002_attribute_is_default.py +2 -2
- infrahub/core/migrations/graph/m003_relationship_parent_optional.py +2 -2
- infrahub/core/migrations/graph/m004_add_attr_documentation.py +1 -1
- infrahub/core/migrations/graph/m005_add_rel_read_only.py +1 -1
- infrahub/core/migrations/graph/m006_add_rel_on_delete.py +1 -1
- infrahub/core/migrations/graph/m007_add_rel_allow_override.py +1 -1
- infrahub/core/migrations/graph/m008_add_human_friendly_id.py +1 -1
- infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +1 -1
- infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +1 -1
- infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +2 -2
- infrahub/core/migrations/graph/m012_convert_account_generic.py +12 -23
- infrahub/core/migrations/graph/m013_convert_git_password_credential.py +7 -11
- infrahub/core/migrations/graph/m014_remove_index_attr_value.py +2 -2
- infrahub/core/migrations/graph/m015_diff_format_update.py +1 -1
- infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +1 -1
- infrahub/core/migrations/graph/m017_add_core_profile.py +1 -1
- infrahub/core/migrations/graph/m018_uniqueness_nulls.py +2 -2
- infrahub/core/migrations/graph/m019_restore_rels_to_time.py +256 -0
- infrahub/core/migrations/graph/m020_add_generate_template_attr.py +48 -0
- infrahub/core/migrations/query/attribute_add.py +1 -1
- infrahub/core/migrations/query/attribute_rename.py +1 -1
- infrahub/core/migrations/query/delete_element_in_schema.py +1 -1
- infrahub/core/migrations/query/node_duplicate.py +39 -19
- infrahub/core/migrations/query/relationship_duplicate.py +1 -1
- infrahub/core/migrations/query/schema_attribute_update.py +1 -1
- infrahub/core/migrations/schema/node_attribute_remove.py +1 -1
- infrahub/core/migrations/schema/node_remove.py +27 -13
- infrahub/core/migrations/schema/tasks.py +5 -5
- infrahub/core/migrations/shared.py +4 -4
- infrahub/core/models.py +7 -8
- infrahub/core/node/__init__.py +170 -46
- infrahub/core/node/base.py +1 -1
- infrahub/core/node/constraints/grouped_uniqueness.py +9 -2
- infrahub/core/node/delete_validator.py +4 -4
- infrahub/core/node/ipam.py +13 -8
- infrahub/core/node/permissions.py +4 -0
- infrahub/core/node/resource_manager/ip_prefix_pool.py +8 -5
- infrahub/core/node/standard.py +3 -5
- infrahub/core/property.py +1 -1
- infrahub/core/protocols.py +6 -0
- infrahub/core/protocols_base.py +4 -2
- infrahub/core/query/__init__.py +2 -5
- infrahub/core/query/attribute.py +9 -9
- infrahub/core/query/branch.py +5 -5
- infrahub/core/query/delete.py +1 -1
- infrahub/core/query/diff.py +45 -7
- infrahub/core/query/ipam.py +4 -4
- infrahub/core/query/node.py +19 -14
- infrahub/core/query/relationship.py +213 -26
- infrahub/core/query/resource_manager.py +13 -11
- infrahub/core/query/standard_node.py +6 -6
- infrahub/core/query/task.py +3 -3
- infrahub/core/query/task_log.py +1 -1
- infrahub/core/query/utils.py +5 -5
- infrahub/core/registry.py +0 -2
- infrahub/core/relationship/constraints/count.py +1 -1
- infrahub/core/relationship/constraints/peer_kind.py +1 -1
- infrahub/core/relationship/model.py +76 -38
- infrahub/core/schema/__init__.py +6 -4
- infrahub/core/schema/attribute_schema.py +8 -0
- infrahub/core/schema/basenode_schema.py +13 -3
- infrahub/core/schema/definitions/core/__init__.py +153 -0
- infrahub/core/schema/definitions/core/account.py +168 -0
- infrahub/core/schema/definitions/core/artifact.py +127 -0
- infrahub/core/schema/definitions/core/builtin.py +21 -0
- infrahub/core/schema/definitions/core/check.py +60 -0
- infrahub/core/schema/definitions/core/generator.py +96 -0
- infrahub/core/schema/definitions/core/graphql_query.py +77 -0
- infrahub/core/schema/definitions/core/group.py +105 -0
- infrahub/core/schema/definitions/core/ipam.py +252 -0
- infrahub/core/schema/definitions/core/lineage.py +17 -0
- infrahub/core/schema/definitions/core/menu.py +46 -0
- infrahub/core/schema/definitions/core/permission.py +161 -0
- infrahub/core/schema/definitions/core/profile.py +29 -0
- infrahub/core/schema/definitions/core/propose_change.py +88 -0
- infrahub/core/schema/definitions/core/propose_change_comment.py +188 -0
- infrahub/core/schema/definitions/core/propose_change_validator.py +326 -0
- infrahub/core/schema/definitions/core/repository.py +280 -0
- infrahub/core/schema/definitions/core/resource_pool.py +180 -0
- infrahub/core/schema/definitions/core/template.py +12 -0
- infrahub/core/schema/definitions/core/transform.py +87 -0
- infrahub/core/schema/definitions/core/webhook.py +108 -0
- infrahub/core/schema/definitions/internal.py +16 -0
- infrahub/core/schema/generated/genericnode_schema.py +5 -0
- infrahub/core/schema/generated/node_schema.py +5 -0
- infrahub/core/schema/generic_schema.py +5 -1
- infrahub/core/schema/manager.py +45 -42
- infrahub/core/schema/node_schema.py +4 -0
- infrahub/core/schema/profile_schema.py +4 -0
- infrahub/core/schema/relationship_schema.py +10 -2
- infrahub/core/schema/schema_branch.py +260 -16
- infrahub/core/schema/template_schema.py +36 -0
- infrahub/core/task/user_task.py +7 -5
- infrahub/core/timestamp.py +3 -3
- infrahub/core/utils.py +3 -2
- infrahub/core/validators/attribute/choices.py +1 -1
- infrahub/core/validators/attribute/enum.py +1 -1
- infrahub/core/validators/attribute/kind.py +1 -1
- infrahub/core/validators/attribute/length.py +1 -1
- infrahub/core/validators/attribute/optional.py +1 -1
- infrahub/core/validators/attribute/regex.py +1 -1
- infrahub/core/validators/attribute/unique.py +1 -1
- infrahub/core/validators/checks_runner.py +37 -0
- infrahub/core/validators/node/generate_profile.py +1 -1
- infrahub/core/validators/node/hierarchy.py +1 -1
- infrahub/core/validators/query.py +1 -1
- infrahub/core/validators/relationship/count.py +1 -1
- infrahub/core/validators/relationship/optional.py +1 -1
- infrahub/core/validators/relationship/peer.py +1 -1
- infrahub/core/validators/tasks.py +8 -6
- infrahub/core/validators/uniqueness/query.py +20 -17
- infrahub/database/__init__.py +16 -2
- infrahub/database/memgraph.py +1 -1
- infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -2
- infrahub/dependencies/builder/diff/combiner.py +1 -1
- infrahub/dependencies/builder/diff/conflicts_enricher.py +1 -1
- infrahub/dependencies/builder/diff/coordinator.py +0 -2
- infrahub/dependencies/builder/diff/deserializer.py +4 -2
- infrahub/dependencies/builder/diff/enricher/hierarchy.py +3 -1
- infrahub/dependencies/builder/diff/enricher/summary_counts.py +1 -1
- infrahub/dependencies/builder/diff/parent_node_adder.py +8 -0
- infrahub/events/artifact_action.py +76 -0
- infrahub/events/branch_action.py +50 -21
- infrahub/events/group_action.py +117 -0
- infrahub/events/models.py +164 -51
- infrahub/events/node_action.py +70 -8
- infrahub/events/repository_action.py +8 -8
- infrahub/events/schema_action.py +21 -8
- infrahub/exceptions.py +9 -0
- infrahub/generators/models.py +1 -0
- infrahub/generators/tasks.py +34 -15
- infrahub/git/base.py +3 -5
- infrahub/git/constants.py +0 -1
- infrahub/git/integrator.py +60 -36
- infrahub/git/models.py +80 -1
- infrahub/git/repository.py +7 -8
- infrahub/git/tasks.py +432 -112
- infrahub/git_credential/helper.py +2 -3
- infrahub/graphql/analyzer.py +572 -11
- infrahub/graphql/app.py +34 -26
- infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +5 -5
- infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +4 -4
- infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +4 -4
- infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +28 -35
- infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +5 -5
- infrahub/graphql/context.py +33 -0
- infrahub/graphql/enums.py +1 -1
- infrahub/graphql/initialization.py +5 -1
- infrahub/graphql/loaders/node.py +2 -2
- infrahub/graphql/manager.py +63 -63
- infrahub/graphql/mutations/account.py +20 -13
- infrahub/graphql/mutations/artifact_definition.py +16 -12
- infrahub/graphql/mutations/branch.py +86 -40
- infrahub/graphql/mutations/computed_attribute.py +24 -13
- infrahub/graphql/mutations/diff.py +54 -14
- infrahub/graphql/mutations/diff_conflict.py +14 -8
- infrahub/graphql/mutations/generator.py +83 -0
- infrahub/graphql/mutations/graphql_query.py +19 -11
- infrahub/graphql/mutations/ipam.py +25 -23
- infrahub/graphql/mutations/main.py +243 -50
- infrahub/graphql/mutations/menu.py +10 -10
- infrahub/graphql/mutations/proposed_change.py +36 -28
- infrahub/graphql/mutations/relationship.py +343 -104
- infrahub/graphql/mutations/repository.py +41 -35
- infrahub/graphql/mutations/resource_manager.py +26 -26
- infrahub/graphql/mutations/schema.py +66 -33
- infrahub/graphql/mutations/tasks.py +16 -10
- infrahub/graphql/parser.py +1 -1
- infrahub/graphql/permissions.py +3 -10
- infrahub/graphql/queries/account.py +22 -18
- infrahub/graphql/queries/branch.py +6 -4
- infrahub/graphql/queries/diff/tree.py +63 -52
- infrahub/graphql/queries/event.py +115 -0
- infrahub/graphql/queries/internal.py +3 -3
- infrahub/graphql/queries/ipam.py +23 -18
- infrahub/graphql/queries/relationship.py +11 -10
- infrahub/graphql/queries/resource_manager.py +43 -27
- infrahub/graphql/queries/search.py +9 -8
- infrahub/graphql/queries/status.py +12 -9
- infrahub/graphql/queries/task.py +11 -9
- infrahub/graphql/resolvers/resolver.py +69 -43
- infrahub/graphql/resolvers/single_relationship.py +16 -10
- infrahub/graphql/schema.py +4 -0
- infrahub/graphql/subscription/__init__.py +1 -1
- infrahub/graphql/subscription/events.py +1 -1
- infrahub/graphql/subscription/graphql_query.py +8 -8
- infrahub/graphql/types/branch.py +2 -2
- infrahub/graphql/types/common.py +6 -1
- infrahub/graphql/types/context.py +12 -0
- infrahub/graphql/types/enums.py +2 -0
- infrahub/graphql/types/event.py +158 -0
- infrahub/graphql/types/interface.py +2 -2
- infrahub/graphql/types/node.py +3 -3
- infrahub/graphql/types/permission.py +2 -2
- infrahub/graphql/types/relationship.py +3 -3
- infrahub/graphql/types/standard_node.py +9 -11
- infrahub/graphql/utils.py +28 -182
- infrahub/groups/tasks.py +2 -3
- infrahub/lock.py +21 -21
- infrahub/menu/generator.py +0 -1
- infrahub/menu/menu.py +116 -138
- infrahub/menu/models.py +4 -4
- infrahub/message_bus/__init__.py +11 -13
- infrahub/message_bus/messages/__init__.py +0 -14
- infrahub/message_bus/messages/check_generator_run.py +1 -3
- infrahub/message_bus/messages/event_branch_merge.py +3 -0
- infrahub/message_bus/messages/proposed_change/request_proposedchange_refreshartifacts.py +6 -0
- infrahub/message_bus/messages/request_proposedchange_pipeline.py +2 -0
- infrahub/message_bus/messages/send_echo_request.py +1 -1
- infrahub/message_bus/operations/__init__.py +4 -13
- infrahub/message_bus/operations/check/__init__.py +2 -2
- infrahub/message_bus/operations/check/generator.py +1 -3
- infrahub/message_bus/operations/event/branch.py +7 -3
- infrahub/message_bus/operations/event/schema.py +1 -1
- infrahub/message_bus/operations/event/worker.py +0 -3
- infrahub/message_bus/operations/finalize/validator.py +1 -1
- infrahub/message_bus/operations/git/file.py +2 -2
- infrahub/message_bus/operations/git/repository.py +1 -1
- infrahub/message_bus/operations/requests/__init__.py +0 -4
- infrahub/message_bus/operations/requests/generator_definition.py +2 -4
- infrahub/message_bus/operations/requests/proposed_change.py +37 -20
- infrahub/message_bus/operations/send/echo.py +1 -1
- infrahub/message_bus/types.py +1 -1
- infrahub/permissions/__init__.py +2 -1
- infrahub/permissions/globals.py +15 -0
- infrahub/permissions/types.py +26 -0
- infrahub/pools/prefix.py +29 -165
- infrahub/prefect_server/__init__.py +0 -0
- infrahub/prefect_server/app.py +18 -0
- infrahub/prefect_server/database.py +20 -0
- infrahub/prefect_server/events.py +28 -0
- infrahub/prefect_server/models.py +46 -0
- infrahub/proposed_change/models.py +18 -1
- infrahub/proposed_change/tasks.py +195 -53
- infrahub/pytest_plugin.py +4 -4
- infrahub/server.py +13 -12
- infrahub/services/__init__.py +148 -63
- infrahub/services/adapters/cache/__init__.py +11 -11
- infrahub/services/adapters/cache/nats.py +42 -25
- infrahub/services/adapters/cache/redis.py +3 -11
- infrahub/services/adapters/event/__init__.py +10 -18
- infrahub/services/adapters/http/__init__.py +0 -5
- infrahub/services/adapters/http/httpx.py +22 -15
- infrahub/services/adapters/message_bus/__init__.py +25 -8
- infrahub/services/adapters/message_bus/local.py +9 -7
- infrahub/services/adapters/message_bus/nats.py +14 -8
- infrahub/services/adapters/message_bus/rabbitmq.py +23 -10
- infrahub/services/adapters/workflow/__init__.py +11 -8
- infrahub/services/adapters/workflow/local.py +27 -6
- infrahub/services/adapters/workflow/worker.py +23 -7
- infrahub/services/component.py +43 -40
- infrahub/services/protocols.py +7 -7
- infrahub/services/scheduler.py +30 -29
- infrahub/storage.py +2 -4
- infrahub/task_manager/constants.py +1 -1
- infrahub/task_manager/event.py +261 -0
- infrahub/task_manager/models.py +147 -3
- infrahub/task_manager/task.py +1 -1
- infrahub/tasks/artifact.py +19 -18
- infrahub/tasks/registry.py +1 -1
- infrahub/tasks/telemetry.py +13 -14
- infrahub/transformations/tasks.py +3 -5
- infrahub/trigger/__init__.py +0 -0
- infrahub/trigger/catalogue.py +16 -0
- infrahub/trigger/constants.py +9 -0
- infrahub/trigger/models.py +105 -0
- infrahub/trigger/tasks.py +91 -0
- infrahub/types.py +1 -1
- infrahub/utils.py +1 -1
- infrahub/webhook/constants.py +0 -2
- infrahub/webhook/models.py +161 -40
- infrahub/webhook/tasks.py +123 -202
- infrahub/webhook/triggers.py +27 -0
- infrahub/workers/infrahub_async.py +36 -25
- infrahub/workers/utils.py +63 -0
- infrahub/workflows/catalogue.py +71 -52
- infrahub/workflows/initialization.py +14 -8
- infrahub/workflows/models.py +28 -4
- infrahub/workflows/utils.py +1 -1
- infrahub_sdk/client.py +8 -0
- infrahub_sdk/ctl/branch.py +3 -2
- infrahub_sdk/ctl/check.py +3 -3
- infrahub_sdk/ctl/cli_commands.py +16 -11
- infrahub_sdk/ctl/exceptions.py +0 -6
- infrahub_sdk/ctl/exporter.py +1 -1
- infrahub_sdk/ctl/generator.py +5 -5
- infrahub_sdk/ctl/importer.py +3 -2
- infrahub_sdk/ctl/menu.py +1 -1
- infrahub_sdk/ctl/object.py +1 -1
- infrahub_sdk/ctl/repository.py +23 -15
- infrahub_sdk/ctl/schema.py +2 -2
- infrahub_sdk/ctl/utils.py +4 -19
- infrahub_sdk/ctl/validate.py +2 -1
- infrahub_sdk/exceptions.py +12 -0
- infrahub_sdk/generator.py +3 -0
- infrahub_sdk/node.py +4 -4
- infrahub_sdk/protocols.py +21 -8
- infrahub_sdk/schema/__init__.py +14 -2
- infrahub_sdk/schema/main.py +7 -0
- infrahub_sdk/task/__init__.py +1 -0
- infrahub_sdk/task/constants.py +3 -0
- infrahub_sdk/task/exceptions.py +25 -0
- infrahub_sdk/task/manager.py +545 -0
- infrahub_sdk/task/models.py +74 -0
- infrahub_sdk/timestamp.py +134 -33
- infrahub_sdk/utils.py +39 -1
- infrahub_sdk/yaml.py +2 -3
- {infrahub_server-1.1.6.dist-info → infrahub_server-1.2.0b1.dist-info}/METADATA +47 -12
- infrahub_server-1.2.0b1.dist-info/RECORD +725 -0
- infrahub_testcontainers/container.py +14 -6
- infrahub_testcontainers/docker-compose.test.yml +24 -5
- infrahub_testcontainers/haproxy.cfg +43 -0
- infrahub_testcontainers/helpers.py +85 -1
- infrahub/core/branch/constants.py +0 -2
- infrahub/core/schema/definitions/core.py +0 -2274
- infrahub/graphql/query.py +0 -52
- infrahub/message_bus/messages/check_repository_checkdefinition.py +0 -20
- infrahub/message_bus/messages/check_repository_mergeconflicts.py +0 -16
- infrahub/message_bus/messages/check_repository_usercheck.py +0 -26
- infrahub/message_bus/messages/request_artifactdefinition_check.py +0 -17
- infrahub/message_bus/messages/request_repository_checks.py +0 -12
- infrahub/message_bus/messages/request_repository_userchecks.py +0 -18
- infrahub/message_bus/operations/check/repository.py +0 -293
- infrahub/message_bus/operations/requests/artifact_definition.py +0 -148
- infrahub/message_bus/operations/requests/repository.py +0 -133
- infrahub/schema/constants.py +0 -1
- infrahub/schema/tasks.py +0 -76
- infrahub/services/adapters/database/__init__.py +0 -9
- infrahub_sdk/ctl/_file.py +0 -13
- infrahub_server-1.1.6.dist-info/RECORD +0 -681
- /infrahub/{schema → artifacts}/__init__.py +0 -0
- {infrahub_server-1.1.6.dist-info → infrahub_server-1.2.0b1.dist-info}/LICENSE.txt +0 -0
- {infrahub_server-1.1.6.dist-info → infrahub_server-1.2.0b1.dist-info}/WHEEL +0 -0
- {infrahub_server-1.1.6.dist-info → infrahub_server-1.2.0b1.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
from infrahub.core.constants import (
|
|
2
|
+
AccountStatus,
|
|
3
|
+
AccountType,
|
|
4
|
+
BranchSupportType,
|
|
5
|
+
InfrahubKind,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
core_account = {
|
|
9
|
+
"name": "Account",
|
|
10
|
+
"namespace": "Core",
|
|
11
|
+
"description": "User Account for Infrahub",
|
|
12
|
+
"include_in_menu": False,
|
|
13
|
+
"label": "Account",
|
|
14
|
+
"icon": "mdi:account",
|
|
15
|
+
"default_filter": "name__value",
|
|
16
|
+
"order_by": ["name__value"],
|
|
17
|
+
"display_labels": ["label__value"],
|
|
18
|
+
"generate_profile": False,
|
|
19
|
+
"branch": BranchSupportType.AGNOSTIC.value,
|
|
20
|
+
"inherit_from": [InfrahubKind.LINEAGEOWNER, InfrahubKind.LINEAGESOURCE, InfrahubKind.GENERICACCOUNT],
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
core_account_token = {
|
|
24
|
+
"name": "AccountToken",
|
|
25
|
+
"namespace": "Internal",
|
|
26
|
+
"description": "Token for User Account",
|
|
27
|
+
"include_in_menu": False,
|
|
28
|
+
"label": "Account Token",
|
|
29
|
+
"default_filter": "token__value",
|
|
30
|
+
"display_labels": ["token__value"],
|
|
31
|
+
"generate_profile": False,
|
|
32
|
+
"branch": BranchSupportType.AGNOSTIC.value,
|
|
33
|
+
"uniqueness_constraints": [["token__value"]],
|
|
34
|
+
"documentation": "/topics/auth",
|
|
35
|
+
"attributes": [
|
|
36
|
+
{"name": "name", "kind": "Text", "optional": True},
|
|
37
|
+
{"name": "token", "kind": "Text", "unique": True},
|
|
38
|
+
{"name": "expiration", "kind": "DateTime", "optional": True},
|
|
39
|
+
],
|
|
40
|
+
"relationships": [
|
|
41
|
+
{
|
|
42
|
+
"name": "account",
|
|
43
|
+
"peer": InfrahubKind.GENERICACCOUNT,
|
|
44
|
+
"optional": False,
|
|
45
|
+
"cardinality": "one",
|
|
46
|
+
"identifier": "account__token",
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
core_password_credential = {
|
|
52
|
+
"name": "PasswordCredential",
|
|
53
|
+
"namespace": "Core",
|
|
54
|
+
"description": "Username/Password based credential",
|
|
55
|
+
"include_in_menu": False,
|
|
56
|
+
"label": "Username / Password",
|
|
57
|
+
"generate_profile": False,
|
|
58
|
+
"branch": BranchSupportType.AGNOSTIC.value,
|
|
59
|
+
"inherit_from": [InfrahubKind.CREDENTIAL],
|
|
60
|
+
"attributes": [
|
|
61
|
+
{
|
|
62
|
+
"name": "username",
|
|
63
|
+
"kind": "Text",
|
|
64
|
+
"optional": True,
|
|
65
|
+
"branch": BranchSupportType.AGNOSTIC.value,
|
|
66
|
+
"order_weight": 6000,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "password",
|
|
70
|
+
"kind": "Password",
|
|
71
|
+
"optional": True,
|
|
72
|
+
"branch": BranchSupportType.AGNOSTIC.value,
|
|
73
|
+
"order_weight": 7000,
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
core_refresh_token = {
|
|
79
|
+
"name": "RefreshToken",
|
|
80
|
+
"namespace": "Internal",
|
|
81
|
+
"description": "Refresh Token",
|
|
82
|
+
"include_in_menu": False,
|
|
83
|
+
"label": "Refresh Token",
|
|
84
|
+
"display_labels": [],
|
|
85
|
+
"generate_profile": False,
|
|
86
|
+
"branch": BranchSupportType.AGNOSTIC.value,
|
|
87
|
+
"attributes": [
|
|
88
|
+
{"name": "expiration", "kind": "DateTime", "optional": False},
|
|
89
|
+
],
|
|
90
|
+
"relationships": [
|
|
91
|
+
{
|
|
92
|
+
"name": "account",
|
|
93
|
+
"peer": InfrahubKind.GENERICACCOUNT,
|
|
94
|
+
"optional": False,
|
|
95
|
+
"cardinality": "one",
|
|
96
|
+
"identifier": "account__refreshtoken",
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
core_credential = {
|
|
102
|
+
"name": "Credential",
|
|
103
|
+
"namespace": "Core",
|
|
104
|
+
"description": "A credential that could be referenced to access external services.",
|
|
105
|
+
"include_in_menu": False,
|
|
106
|
+
"label": "Credential",
|
|
107
|
+
"default_filter": "name__value",
|
|
108
|
+
"order_by": ["name__value"],
|
|
109
|
+
"display_labels": ["label__value"],
|
|
110
|
+
"icon": "mdi:key-variant",
|
|
111
|
+
"human_friendly_id": ["name__value"],
|
|
112
|
+
"branch": BranchSupportType.AGNOSTIC.value,
|
|
113
|
+
"uniqueness_constraints": [["name__value"]],
|
|
114
|
+
"documentation": "/topics/auth",
|
|
115
|
+
"attributes": [
|
|
116
|
+
{"name": "name", "kind": "Text", "unique": True, "order_weight": 1000},
|
|
117
|
+
{"name": "label", "kind": "Text", "optional": True, "order_weight": 2000},
|
|
118
|
+
{"name": "description", "kind": "Text", "optional": True, "order_weight": 3000},
|
|
119
|
+
],
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
core_generic_account = {
|
|
123
|
+
"name": "GenericAccount",
|
|
124
|
+
"namespace": "Core",
|
|
125
|
+
"description": "User Account for Infrahub",
|
|
126
|
+
"include_in_menu": False,
|
|
127
|
+
"label": "Account",
|
|
128
|
+
"icon": "mdi:account",
|
|
129
|
+
"default_filter": "name__value",
|
|
130
|
+
"order_by": ["name__value"],
|
|
131
|
+
"display_labels": ["label__value"],
|
|
132
|
+
"human_friendly_id": ["name__value"],
|
|
133
|
+
"branch": BranchSupportType.AGNOSTIC.value,
|
|
134
|
+
"documentation": "/topics/auth",
|
|
135
|
+
"uniqueness_constraints": [["name__value"]],
|
|
136
|
+
"attributes": [
|
|
137
|
+
{"name": "name", "kind": "Text", "unique": True},
|
|
138
|
+
{"name": "password", "kind": "HashedPassword", "unique": False},
|
|
139
|
+
{"name": "label", "kind": "Text", "optional": True},
|
|
140
|
+
{"name": "description", "kind": "Text", "optional": True},
|
|
141
|
+
{
|
|
142
|
+
"name": "account_type",
|
|
143
|
+
"kind": "Text",
|
|
144
|
+
"default_value": AccountType.USER.value,
|
|
145
|
+
"enum": AccountType.available_types(),
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "status",
|
|
149
|
+
"kind": "Dropdown",
|
|
150
|
+
"choices": [
|
|
151
|
+
{
|
|
152
|
+
"name": AccountStatus.ACTIVE.value,
|
|
153
|
+
"label": "Active",
|
|
154
|
+
"description": "Account is allowed to login",
|
|
155
|
+
"color": "#52be80",
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"name": AccountStatus.INACTIVE.value,
|
|
159
|
+
"label": "Inactive",
|
|
160
|
+
"description": "Account is not allowed to login",
|
|
161
|
+
"color": "#e74c3c",
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
"default_value": AccountStatus.ACTIVE.value,
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
"relationships": [{"name": "tokens", "peer": InfrahubKind.ACCOUNTTOKEN, "optional": True, "cardinality": "many"}],
|
|
168
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
from infrahub.core.constants import (
|
|
2
|
+
ArtifactStatus,
|
|
3
|
+
BranchSupportType,
|
|
4
|
+
ContentType,
|
|
5
|
+
InfrahubKind,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
core_artifact_target = {
|
|
9
|
+
"name": "ArtifactTarget",
|
|
10
|
+
"include_in_menu": False,
|
|
11
|
+
"namespace": "Core",
|
|
12
|
+
"description": "Extend a node to be associated with artifacts",
|
|
13
|
+
"label": "Artifact Target",
|
|
14
|
+
"relationships": [
|
|
15
|
+
{
|
|
16
|
+
"name": "artifacts",
|
|
17
|
+
"peer": InfrahubKind.ARTIFACT,
|
|
18
|
+
"optional": True,
|
|
19
|
+
"cardinality": "many",
|
|
20
|
+
"kind": "Generic",
|
|
21
|
+
"identifier": "artifact__node",
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
core_artifact = {
|
|
27
|
+
"name": "Artifact",
|
|
28
|
+
"namespace": "Core",
|
|
29
|
+
"label": "Artifact",
|
|
30
|
+
"include_in_menu": False,
|
|
31
|
+
"icon": "mdi:file-document-outline",
|
|
32
|
+
"default_filter": "name__value",
|
|
33
|
+
"order_by": ["name__value"],
|
|
34
|
+
"display_labels": ["name__value"],
|
|
35
|
+
"branch": BranchSupportType.LOCAL.value,
|
|
36
|
+
"generate_profile": False,
|
|
37
|
+
"inherit_from": [InfrahubKind.TASKTARGET],
|
|
38
|
+
"documentation": "/topics/artifact",
|
|
39
|
+
"attributes": [
|
|
40
|
+
{"name": "name", "kind": "Text"},
|
|
41
|
+
{
|
|
42
|
+
"name": "status",
|
|
43
|
+
"kind": "Text",
|
|
44
|
+
"enum": ArtifactStatus.available_types(),
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "content_type",
|
|
48
|
+
"kind": "Text",
|
|
49
|
+
"enum": ContentType.available_types(),
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "checksum",
|
|
53
|
+
"kind": "Text",
|
|
54
|
+
"optional": True,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "storage_id",
|
|
58
|
+
"kind": "Text",
|
|
59
|
+
"optional": True,
|
|
60
|
+
"description": "ID of the file in the object store",
|
|
61
|
+
},
|
|
62
|
+
{"name": "parameters", "kind": "JSON", "optional": True},
|
|
63
|
+
],
|
|
64
|
+
"relationships": [
|
|
65
|
+
{
|
|
66
|
+
"name": "object",
|
|
67
|
+
"peer": InfrahubKind.ARTIFACTTARGET,
|
|
68
|
+
"kind": "Attribute",
|
|
69
|
+
"identifier": "artifact__node",
|
|
70
|
+
"cardinality": "one",
|
|
71
|
+
"optional": False,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "definition",
|
|
75
|
+
"peer": InfrahubKind.ARTIFACTDEFINITION,
|
|
76
|
+
"kind": "Attribute",
|
|
77
|
+
"identifier": "artifact__artifact_definition",
|
|
78
|
+
"cardinality": "one",
|
|
79
|
+
"optional": False,
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
core_artifact_definition = {
|
|
85
|
+
"name": "ArtifactDefinition",
|
|
86
|
+
"namespace": "Core",
|
|
87
|
+
"include_in_menu": False,
|
|
88
|
+
"icon": "mdi:file-document-multiple-outline",
|
|
89
|
+
"label": "Artifact Definition",
|
|
90
|
+
"default_filter": "name__value",
|
|
91
|
+
"order_by": ["name__value"],
|
|
92
|
+
"display_labels": ["name__value"],
|
|
93
|
+
"branch": BranchSupportType.AWARE.value,
|
|
94
|
+
"generate_profile": False,
|
|
95
|
+
"uniqueness_constraints": [["name__value"]],
|
|
96
|
+
"inherit_from": [InfrahubKind.TASKTARGET],
|
|
97
|
+
"documentation": "/topics/artifact",
|
|
98
|
+
"attributes": [
|
|
99
|
+
{"name": "name", "kind": "Text", "unique": True},
|
|
100
|
+
{"name": "artifact_name", "kind": "Text"},
|
|
101
|
+
{"name": "description", "kind": "Text", "optional": True},
|
|
102
|
+
{"name": "parameters", "kind": "JSON"},
|
|
103
|
+
{
|
|
104
|
+
"name": "content_type",
|
|
105
|
+
"kind": "Text",
|
|
106
|
+
"enum": ContentType.available_types(),
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
"relationships": [
|
|
110
|
+
{
|
|
111
|
+
"name": "targets",
|
|
112
|
+
"peer": InfrahubKind.GENERICGROUP,
|
|
113
|
+
"kind": "Attribute",
|
|
114
|
+
"identifier": "artifact_definition___group",
|
|
115
|
+
"cardinality": "one",
|
|
116
|
+
"optional": False,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "transformation",
|
|
120
|
+
"peer": InfrahubKind.TRANSFORM,
|
|
121
|
+
"kind": "Attribute",
|
|
122
|
+
"identifier": "artifact_definition___transformation",
|
|
123
|
+
"cardinality": "one",
|
|
124
|
+
"optional": False,
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from infrahub.core.constants import (
|
|
2
|
+
BranchSupportType,
|
|
3
|
+
)
|
|
4
|
+
|
|
5
|
+
builtin_tag = {
|
|
6
|
+
"name": "Tag",
|
|
7
|
+
"namespace": "Builtin",
|
|
8
|
+
"description": "Standard Tag object to attached to other objects to provide some context.",
|
|
9
|
+
"include_in_menu": True,
|
|
10
|
+
"icon": "mdi:tag-multiple",
|
|
11
|
+
"label": "Tag",
|
|
12
|
+
"default_filter": "name__value",
|
|
13
|
+
"order_by": ["name__value"],
|
|
14
|
+
"display_labels": ["name__value"],
|
|
15
|
+
"branch": BranchSupportType.AWARE.value,
|
|
16
|
+
"uniqueness_constraints": [["name__value"]],
|
|
17
|
+
"attributes": [
|
|
18
|
+
{"name": "name", "kind": "Text", "unique": True},
|
|
19
|
+
{"name": "description", "kind": "Text", "optional": True},
|
|
20
|
+
],
|
|
21
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from infrahub.core.constants import (
|
|
2
|
+
BranchSupportType,
|
|
3
|
+
InfrahubKind,
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
core_check_definition = {
|
|
7
|
+
"name": "CheckDefinition",
|
|
8
|
+
"namespace": "Core",
|
|
9
|
+
"include_in_menu": False,
|
|
10
|
+
"icon": "mdi:check-all",
|
|
11
|
+
"label": "Check Definition",
|
|
12
|
+
"default_filter": "name__value",
|
|
13
|
+
"order_by": ["name__value"],
|
|
14
|
+
"display_labels": ["name__value"],
|
|
15
|
+
"branch": BranchSupportType.AWARE.value,
|
|
16
|
+
"uniqueness_constraints": [["name__value"]],
|
|
17
|
+
"generate_profile": False,
|
|
18
|
+
"inherit_from": [InfrahubKind.TASKTARGET],
|
|
19
|
+
"attributes": [
|
|
20
|
+
{"name": "name", "kind": "Text", "unique": True},
|
|
21
|
+
{"name": "description", "kind": "Text", "optional": True},
|
|
22
|
+
{"name": "file_path", "kind": "Text"},
|
|
23
|
+
{"name": "class_name", "kind": "Text"},
|
|
24
|
+
{"name": "timeout", "kind": "Number", "default_value": 10},
|
|
25
|
+
{"name": "parameters", "kind": "JSON", "optional": True},
|
|
26
|
+
],
|
|
27
|
+
"relationships": [
|
|
28
|
+
{
|
|
29
|
+
"name": "repository",
|
|
30
|
+
"peer": InfrahubKind.GENERICREPOSITORY,
|
|
31
|
+
"kind": "Attribute",
|
|
32
|
+
"cardinality": "one",
|
|
33
|
+
"identifier": "check_definition__repository",
|
|
34
|
+
"optional": False,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "query",
|
|
38
|
+
"peer": InfrahubKind.GRAPHQLQUERY,
|
|
39
|
+
"kind": "Attribute",
|
|
40
|
+
"identifier": "check_definition__graphql_query",
|
|
41
|
+
"cardinality": "one",
|
|
42
|
+
"optional": True,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "targets",
|
|
46
|
+
"peer": InfrahubKind.GENERICGROUP,
|
|
47
|
+
"kind": "Attribute",
|
|
48
|
+
"identifier": "check_definition___group",
|
|
49
|
+
"cardinality": "one",
|
|
50
|
+
"optional": True,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "tags",
|
|
54
|
+
"peer": InfrahubKind.TAG,
|
|
55
|
+
"kind": "Attribute",
|
|
56
|
+
"optional": True,
|
|
57
|
+
"cardinality": "many",
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
from infrahub.core.constants import (
|
|
2
|
+
BranchSupportType,
|
|
3
|
+
GeneratorInstanceStatus,
|
|
4
|
+
InfrahubKind,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
core_generator_definition = {
|
|
8
|
+
"name": "GeneratorDefinition",
|
|
9
|
+
"namespace": "Core",
|
|
10
|
+
"include_in_menu": False,
|
|
11
|
+
"icon": "mdi:state-machine",
|
|
12
|
+
"label": "Generator Definition",
|
|
13
|
+
"default_filter": "name__value",
|
|
14
|
+
"order_by": ["name__value"],
|
|
15
|
+
"display_labels": ["name__value"],
|
|
16
|
+
"branch": BranchSupportType.AWARE.value,
|
|
17
|
+
"uniqueness_constraints": [["name__value"]],
|
|
18
|
+
"generate_profile": False,
|
|
19
|
+
"inherit_from": [InfrahubKind.TASKTARGET],
|
|
20
|
+
"documentation": "/topics/generator",
|
|
21
|
+
"attributes": [
|
|
22
|
+
{"name": "name", "kind": "Text", "unique": True},
|
|
23
|
+
{"name": "description", "kind": "Text", "optional": True},
|
|
24
|
+
{"name": "parameters", "kind": "JSON"},
|
|
25
|
+
{"name": "file_path", "kind": "Text"},
|
|
26
|
+
{"name": "class_name", "kind": "Text"},
|
|
27
|
+
{"name": "convert_query_response", "kind": "Boolean", "optional": True, "default_value": False},
|
|
28
|
+
],
|
|
29
|
+
"relationships": [
|
|
30
|
+
{
|
|
31
|
+
"name": "query",
|
|
32
|
+
"peer": InfrahubKind.GRAPHQLQUERY,
|
|
33
|
+
"identifier": "generator_definition__graphql_query",
|
|
34
|
+
"kind": "Attribute",
|
|
35
|
+
"cardinality": "one",
|
|
36
|
+
"optional": False,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "repository",
|
|
40
|
+
"peer": InfrahubKind.GENERICREPOSITORY,
|
|
41
|
+
"kind": "Attribute",
|
|
42
|
+
"cardinality": "one",
|
|
43
|
+
"identifier": "generator_definition__repository",
|
|
44
|
+
"optional": False,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "targets",
|
|
48
|
+
"peer": InfrahubKind.GENERICGROUP,
|
|
49
|
+
"kind": "Attribute",
|
|
50
|
+
"identifier": "generator_definition___group",
|
|
51
|
+
"cardinality": "one",
|
|
52
|
+
"optional": False,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
core_generator_instance = {
|
|
58
|
+
"name": "GeneratorInstance",
|
|
59
|
+
"namespace": "Core",
|
|
60
|
+
"label": "Generator Instance",
|
|
61
|
+
"include_in_menu": False,
|
|
62
|
+
"icon": "mdi:file-document-outline",
|
|
63
|
+
"default_filter": "name__value",
|
|
64
|
+
"order_by": ["name__value"],
|
|
65
|
+
"display_labels": ["name__value"],
|
|
66
|
+
"branch": BranchSupportType.LOCAL.value,
|
|
67
|
+
"generate_profile": False,
|
|
68
|
+
"inherit_from": [InfrahubKind.TASKTARGET],
|
|
69
|
+
"documentation": "/topics/generator",
|
|
70
|
+
"attributes": [
|
|
71
|
+
{"name": "name", "kind": "Text"},
|
|
72
|
+
{
|
|
73
|
+
"name": "status",
|
|
74
|
+
"kind": "Text",
|
|
75
|
+
"enum": GeneratorInstanceStatus.available_types(),
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
"relationships": [
|
|
79
|
+
{
|
|
80
|
+
"name": "object",
|
|
81
|
+
"peer": InfrahubKind.NODE,
|
|
82
|
+
"kind": "Attribute",
|
|
83
|
+
"identifier": "generator__node",
|
|
84
|
+
"cardinality": "one",
|
|
85
|
+
"optional": False,
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "definition",
|
|
89
|
+
"peer": InfrahubKind.GENERATORDEFINITION,
|
|
90
|
+
"kind": "Attribute",
|
|
91
|
+
"identifier": "generator__generator_definition",
|
|
92
|
+
"cardinality": "one",
|
|
93
|
+
"optional": False,
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
from infrahub.core.constants import (
|
|
2
|
+
BranchSupportType,
|
|
3
|
+
InfrahubKind,
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
core_graphql_query = {
|
|
7
|
+
"name": "GraphQLQuery",
|
|
8
|
+
"namespace": "Core",
|
|
9
|
+
"description": "A pre-defined GraphQL Query",
|
|
10
|
+
"include_in_menu": False,
|
|
11
|
+
"icon": "mdi:graphql",
|
|
12
|
+
"label": "GraphQL Query",
|
|
13
|
+
"default_filter": "name__value",
|
|
14
|
+
"order_by": ["name__value"],
|
|
15
|
+
"display_labels": ["name__value"],
|
|
16
|
+
"generate_profile": False,
|
|
17
|
+
"branch": BranchSupportType.AWARE.value,
|
|
18
|
+
"uniqueness_constraints": [["name__value"]],
|
|
19
|
+
"documentation": "/topics/graphql",
|
|
20
|
+
"attributes": [
|
|
21
|
+
{"name": "name", "kind": "Text", "unique": True},
|
|
22
|
+
{"name": "description", "kind": "Text", "optional": True},
|
|
23
|
+
{"name": "query", "kind": "TextArea"},
|
|
24
|
+
{
|
|
25
|
+
"name": "variables",
|
|
26
|
+
"kind": "JSON",
|
|
27
|
+
"description": "variables in use in the query",
|
|
28
|
+
"optional": True,
|
|
29
|
+
"read_only": True,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "operations",
|
|
33
|
+
"kind": "List",
|
|
34
|
+
"description": "Operations in use in the query, valid operations: 'query', 'mutation' or 'subscription'",
|
|
35
|
+
"read_only": True,
|
|
36
|
+
"optional": True,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "models",
|
|
40
|
+
"kind": "List",
|
|
41
|
+
"description": "List of models associated with this query",
|
|
42
|
+
"read_only": True,
|
|
43
|
+
"optional": True,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "depth",
|
|
47
|
+
"kind": "Number",
|
|
48
|
+
"description": "number of nested levels in the query",
|
|
49
|
+
"read_only": True,
|
|
50
|
+
"optional": True,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "height",
|
|
54
|
+
"kind": "Number",
|
|
55
|
+
"description": "total number of fields requested in the query",
|
|
56
|
+
"read_only": True,
|
|
57
|
+
"optional": True,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
"relationships": [
|
|
61
|
+
{
|
|
62
|
+
"name": "repository",
|
|
63
|
+
"peer": InfrahubKind.GENERICREPOSITORY,
|
|
64
|
+
"kind": "Attribute",
|
|
65
|
+
"identifier": "graphql_query__repository",
|
|
66
|
+
"cardinality": "one",
|
|
67
|
+
"optional": True,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "tags",
|
|
71
|
+
"peer": InfrahubKind.TAG,
|
|
72
|
+
"kind": "Attribute",
|
|
73
|
+
"optional": True,
|
|
74
|
+
"cardinality": "many",
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
from infrahub.core.constants import (
|
|
2
|
+
BranchSupportType,
|
|
3
|
+
InfrahubKind,
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
core_group = {
|
|
7
|
+
"name": "Group",
|
|
8
|
+
"namespace": "Core",
|
|
9
|
+
"description": "Generic Group Object.",
|
|
10
|
+
"label": "Group",
|
|
11
|
+
"default_filter": "name__value",
|
|
12
|
+
"order_by": ["name__value"],
|
|
13
|
+
"display_labels": ["label__value"],
|
|
14
|
+
"include_in_menu": False,
|
|
15
|
+
"icon": "mdi:group",
|
|
16
|
+
"hierarchical": True,
|
|
17
|
+
"branch": BranchSupportType.AWARE.value,
|
|
18
|
+
"uniqueness_constraints": [["name__value"]],
|
|
19
|
+
"attributes": [
|
|
20
|
+
{"name": "name", "kind": "Text", "unique": True},
|
|
21
|
+
{"name": "label", "kind": "Text", "optional": True},
|
|
22
|
+
{"name": "description", "kind": "Text", "optional": True},
|
|
23
|
+
{
|
|
24
|
+
"name": "group_type",
|
|
25
|
+
"kind": "Text",
|
|
26
|
+
"enum": ["default", "internal"],
|
|
27
|
+
"default_value": "default",
|
|
28
|
+
"optional": False,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
"relationships": [
|
|
32
|
+
{
|
|
33
|
+
"name": "members",
|
|
34
|
+
"peer": InfrahubKind.NODE,
|
|
35
|
+
"optional": True,
|
|
36
|
+
"identifier": "group_member",
|
|
37
|
+
"cardinality": "many",
|
|
38
|
+
"branch": BranchSupportType.AWARE,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "subscribers",
|
|
42
|
+
"peer": InfrahubKind.NODE,
|
|
43
|
+
"optional": True,
|
|
44
|
+
"identifier": "group_subscriber",
|
|
45
|
+
"cardinality": "many",
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
core_standard_group = {
|
|
51
|
+
"name": "StandardGroup",
|
|
52
|
+
"namespace": "Core",
|
|
53
|
+
"description": "Group of nodes of any kind.",
|
|
54
|
+
"include_in_menu": False,
|
|
55
|
+
"icon": "mdi:account-group",
|
|
56
|
+
"label": "Standard Group",
|
|
57
|
+
"default_filter": "name__value",
|
|
58
|
+
"order_by": ["name__value"],
|
|
59
|
+
"display_labels": ["name__value"],
|
|
60
|
+
"branch": BranchSupportType.AWARE.value,
|
|
61
|
+
"inherit_from": [InfrahubKind.GENERICGROUP],
|
|
62
|
+
"generate_profile": False,
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
core_generator_group = {
|
|
66
|
+
"name": "GeneratorGroup",
|
|
67
|
+
"namespace": "Core",
|
|
68
|
+
"description": "Group of nodes that are created by a generator.",
|
|
69
|
+
"include_in_menu": False,
|
|
70
|
+
"icon": "mdi:state-machine",
|
|
71
|
+
"label": "Generator Group",
|
|
72
|
+
"default_filter": "name__value",
|
|
73
|
+
"order_by": ["name__value"],
|
|
74
|
+
"display_labels": ["name__value"],
|
|
75
|
+
"branch": BranchSupportType.LOCAL.value,
|
|
76
|
+
"inherit_from": [InfrahubKind.GENERICGROUP],
|
|
77
|
+
"generate_profile": False,
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
core_graphql_query_group = {
|
|
81
|
+
"name": "GraphQLQueryGroup",
|
|
82
|
+
"namespace": "Core",
|
|
83
|
+
"description": "Group of nodes associated with a given GraphQLQuery.",
|
|
84
|
+
"include_in_menu": False,
|
|
85
|
+
"icon": "mdi:account-group",
|
|
86
|
+
"label": "GraphQL Query Group",
|
|
87
|
+
"default_filter": "name__value",
|
|
88
|
+
"order_by": ["name__value"],
|
|
89
|
+
"display_labels": ["name__value"],
|
|
90
|
+
"branch": BranchSupportType.LOCAL.value,
|
|
91
|
+
"inherit_from": [InfrahubKind.GENERICGROUP],
|
|
92
|
+
"generate_profile": False,
|
|
93
|
+
"attributes": [
|
|
94
|
+
{"name": "parameters", "kind": "JSON", "optional": True},
|
|
95
|
+
],
|
|
96
|
+
"relationships": [
|
|
97
|
+
{
|
|
98
|
+
"name": "query",
|
|
99
|
+
"peer": InfrahubKind.GRAPHQLQUERY,
|
|
100
|
+
"optional": False,
|
|
101
|
+
"cardinality": "one",
|
|
102
|
+
"kind": "Attribute",
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
}
|