diff --git a/PYEGERIA_ISSUES.md b/PYEGERIA_ISSUES.md index 6b877df6..ecd1cb46 100644 --- a/PYEGERIA_ISSUES.md +++ b/PYEGERIA_ISSUES.md @@ -1405,6 +1405,35 @@ Sorted newest-first by `ISSUE-#` (2026-10-12). ISSUE-91 has two entries --- +### ISSUE-142: Every Egeria error with relatedHTTPCode 401/403 was raised as "User not authorized", including 403 errors that are not about authorization + +**Layer:** Pyegeria · **Status:** fixed 2026-10-13 · **Found:** 2026-10-13, reported by the egeria-workspaces-fs Resource Browser session during a live work-list test. + +**What:** `CollectionManager.delete_collection` on a WorkingSet that still had +members (cascade off) failed with Egeria's +`OMAG-GENERIC-HANDLERS-403-005` -- an `InvalidParameterException` saying the +element still has a dependent. Egeria wraps it with `relatedHTTPCode` 403. +pyegeria's `_async_make_request` (`pyegeria/core/_base_server_client.py`) +mapped any wrapped 401 or 403 to `PyegeriaUnauthorizedException` without +looking at `exceptionClassName`, so the caller saw +"AUTHORIZATION_ERROR_401 User not authorized received for user - ``". The +real cause was hidden, the caller looked unauthenticated, and the user name +was blank, because the exception was built with the JSON response as +`additional_info`, which has no `userid`. + +**Fix:** a wrapped 401/403 is raised as `PyegeriaUnauthorizedException` only +when `exceptionClassName` is `UserNotAuthorizedException`, or when it is a 401 +with no exception class. Any other 403 is raised as `PyegeriaAPIException`, +carrying Egeria's own message. The user id is now passed, so the message names +the user. Test: `tests/micro-tests/test_issue_142_403_not_always_unauthorized.py`. + +**Also checked, not affected:** in 6.2, `CollectionMembershipProperties` +takes `confidence`; `expectedConfidence` is silently dropped. pyegeria already +sends `confidence` (`collection_manager.py`, +`md_processing/v2/collection_manager_processor.py`). + +--- + ### ISSUE-141: `ActionParameter.function` is a required string, so analytic-only specs must pass `""`, and the Advisor's validator then warns "No Action Function" **Layer:** pyegeria (report spec models) · **Status:** fixed 2026-10-12 on branch `docs/issue-136` (PR pending), not yet released · **Found:** 2026-10-12, reported by the Resource Explorer PR/CI session from trellis-analytics (trellis PR #622, `trellis_analytics/portal.py`), which works around it today. diff --git a/commands/tech/spec_editor_static/app.js b/commands/tech/spec_editor_static/app.js index 0ae32438..58fe34e9 100644 --- a/commands/tech/spec_editor_static/app.js +++ b/commands/tech/spec_editor_static/app.js @@ -1,7 +1,7 @@ // Dr.Egeria Spec Editor -- vanilla JS, no build step, no framework. const STYLE_OPTIONS = [ - "Simple", "Simple Int", "Simple Float", "Simple List", "Bool", "Enum", + "Simple", "Simple Int", "Simple Float", "Simple List", "Line List", "Table", "Bool", "Enum", "Valid Value", "QN", "GUID", "Reference Name", "Reference Name List", "Dictionary", "Named DICT", ]; diff --git a/docs/dr_egeria_manual.md b/docs/dr_egeria_manual.md index 4dc77a14..e91e40bb 100644 --- a/docs/dr_egeria_manual.md +++ b/docs/dr_egeria_manual.md @@ -279,7 +279,8 @@ Dr.Egeria organizes its commands into "families," each corresponding to a specif - **Feedback**: Add comments, ratings, and informal tags to any Egeria element (e.g., `Add Comment`, `Attach Tag`). Also includes several `Person Action Base` commands (shared with Curation's `Create Meeting`/`Create ToDo` — see above): `Create Review`, implemented via `my_profile.create_review`; `Create Note`, which attaches an opinion/annotation about *any* target element (`Commented On Element`) via a dedicated `NoteLog`, typed as Egeria's real `Note` entity (a `Notification` subtype, added Egeria PR #9191, confirmed live 2026-08-04); and `Create Journal Entry`/`Create Activity Entry`/`Create Blog Entry`, three sibling commands for the calling user's own activity stream — private (`JournalEntry`), or public (`ActivityEntry`/`BlogEntry`) — implemented via `my_profile.journal_my_activity`/`log_my_activity`/`blog_my_activity` respectively. `Note`/`JournalEntry`/`ActivityEntry`/`BlogEntry` are all `Notification` subtypes attached through the same `NoteLog`/`AttachedNoteLogEntry` mechanism (see [egeria-project.org/concepts/notification](https://egeria-project.org/concepts/notification/)), differing only in target (any element vs. the user's own profile) and visibility. - **External Reference**: Link Egeria elements to external resources, media, or cited documents (e.g., `Create External Reference`, `Link Media Reference`, `Create External Standard`). -- **Reference Data**: Attach valid values from a `ValidValueDefinition`/`ValidValueSet` to existing elements, and manage the type-system-level valid-metadata-value registry (e.g., `Link Element to Valid Values`, `Link Reference Value Assignment`, `Link Specification Property Assignment`, `Setup Valid Metadata Value`, `Set Consistent Metadata Values`). The `ValidValuesAssignment` relationship also has two contextual variants living in their natural families rather than here: `Link Question to Valid Values` (Glossary) and `Link Data Field to Valid Values` (Data Designer) — all three share one dispatcher-level processor (`ReferenceDataLinkProcessor` in `md_processing/v2/reference_data.py`). +- **Reference Data**: Author business value lists and attach them to elements. `Create Reference Data Set` / `Create Reference Data Value` create `ReferenceDataSet` / `ReferenceDataValue` elements (the shape Egeria's own content uses). A set's members can be linked (`Members`), created inline one per line (`Values`, where commas are part of the value), or created with their own properties from a markdown table (`Value Table`: Value, Display Name, Description, Usage, Data Type, Is Case Sensitive, Default, Ordinal). Inline values are named `::`, so re-running a document updates them in place; members no longer listed are unlinked, never deleted. Relationships between values: `Link/Detach Valid Value Member`, `Consistent Valid Values`, `Associated Valid Values`, `Mapped Valid Values`, `Valid Value Implementation`. Assigning a set to an element: `Link Element to Valid Values` (with `Strict Requirement`) and `Link Reference Value Assignment`; the contextual variants `Link Question to Valid Values` (Glossary) and `Link Data Field to Valid Values` (Data Designer) share `ReferenceDataLinkProcessor` (`md_processing/v2/reference_data.py`). Note: the Reference Data view's finds default to type `ReferenceDataValue`, so a plain `ValidValueDefinition` is invisible to them unless the type is passed. +- **Valid Metadata**: Manage the allowed values of Egeria's own properties (the type-system-level registry Dr.Egeria itself validates "Valid Value" attributes against) — `Setup`/`Clear Valid Metadata Value`, `Map Name` and `Map Value`, `Set Consistent Metadata Values`, and `Link`/`Detach Specification Property Assignment`. `Setup Valid Metadata Value` accepts a `Metadata Value Table` (Preferred Value, Display Name, Description) to set up several values for one property in one command. Split out of Reference Data on 2026-10-13; command names are unchanged. - **Views & Reports** (formerly **Report**): Run and author report specs (`FormatSet`s), and compose them — plus real Egeria `Report` assets and literal markdown text — into user-authored Dashboard Sheets: - `View Report`: Run a report spec ad hoc, supplying execution parameters (search string, output format, `Report Parameters` for a find-method spec's non-standard parameter, `Analytic Parameters` for an analytic-function spec's parameters, ...) at run time — no persistent element created. - `Create Report`: Persist a real Egeria `Report` asset that names a report spec and pins its own default execution parameters (including, for an analytic-function-backed spec, `Analytic Parameters`; or, for a report spec's action needing a parameter outside the standard find/search set — e.g. `collection_guid` for the `Collection Members` report — `Report Parameters` — see [`output-formats-and-report-specs.md`](output-formats-and-report-specs.md) for the find-method vs. analytic-function distinction), so it can be referenced by name and placed on a dashboard. diff --git a/md_processing/data/compact_commands/commands_reference_data_compact.json b/md_processing/data/compact_commands/commands_reference_data_compact.json index 2c31ceea..c628d0b4 100644 --- a/md_processing/data/compact_commands/commands_reference_data_compact.json +++ b/md_processing/data/compact_commands/commands_reference_data_compact.json @@ -59,34 +59,921 @@ "level": "Domain", "Journal Entry": "" }, - "Specification Property": { - "variable_name": "specification_property", - "inUpdate": false, + "Effective From": { + "variable_name": "effective_from", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The beginning of when an element is viewable.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Effective Time": { + "variable_name": "effective_time", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The time at which an element must be effective in order to be returned by the request.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Effective To": { + "variable_name": "effective_to", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The ending time at which an element is visible.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Extended Properties": { + "variable_name": "extended_properties", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A dictionary of properties that extend the properties of an entity type.", + "generated": false, + "style": "Dictionary", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Invisible", + "Journal Entry": "" + }, + "External Source GUID": { + "variable_name": "external_source_guid", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The unique identifier of an external source.", + "generated": false, + "style": "GUID", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "External Source Name": { + "variable_name": "external_source_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The name of an external source", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "For Duplicate Processing": { + "variable_name": "for_duplicate_processing", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Flag indicating if the request is to support duplicate processing.", + "generated": false, + "style": "Bool", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "For Lineage": { + "variable_name": "for_lineage", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Flag indicating if the request is to support lineage.", + "generated": false, + "style": "Bool", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Journal Entry": { + "variable_name": "journal_entry", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A text entry into a journal.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "Request ID": { + "variable_name": "request_id", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A user provided or system generated request id for a conversation.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Preferred Value": { + "variable_name": "preferred_value", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Anchor ID": { + "variable_name": "anchor_id", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "Referenceable", + "description": "Name of the anchoring element.", + "generated": false, + "style": "Reference Name", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Anchor Scope ID": { + "variable_name": "anchor_scope_id", + "inUpdate": true, + "attr_labels": "Anchor Scope", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "Referenceable", + "description": "Anchor scope to restrict search.", + "generated": false, + "style": "Reference Name", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Glossary Term": { + "variable_name": "glossary_term", + "inUpdate": true, + "attr_labels": "Term", + "examples": "Term::Zip Code", + "default_value": "", + "valid_values": [], + "existing_element": "GlossaryTerm", + "description": "Term that provides meaning to this field.", + "generated": false, + "style": "Reference Name", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Is Own Anchor": { + "variable_name": "is_own_anchor", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "true", + "valid_values": [], + "existing_element": "", + "description": "A flag indicating if the element is its own anchor or is anchored to a different element.", + "generated": false, + "style": "Bool", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Merge Update": { + "variable_name": "merge_update", + "inUpdate": true, + "attr_labels": "isMergeUpdate", + "examples": "", + "default_value": "true", + "valid_values": [], + "existing_element": "", + "description": "A flag indicating if the update should be a merge or replace.", + "generated": false, + "style": "Bool", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Parent at End1": { + "variable_name": "parent_at_end1", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "true", + "valid_values": [], + "existing_element": "", + "description": "A flag indicating if the parent is at end1 of the relationship", + "generated": false, + "style": "Bool", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Parent ID": { + "variable_name": "parent_id", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "Referenceable", + "description": "Name of the parent", + "generated": false, + "style": "Reference Name", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Parent Relationship Attributes": { + "variable_name": "parent_relationship_attributes", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A dictionary of relationship attributes to establish the parent relationship.", + "generated": false, + "style": "Dictionary", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Parent Relationship Type Name": { + "variable_name": "parent_relationship_type_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The type of parent relationship.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Search Keywords": { + "variable_name": "search_keywords", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A list of search keywords.", + "generated": false, + "style": "Simple List", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 0, + "level": "Basic", + "Journal Entry": "" + }, + "Status": { + "variable_name": "status", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "ACTIVE", + "valid_values": [], + "existing_element": "", + "description": "Repository or element header status for an element.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Zone Membership": { + "variable_name": "zone_membership", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Zones scope visibility of elements to different users.", + "generated": false, + "style": "Simple List", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Additional Properties": { + "variable_name": "additional_properties", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Additional Properties allow arbitrary properties not defined in the type definitions to be added to any referenceable element.", + "generated": false, + "style": "Dictionary", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Category": { + "variable_name": "category", + "inUpdate": true, + "attr_labels": "Category Name", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A user-defined category for the element, used to group related elements for display or search purposes.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "Confidence Classification": { + "variable_name": "confidence_classification", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [ + "UNCLASSIFIED", + "AD_HOC", + "TRANSACTIONAL", + "AUTHORITATIVE", + "DERIVED", + "OBSOLETE", + "OTHER" + ], + "existing_element": "", + "description": "Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, level_identifier: int}. level_identifier uses ConfidenceLevel enum: UNCLASSIFIED=0, AD_HOC=1, TRANSACTIONAL=2, AUTHORITATIVE=3, DERIVED=4, OBSOLETE=5, OTHER=99.", + "generated": false, + "style": "Valid Value", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Confidentiality Classification": { + "variable_name": "confidentiality_classification", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [ + "UNCLASSIFIED", + "INTERNAL", + "CONFIDENTIAL", + "SENSITIVE", + "RESTRICTED", + "OTHER" + ], + "existing_element": "", + "description": "Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, level_identifier: int}. level_identifier uses ConfidentialityLevel enum: UNCLASSIFIED=0, INTERNAL=1, CONFIDENTIAL=2, SENSITIVE=3, RESTRICTED=4, OTHER=99.", + "generated": false, + "style": "Valid Value", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Criticality Classification": { + "variable_name": "criticality_classification", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [ + "UNCLASSIFIED", + "MARGINAL", + "IMPORTANT", + "CRITICAL", + "CATASTROPHIC", + "OTHER" + ], + "existing_element": "", + "description": "Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, level_identifier: int}. level_identifier uses CriticalityLevel enum: UNCLASSIFIED=0, MARGINAL=1, IMPORTANT=2, CRITICAL=3, CATASTROPHIC=4, OTHER=99.", + "generated": false, + "style": "Valid Value", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Description": { + "variable_name": "description", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A description.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "Display Name": { + "variable_name": "display_name", + "inUpdate": true, + "attr_labels": "\"Term Name\"", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The common name of an element.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": true, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "GUID": { + "variable_name": "guid", + "inUpdate": true, + "attr_labels": "guid; Guid", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A unique identifier - typically of an element in this context.", + "generated": false, + "style": "GUID", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Basic", + "Journal Entry": "" + }, + "Identifier": { + "variable_name": "identifier", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "An identier", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Impact Classification": { + "variable_name": "impact_classification", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [ + "UNCLASSIFIED", + "LOW", + "MEDIUM", + "HIGH", + "OTHER" + ], + "existing_element": "", + "description": "Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, severity_identifier: int}. severity_identifier uses ImpactSeverity enum: UNCLASSIFIED=0, LOW=1, MEDIUM=2, HIGH=3, OTHER=99.", + "generated": false, + "style": "Valid Value", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Legal": { + "variable_name": "legal", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Copyright and/or license information for the element or associated resource.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "Policy Management Point": { + "variable_name": "policy_management_point", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Combined classification from 0435. Applied to Referenceable. Structure: {point_type: str, name: str, description: str}. point_type is one of: PolicyAdministrationPoint, PolicyDecisionPoint, PolicyEnforcementPoint, PolicyInformationPoint, PolicyRetrievalPoint. A Referenceable may have multiple policy management point classifications simultaneously.", + "generated": false, + "style": "Dictionary", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Qualified Name": { + "variable_name": "qualified_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The unique, text name of an element.", + "generated": false, + "style": "QN", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "Retention Classification": { + "variable_name": "retention_classification", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [ + "UNCLASSIFIED", + "TEMPORARY", + "PROJECT_LIFETIME", + "TEAM_LIFETIME", + "CONTRACT_LIFETIME", + "REGULATED_LIFETIME", + "TIMEBOXED_LIFETIME", + "OTHER" + ], + "existing_element": "", + "description": "Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, basis_identifier: int, associated_guid: str, archive_after: date, delete_after: date}. basis_identifier uses RetentionBasis enum: UNCLASSIFIED=0, TEMPORARY=1, PROJECT_LIFETIME=2, TEAM_LIFETIME=3, CONTRACT_LIFETIME=4, REGULATED_LIFETIME=5, TIMEBOXED_LIFETIME=6, OTHER=99.", + "generated": false, + "style": "Valid Value", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Security Tags": { + "variable_name": "security_tags", + "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], - "existing_element": "ValidValueDefinition", - "description": "The valid value definition representing the specification property being attached (SpecificationPropertyAssignment relationship).", + "existing_element": "", + "description": "Optional security tags for security processing.", "generated": false, - "style": "Reference Name", + "style": "Simple List", "user_specified": true, "unique": false, - "input_required": true, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 0, + "level": "Advanced", + "Journal Entry": "" + }, + "URL": { + "variable_name": "url", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "URL for further information.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Basic", + "Journal Entry": "" + }, + "Version Identifier": { + "variable_name": "version_identifier", + "inUpdate": true, + "attr_labels": "Version", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The version of the element", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Basic", + "Journal Entry": "" + }, + "Authors": { + "variable_name": "authors", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The authors.", + "generated": false, + "style": "Simple List", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Basic", + "Journal Entry": "" + }, + "Content Status": { + "variable_name": "content_status", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "ACTIVE", + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ], + "existing_element": "", + "description": "The lifecycle status of an element.", + "generated": false, + "style": "Valid Value", + "user_specified": true, + "unique": false, + "input_required": false, "min_cardinality": 1, "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "User Defined Content Status": { + "variable_name": "user_defined_content_status", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A user defined content status = only valid if content status is OTHER.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Data Type": { + "variable_name": "data_type", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "string", + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ], + "existing_element": "", + "description": "The data type of the field or value specification (e.g. string, int, date, boolean).", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, "level": "Domain", "Journal Entry": "" }, - "Property Name": { - "variable_name": "property_name", - "inUpdate": false, + "Usage": { + "variable_name": "usage", + "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "The name of the specification property being assigned (SpecificationPropertyAssignment relationship).", + "description": "The usage guidance for this element \u2014 how it is intended to be used in context.", "generated": false, "style": "Simple", "user_specified": true, @@ -97,262 +984,433 @@ "level": "Domain", "Journal Entry": "" }, - "Effective From": { - "variable_name": "effective_from", + "Scope": { + "variable_name": "scope", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Scope of the definition or element.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "Namespace Path": { + "variable_name": "namespace_path", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The namespace path that qualifies the element's name within a larger naming hierarchy.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Is Case Sensitive": { + "variable_name": "is_case_sensitive", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "false", + "valid_values": [], + "existing_element": "", + "description": "If true, values for this data class or field are case-sensitive.", + "generated": false, + "style": "Bool", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Confidence": { + "variable_name": "confidence", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A percent confidence in the proposed adding of the member.", + "generated": false, + "style": "Simple Int", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Steward": { + "variable_name": "steward", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The identifier of the steward responsible for the element.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Steward Type Name": { + "variable_name": "steward_type_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The type name of the steward element.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Steward Property Name": { + "variable_name": "steward_property_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Property name used to identify the type of the steward.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Notes": { + "variable_name": "notes", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Notes and observations about the element.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Implementation Element": { + "variable_name": "implementation_element", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "Referenceable", + "description": "The element (e.g. a deployed capability, process, or connector) that implements the Design Element.", + "generated": false, + "style": "Reference Name", + "user_specified": true, + "unique": false, + "input_required": true, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "Added 2026-09-13 -- ImplementedBy relationship (0737) support, requested by the user: Solution Architect had no command for governance_officer's linkDesignToImplementation/detachDesignFromImplementation, and Create Information Supply Chain had no way to record implementation elements. Confirmed live 2026-09-13 that 'Link Information Supply Chain Child' already correctly uses CollectionMembership (not ImplementedBy) -- no fix needed there. Detach/Unlink/Attach/Add/Remove variants are auto-derived by build_command_variants() from this one 'Link' definition, matching every other Solution Architect link command -- no separate Detach compact entry needed." + }, + "Ordinal": { + "variable_name": "ordinal", "inUpdate": true, "attr_labels": "", "examples": "", - "default_value": "", + "default_value": "0", "valid_values": [], "existing_element": "", - "description": "The beginning of when an element is viewable.", + "description": "Position of this value in an ordered list of values (the ordinal property).", "generated": false, - "style": "Simple", + "style": "Simple Int", "user_specified": true, "unique": false, "input_required": false, - "min_cardinality": 1, + "min_cardinality": 0, "max_cardinality": 1, "level": "Advanced", - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Effective Time": { - "variable_name": "effective_time", + "In Reference Data Set": { + "variable_name": "in_reference_data_set", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], - "existing_element": "", - "description": "The time at which an element must be effective in order to be returned by the request.", + "existing_element": "ReferenceDataSet", + "description": "The reference data set this value belongs to. Links the value as a member of the set (ValidValueMember).", "generated": false, - "style": "Simple", + "style": "Reference Name", "user_specified": true, "unique": false, "input_required": false, - "min_cardinality": 1, + "min_cardinality": 0, "max_cardinality": 1, - "level": "Advanced", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Effective To": { - "variable_name": "effective_to", + "Is Default Member": { + "variable_name": "is_default_member", "inUpdate": true, "attr_labels": "", "examples": "", - "default_value": "", + "default_value": "false", "valid_values": [], "existing_element": "", - "description": "The ending time at which an element is visible.", + "description": "If true, this value is the set's default (isDefaultValue on the ValidValueMember relationship).", "generated": false, - "style": "Simple", + "style": "Bool", "user_specified": true, "unique": false, "input_required": false, - "min_cardinality": 1, + "min_cardinality": 0, "max_cardinality": 1, - "level": "Advanced", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Extended Properties": { - "variable_name": "extended_properties", + "Member Ordinal": { + "variable_name": "member_ordinal", "inUpdate": true, "attr_labels": "", "examples": "", - "default_value": "", + "default_value": "0", "valid_values": [], "existing_element": "", - "description": "A dictionary of properties that extend the properties of an entity type.", + "description": "Position of the value within the set (ordinal on the ValidValueMember relationship).", "generated": false, - "style": "Dictionary", + "style": "Simple Int", "user_specified": true, "unique": false, "input_required": false, "min_cardinality": 0, "max_cardinality": 1, - "level": "Invisible", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "External Source GUID": { - "variable_name": "external_source_guid", + "Members": { + "variable_name": "members", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], - "existing_element": "", - "description": "The unique identifier of an external source.", + "existing_element": "ValidValueDefinition", + "description": "Existing values that belong to this set, one per line or comma-separated. Each is linked as a member (ValidValueMember). On a re-run, a value no longer listed is unlinked, not deleted.", "generated": false, - "style": "GUID", + "style": "Reference Name List", "user_specified": true, "unique": false, "input_required": false, - "min_cardinality": 1, - "max_cardinality": 1, - "level": "Advanced", - "Journal Entry": "" + "min_cardinality": 0, + "max_cardinality": 0, + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "External Source Name": { - "variable_name": "external_source_name", + "Values": { + "variable_name": "values", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "The name of an external source", + "description": "Member values to create and link, one per line. Commas are part of the value. Each value's qualified name is the set's qualified name plus '::' and the value, so a re-run reuses it. Ordinal follows list position.", "generated": false, - "style": "Simple", + "style": "Line List", "user_specified": true, "unique": false, "input_required": false, "min_cardinality": 0, - "max_cardinality": 1, - "level": "Advanced", - "Journal Entry": "" + "max_cardinality": 0, + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "For Duplicate Processing": { - "variable_name": "for_duplicate_processing", + "Value Table": { + "variable_name": "value_table", "inUpdate": true, "attr_labels": "", - "examples": "", + "examples": "| Value | Display Name | Default |\n|---|---|---|\n| PENDING | Pending | true |", "default_value": "", "valid_values": [], "existing_element": "", - "description": "Flag indicating if the request is to support duplicate processing.", + "description": "Member values to create or update and link, as a markdown table with a header row. Columns: Value (required), Display Name, Description, Usage, Data Type, Is Case Sensitive, Default, Ordinal. Use \\| for a literal pipe.", "generated": false, - "style": "Bool", + "style": "Table", "user_specified": true, "unique": false, "input_required": false, - "min_cardinality": 1, - "max_cardinality": 1, - "level": "Advanced", - "Journal Entry": "" + "min_cardinality": 0, + "max_cardinality": 0, + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "For Lineage": { - "variable_name": "for_lineage", + "Default Member": { + "variable_name": "default_member", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "Flag indicating if the request is to support lineage.", + "description": "Which entry in Values is the set's default (match on the value).", "generated": false, - "style": "Bool", + "style": "Simple", "user_specified": true, "unique": false, "input_required": false, - "min_cardinality": 1, + "min_cardinality": 0, "max_cardinality": 1, - "level": "Advanced", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Journal Entry": { - "variable_name": "journal_entry", + "Member Value": { + "variable_name": "member_value", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], - "existing_element": "", - "description": "A text entry into a journal.", + "existing_element": "ValidValueDefinition", + "description": "The value that is a member of the set (end 2 of ValidValueMember).", "generated": false, - "style": "Simple", + "style": "Reference Name", "user_specified": true, "unique": false, - "input_required": false, - "min_cardinality": 0, + "input_required": true, + "min_cardinality": 1, "max_cardinality": 1, - "level": "Common", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Request ID": { - "variable_name": "request_id", + "Valid Value 1": { + "variable_name": "valid_value_1", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], - "existing_element": "", - "description": "A user provided or system generated request id for a conversation.", + "existing_element": "ValidValueDefinition", + "description": "The first valid value in the relationship.", "generated": false, - "style": "Simple", + "style": "Reference Name", "user_specified": true, "unique": false, - "input_required": false, - "min_cardinality": 0, + "input_required": true, + "min_cardinality": 1, "max_cardinality": 1, - "level": "Advanced", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Type Name": { - "variable_name": "type_name", + "Valid Value 2": { + "variable_name": "valid_value_2", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], - "existing_element": "", - "description": "The open metadata type name the valid value applies to; leave unset to apply to all types.", + "existing_element": "ValidValueDefinition", + "description": "The second valid value in the relationship.", "generated": false, - "style": "Simple", + "style": "Reference Name", "user_specified": true, "unique": false, - "input_required": false, - "min_cardinality": 0, + "input_required": true, + "min_cardinality": 1, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Preferred Value": { - "variable_name": "preferred_value", + "Valid Value": { + "variable_name": "valid_value", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], - "existing_element": "", - "description": "The valid/preferred value being set up for the property (or map name/value).", + "existing_element": "ValidValueDefinition", + "description": "The valid value being implemented (end 1 of ValidValuesImplementation).", "generated": false, - "style": "Simple", + "style": "Reference Name", "user_specified": true, "unique": false, "input_required": true, "min_cardinality": 1, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Map Name": { - "variable_name": "map_name", + "Association Name": { + "variable_name": "association_name", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "The name of the map entry, for a map-valued property.", + "description": "Name of the association between the two valid values.", "generated": false, "style": "Simple", "user_specified": true, "unique": false, - "input_required": true, - "min_cardinality": 1, + "input_required": false, + "min_cardinality": 0, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Metadata Display Name": { - "variable_name": "metadata_display_name", + "Association Type": { + "variable_name": "association_type", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "Display name for the valid metadata value.", + "description": "Type of the association between the two valid values.", "generated": false, "style": "Simple", "user_specified": true, @@ -360,18 +1418,18 @@ "input_required": false, "min_cardinality": 0, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Metadata Description": { - "variable_name": "metadata_description", + "Association Description": { + "variable_name": "association_description", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "Description of the valid metadata value.", + "description": "Description of how the two valid values map to each other.", "generated": false, "style": "Simple", "user_specified": true, @@ -379,103 +1437,103 @@ "input_required": false, "min_cardinality": 0, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Metadata Property Name": { - "variable_name": "metadata_property_name", + "Symbolic Name": { + "variable_name": "symbolic_name", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "The open metadata property name the valid value is set up for.", + "description": "The symbolic name the implementing element uses for this valid value.", "generated": false, "style": "Simple", "user_specified": true, "unique": false, - "input_required": true, - "min_cardinality": 1, + "input_required": false, + "min_cardinality": 0, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Metadata Property Name 2": { - "variable_name": "metadata_property_name_2", + "Implementation Value": { + "variable_name": "implementation_value", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "The open metadata property name for the second value in a consistent-values pairing.", + "description": "The value the implementing element uses to represent this valid value.", "generated": false, "style": "Simple", "user_specified": true, "unique": false, - "input_required": true, - "min_cardinality": 1, + "input_required": false, + "min_cardinality": 0, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Type Name 2": { - "variable_name": "type_name_2", + "Additional Values": { + "variable_name": "additional_values", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "The open metadata type name for the second value in a consistent-values pairing.", + "description": "Other values the implementing element uses for this valid value, as name/value pairs.", "generated": false, - "style": "Simple", + "style": "Dictionary", "user_specified": true, "unique": false, "input_required": false, "min_cardinality": 0, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Advanced", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Map Name 2": { - "variable_name": "map_name_2", + "Strict Requirement": { + "variable_name": "strict_requirement", "inUpdate": true, "attr_labels": "", "examples": "", - "default_value": "", + "default_value": "true", "valid_values": [], "existing_element": "", - "description": "The map entry name for the second value in a consistent-values pairing (map-valued properties only).", + "description": "If true, the element must use one of the set's values; if false, the values are suggestions (strictRequirement on ValidValuesAssignment).", "generated": false, - "style": "Simple", + "style": "Bool", "user_specified": true, "unique": false, "input_required": false, "min_cardinality": 0, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Preferred Value 2": { - "variable_name": "preferred_value_2", + "Attribute Name": { + "variable_name": "attribute_name", "inUpdate": true, "attr_labels": "", "examples": "", "default_value": "", "valid_values": [], "existing_element": "", - "description": "The preferred value for the second value in a consistent-values pairing.", + "description": "The attribute of the element that the reference value applies to.", "generated": false, "style": "Simple", "user_specified": true, "unique": false, - "input_required": true, - "min_cardinality": 1, + "input_required": false, + "min_cardinality": 0, "max_cardinality": 1, - "level": "Domain", - "Journal Entry": "" + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." } }, "bundles": { @@ -483,22 +1541,21 @@ "inherits": "Request Base", "own_attributes": [ "Element Id", - "Valid Value Set" + "Valid Value Set", + "Strict Requirement" ] }, "Reference Value Assignment Base": { "inherits": "Request Base", "own_attributes": [ "Element Id", - "Reference Value" - ] - }, - "Specification Property Assignment Base": { - "inherits": "Request Base", - "own_attributes": [ - "Element Id", - "Specification Property", - "Property Name" + "Reference Value", + "Attribute Name", + "Confidence", + "Steward", + "Steward Type Name", + "Steward Property Name", + "Notes" ] }, "Request Base": { @@ -516,55 +1573,129 @@ "Request ID" ] }, - "Valid Metadata Value Base": { + "New-Element": { "inherits": "Request Base", "own_attributes": [ - "Metadata Property Name", - "Type Name", + "Anchor ID", + "Anchor Scope ID", + "Glossary Term", + "Is Own Anchor", + "Merge Update", + "Parent at End1", + "Parent ID", + "Parent Relationship Attributes", + "Parent Relationship Type Name", + "Search Keywords", + "Status", + "Zone Membership" + ] + }, + "Referenceable": { + "inherits": "New-Element", + "own_attributes": [ + "Additional Properties", + "Category", + "Confidence Classification", + "Confidentiality Classification", + "Criticality Classification", + "Description", + "Display Name", + "GUID", + "Identifier", + "Impact Classification", + "Legal", + "Policy Management Point", + "Qualified Name", + "Retention Classification", + "Security Tags", + "URL", + "Version Identifier" + ] + }, + "Authored Referenceable": { + "inherits": "Referenceable", + "own_attributes": [ + "Authors", + "Content Status", + "User Defined Content Status" + ] + }, + "Valid Value Definition Base": { + "inherits": "Authored Referenceable", + "own_attributes": [ "Preferred Value", - "Metadata Display Name", - "Metadata Description" + "Data Type", + "Usage", + "Scope", + "Namespace Path", + "Is Case Sensitive", + "Ordinal" + ] + }, + "Reference Data Set Base": { + "inherits": "Valid Value Definition Base", + "own_attributes": [ + "Members", + "Values", + "Value Table", + "Default Member" ] }, - "Valid Metadata Map Value Base": { + "Reference Data Value Base": { + "inherits": "Valid Value Definition Base", + "own_attributes": [ + "In Reference Data Set", + "Is Default Member", + "Member Ordinal" + ] + }, + "Valid Value Member Base": { "inherits": "Request Base", "own_attributes": [ - "Metadata Property Name", - "Type Name", - "Map Name", - "Preferred Value", - "Metadata Display Name", - "Metadata Description" + "Valid Value Set", + "Member Value", + "Is Default Member", + "Member Ordinal" ] }, - "Valid Metadata Clear Base": { + "Consistent Valid Values Base": { "inherits": "Request Base", "own_attributes": [ - "Metadata Property Name", - "Type Name", - "Preferred Value" + "Valid Value 1", + "Valid Value 2" ] }, - "Valid Metadata Map Clear Base": { + "Associated Valid Values Base": { "inherits": "Request Base", "own_attributes": [ - "Metadata Property Name", - "Type Name", - "Map Name", - "Preferred Value" + "Valid Value 1", + "Valid Value 2", + "Association Name", + "Association Type", + "Additional Properties" ] }, - "Consistent Metadata Values Base": { + "Mapped Valid Values Base": { "inherits": "Request Base", "own_attributes": [ - "Metadata Property Name", - "Type Name", - "Map Name", - "Preferred Value", - "Metadata Property Name 2", - "Type Name 2", - "Map Name 2", - "Preferred Value 2" + "Valid Value 1", + "Valid Value 2", + "Association Description", + "Confidence", + "Steward", + "Steward Type Name", + "Steward Property Name", + "Notes" + ] + }, + "Valid Value Implementation Base": { + "inherits": "Request Base", + "own_attributes": [ + "Valid Value", + "Implementation Element", + "Symbolic Name", + "Implementation Value", + "Additional Values" ] } }, @@ -645,12 +1776,50 @@ "custom_attributes": [], "Journal Entry": "" }, - "Link Specification Property Assignment": { - "display_name": "Specification Property Assignment", + "Create Reference Data Set": { + "display_name": "Reference Data Set", + "qn_prefix": "ReferenceDataSet", + "alternate_names": [], + "family": "Reference Data", + "description": "Creates or updates a reference data set -- a named list of allowed values, such as order statuses or country codes. Members can be linked (Members), created inline one per line (Values), or created with their own properties from a table (Value Table).", + "verb": "Create", + "upsert": true, + "attach": false, + "level": "Basic", + "find_method": "ReferenceDataManager.find_valid_value_definitions", + "find_constraints": "{\"metadata_element_type\": \"ReferenceDataSet\"}", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "ReferenceDataSet", + "bundle": "Reference Data Set Base", + "custom_attributes": [], + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." + }, + "Create Reference Data Value": { + "display_name": "Reference Data Value", + "qn_prefix": "ReferenceDataValue", + "alternate_names": [], + "family": "Reference Data", + "description": "Creates or updates a single reference data value, optionally adding it to a reference data set.", + "verb": "Create", + "upsert": true, + "attach": false, + "level": "Basic", + "find_method": "ReferenceDataManager.find_valid_value_definitions", + "find_constraints": "{\"metadata_element_type\": \"ReferenceDataValue\"}", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "ReferenceDataValue", + "bundle": "Reference Data Value Base", + "custom_attributes": [], + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." + }, + "Link Valid Value Member": { + "display_name": "Valid Value Member", "qn_prefix": "", "alternate_names": [], "family": "Reference Data", - "description": "Attach a ValidValueDefinition to a specific specification property of an element (for example, an Annotation Type property) via the SpecificationPropertyAssignment relationship.", + "description": "Links a value as a member of a reference data set (or any valid value set) (ValidValueMember relationship).", "verb": "Link", "upsert": false, "attach": false, @@ -659,17 +1828,17 @@ "find_constraints": "", "extra_find": "", "extra_constraints": "", - "OM_TYPE": "SpecificationPropertyAssignment", - "bundle": "Specification Property Assignment Base", + "OM_TYPE": "ValidValueMember", + "bundle": "Valid Value Member Base", "custom_attributes": [], - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Detach Specification Property Assignment": { - "display_name": "Specification Property Assignment (Detach)", + "Detach Valid Value Member": { + "display_name": "Valid Value Member (Detach)", "qn_prefix": "", "alternate_names": [], "family": "Reference Data", - "description": "Remove a SpecificationPropertyAssignment relationship from an element.", + "description": "Removes the ValidValueMember relationship.", "verb": "Detach", "upsert": false, "attach": false, @@ -678,143 +1847,162 @@ "find_constraints": "", "extra_find": "", "extra_constraints": "", - "OM_TYPE": "SpecificationPropertyAssignment", - "bundle": "Specification Property Assignment Base", + "OM_TYPE": "ValidValueMember", + "bundle": "Valid Value Member Base", "custom_attributes": [], - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Setup Valid Metadata Value": { - "display_name": "Valid Metadata Value", + "Link Consistent Valid Values": { + "display_name": "Consistent Valid Values", "qn_prefix": "", "alternate_names": [], "family": "Reference Data", - "description": "Create or update the valid value for a particular open metadata property name.", - "verb": "Setup", + "description": "Links two valid values that are consistent with each other (used together) (ConsistentValidValues relationship).", + "verb": "Link", "upsert": false, "attach": false, - "level": "Advanced", + "level": "Basic", "find_method": "", "find_constraints": "", "extra_find": "", "extra_constraints": "", - "OM_TYPE": "", - "bundle": "Valid Metadata Value Base", + "OM_TYPE": "ConsistentValidValues", + "bundle": "Consistent Valid Values Base", "custom_attributes": [], - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Clear Valid Metadata Value": { - "display_name": "Valid Metadata Value (Clear)", + "Detach Consistent Valid Values": { + "display_name": "Consistent Valid Values (Detach)", "qn_prefix": "", "alternate_names": [], "family": "Reference Data", - "description": "Remove a valid value for a property.", - "verb": "Clear", + "description": "Removes the ConsistentValidValues relationship.", + "verb": "Detach", "upsert": false, "attach": false, - "level": "Advanced", + "level": "Basic", "find_method": "", "find_constraints": "", "extra_find": "", "extra_constraints": "", - "OM_TYPE": "", - "bundle": "Valid Metadata Clear Base", + "OM_TYPE": "ConsistentValidValues", + "bundle": "Consistent Valid Values Base", "custom_attributes": [], - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." + }, + "Link Associated Valid Values": { + "display_name": "Associated Valid Values", + "qn_prefix": "", + "alternate_names": [], + "family": "Reference Data", + "description": "Links two related valid values, with a named association (ValidValueAssociation relationship).", + "verb": "Link", + "upsert": false, + "attach": false, + "level": "Basic", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "ValidValueAssociation", + "bundle": "Associated Valid Values Base", + "custom_attributes": [], + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Setup Valid Metadata Map Name": { - "display_name": "Valid Metadata Map Name", + "Detach Associated Valid Values": { + "display_name": "Associated Valid Values (Detach)", "qn_prefix": "", "alternate_names": [], "family": "Reference Data", - "description": "Create or update the valid value for a name that can be stored in a particular open metadata map-valued property.", - "verb": "Setup", + "description": "Removes the ValidValueAssociation relationship.", + "verb": "Detach", "upsert": false, "attach": false, - "level": "Advanced", + "level": "Basic", "find_method": "", "find_constraints": "", "extra_find": "", "extra_constraints": "", - "OM_TYPE": "", - "bundle": "Valid Metadata Value Base", + "OM_TYPE": "ValidValueAssociation", + "bundle": "Associated Valid Values Base", "custom_attributes": [], - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Clear Valid Metadata Map Name": { - "display_name": "Valid Metadata Map Name (Clear)", + "Link Mapped Valid Values": { + "display_name": "Mapped Valid Values", "qn_prefix": "", "alternate_names": [], "family": "Reference Data", - "description": "Remove a valid map name value for a property.", - "verb": "Clear", + "description": "Links two valid values that mean the same thing in different sets (ValidValuesMapping relationship).", + "verb": "Link", "upsert": false, "attach": false, - "level": "Advanced", + "level": "Basic", "find_method": "", "find_constraints": "", "extra_find": "", "extra_constraints": "", - "OM_TYPE": "", - "bundle": "Valid Metadata Clear Base", + "OM_TYPE": "ValidValuesMapping", + "bundle": "Mapped Valid Values Base", "custom_attributes": [], - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Setup Valid Metadata Map Value": { - "display_name": "Valid Metadata Map Value", + "Detach Mapped Valid Values": { + "display_name": "Mapped Valid Values (Detach)", "qn_prefix": "", "alternate_names": [], "family": "Reference Data", - "description": "Create or update the valid value for a name/value pair that can be stored in a particular open metadata map-valued property.", - "verb": "Setup", + "description": "Removes the ValidValuesMapping relationship.", + "verb": "Detach", "upsert": false, "attach": false, - "level": "Advanced", + "level": "Basic", "find_method": "", "find_constraints": "", "extra_find": "", "extra_constraints": "", - "OM_TYPE": "", - "bundle": "Valid Metadata Map Value Base", + "OM_TYPE": "ValidValuesMapping", + "bundle": "Mapped Valid Values Base", "custom_attributes": [], - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Clear Valid Metadata Map Value": { - "display_name": "Valid Metadata Map Value (Clear)", + "Link Valid Value Implementation": { + "display_name": "Valid Value Implementation", "qn_prefix": "", "alternate_names": [], "family": "Reference Data", - "description": "Remove a valid map name/value pair for a property.", - "verb": "Clear", + "description": "Links a valid value to the element that implements it, with the symbolic name and value it uses (ValidValuesImplementation relationship).", + "verb": "Link", "upsert": false, "attach": false, - "level": "Advanced", + "level": "Basic", "find_method": "", "find_constraints": "", "extra_find": "", "extra_constraints": "", - "OM_TYPE": "", - "bundle": "Valid Metadata Map Clear Base", + "OM_TYPE": "ValidValuesImplementation", + "bundle": "Valid Value Implementation Base", "custom_attributes": [], - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." }, - "Set Consistent Metadata Values": { - "display_name": "Consistent Metadata Values", + "Detach Valid Value Implementation": { + "display_name": "Valid Value Implementation (Detach)", "qn_prefix": "", "alternate_names": [], "family": "Reference Data", - "description": "Set up a consistent metadata values relationship between two property values.", - "verb": "Set", + "description": "Removes the ValidValuesImplementation relationship.", + "verb": "Detach", "upsert": false, "attach": false, - "level": "Advanced", + "level": "Basic", "find_method": "", "find_constraints": "", "extra_find": "", "extra_constraints": "", - "OM_TYPE": "", - "bundle": "Consistent Metadata Values Base", + "OM_TYPE": "ValidValuesImplementation", + "bundle": "Valid Value Implementation Base", "custom_attributes": [], - "Journal Entry": "" + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." } } } diff --git a/md_processing/data/compact_commands/commands_valid_metadata_compact.json b/md_processing/data/compact_commands/commands_valid_metadata_compact.json new file mode 100644 index 00000000..17240aa5 --- /dev/null +++ b/md_processing/data/compact_commands/commands_valid_metadata_compact.json @@ -0,0 +1,713 @@ +{ + "family": "Valid Metadata", + "exported": "", + "attribute_definitions": { + "Effective From": { + "variable_name": "effective_from", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The beginning of when an element is viewable.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Effective Time": { + "variable_name": "effective_time", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The time at which an element must be effective in order to be returned by the request.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Effective To": { + "variable_name": "effective_to", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The ending time at which an element is visible.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Extended Properties": { + "variable_name": "extended_properties", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A dictionary of properties that extend the properties of an entity type.", + "generated": false, + "style": "Dictionary", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Invisible", + "Journal Entry": "" + }, + "External Source GUID": { + "variable_name": "external_source_guid", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The unique identifier of an external source.", + "generated": false, + "style": "GUID", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "External Source Name": { + "variable_name": "external_source_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The name of an external source", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "For Duplicate Processing": { + "variable_name": "for_duplicate_processing", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Flag indicating if the request is to support duplicate processing.", + "generated": false, + "style": "Bool", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "For Lineage": { + "variable_name": "for_lineage", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Flag indicating if the request is to support lineage.", + "generated": false, + "style": "Bool", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Journal Entry": { + "variable_name": "journal_entry", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A text entry into a journal.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "Request ID": { + "variable_name": "request_id", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "A user provided or system generated request id for a conversation.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Advanced", + "Journal Entry": "" + }, + "Metadata Property Name": { + "variable_name": "metadata_property_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The open metadata property name the valid value is set up for.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": true, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Type Name": { + "variable_name": "type_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The open metadata type name the valid value applies to; leave unset to apply to all types.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Preferred Value": { + "variable_name": "preferred_value", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Metadata Display Name": { + "variable_name": "metadata_display_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Display name for the valid metadata value.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Metadata Description": { + "variable_name": "metadata_description", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Description of the valid metadata value.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Map Name": { + "variable_name": "map_name", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The name of the map entry, for a map-valued property.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": true, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Metadata Property Name 2": { + "variable_name": "metadata_property_name_2", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The open metadata property name for the second value in a consistent-values pairing.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": true, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Type Name 2": { + "variable_name": "type_name_2", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The open metadata type name for the second value in a consistent-values pairing.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Map Name 2": { + "variable_name": "map_name_2", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The map entry name for the second value in a consistent-values pairing (map-valued properties only).", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Preferred Value 2": { + "variable_name": "preferred_value_2", + "inUpdate": true, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The preferred value for the second value in a consistent-values pairing.", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": true, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Element Id": { + "variable_name": "element_id", + "inUpdate": true, + "attr_labels": "Element Name; Member Id", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "Referenceable", + "description": "The unique identifier (qualified name or GUID) of the element being referenced.", + "generated": false, + "style": "Reference Name", + "user_specified": true, + "unique": false, + "input_required": true, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Common", + "Journal Entry": "" + }, + "Specification Property": { + "variable_name": "specification_property", + "inUpdate": false, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "ValidValueDefinition", + "description": "The valid value definition representing the specification property being attached (SpecificationPropertyAssignment relationship).", + "generated": false, + "style": "Reference Name", + "user_specified": true, + "unique": false, + "input_required": true, + "min_cardinality": 1, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Property Name": { + "variable_name": "property_name", + "inUpdate": false, + "attr_labels": "", + "examples": "", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "The name of the specification property being assigned (SpecificationPropertyAssignment relationship).", + "generated": false, + "style": "Simple", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 1, + "level": "Domain", + "Journal Entry": "" + }, + "Metadata Value Table": { + "variable_name": "metadata_value_table", + "inUpdate": true, + "attr_labels": "", + "examples": "| Preferred Value | Display Name | Description |\n|---|---|---|\n| On Track | On Track | Progressing to plan |", + "default_value": "", + "valid_values": [], + "existing_element": "", + "description": "Several values to set up for the same property in one command, as a markdown table with a header row. Columns: Preferred Value (required), Display Name, Description. Use instead of the single Preferred Value.", + "generated": false, + "style": "Table", + "user_specified": true, + "unique": false, + "input_required": false, + "min_cardinality": 0, + "max_cardinality": 0, + "level": "Basic", + "Journal Entry": "Added 2026-10-13 -- Reference Data authoring." + } + }, + "bundles": { + "Request Base": { + "inherits": null, + "own_attributes": [ + "Effective From", + "Effective Time", + "Effective To", + "Extended Properties", + "External Source GUID", + "External Source Name", + "For Duplicate Processing", + "For Lineage", + "Journal Entry", + "Request ID" + ] + }, + "Valid Metadata Value Base": { + "inherits": "Request Base", + "own_attributes": [ + "Metadata Property Name", + "Type Name", + "Preferred Value", + "Metadata Display Name", + "Metadata Description" + ] + }, + "Valid Metadata Clear Base": { + "inherits": "Request Base", + "own_attributes": [ + "Metadata Property Name", + "Type Name", + "Preferred Value" + ] + }, + "Valid Metadata Map Value Base": { + "inherits": "Request Base", + "own_attributes": [ + "Metadata Property Name", + "Type Name", + "Map Name", + "Preferred Value", + "Metadata Display Name", + "Metadata Description" + ] + }, + "Valid Metadata Map Clear Base": { + "inherits": "Request Base", + "own_attributes": [ + "Metadata Property Name", + "Type Name", + "Map Name", + "Preferred Value" + ] + }, + "Consistent Metadata Values Base": { + "inherits": "Request Base", + "own_attributes": [ + "Metadata Property Name", + "Type Name", + "Map Name", + "Preferred Value", + "Metadata Property Name 2", + "Type Name 2", + "Map Name 2", + "Preferred Value 2" + ] + }, + "Specification Property Assignment Base": { + "inherits": "Request Base", + "own_attributes": [ + "Element Id", + "Specification Property", + "Property Name" + ] + } + }, + "commands": { + "Setup Valid Metadata Value": { + "display_name": "Valid Metadata Value", + "qn_prefix": "", + "alternate_names": [], + "family": "Valid Metadata", + "description": "Create or update the valid value for a particular open metadata property name.", + "verb": "Setup", + "upsert": false, + "attach": false, + "level": "Advanced", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "", + "bundle": "Valid Metadata Value Base", + "custom_attributes": [ + "Metadata Value Table" + ], + "Journal Entry": "" + }, + "Clear Valid Metadata Value": { + "display_name": "Valid Metadata Value (Clear)", + "qn_prefix": "", + "alternate_names": [], + "family": "Valid Metadata", + "description": "Remove a valid value for a property.", + "verb": "Clear", + "upsert": false, + "attach": false, + "level": "Advanced", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "", + "bundle": "Valid Metadata Clear Base", + "custom_attributes": [], + "Journal Entry": "" + }, + "Setup Valid Metadata Map Name": { + "display_name": "Valid Metadata Map Name", + "qn_prefix": "", + "alternate_names": [], + "family": "Valid Metadata", + "description": "Create or update the valid value for a name that can be stored in a particular open metadata map-valued property.", + "verb": "Setup", + "upsert": false, + "attach": false, + "level": "Advanced", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "", + "bundle": "Valid Metadata Value Base", + "custom_attributes": [], + "Journal Entry": "" + }, + "Clear Valid Metadata Map Name": { + "display_name": "Valid Metadata Map Name (Clear)", + "qn_prefix": "", + "alternate_names": [], + "family": "Valid Metadata", + "description": "Remove a valid map name value for a property.", + "verb": "Clear", + "upsert": false, + "attach": false, + "level": "Advanced", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "", + "bundle": "Valid Metadata Clear Base", + "custom_attributes": [], + "Journal Entry": "" + }, + "Setup Valid Metadata Map Value": { + "display_name": "Valid Metadata Map Value", + "qn_prefix": "", + "alternate_names": [], + "family": "Valid Metadata", + "description": "Create or update the valid value for a name/value pair that can be stored in a particular open metadata map-valued property.", + "verb": "Setup", + "upsert": false, + "attach": false, + "level": "Advanced", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "", + "bundle": "Valid Metadata Map Value Base", + "custom_attributes": [], + "Journal Entry": "" + }, + "Clear Valid Metadata Map Value": { + "display_name": "Valid Metadata Map Value (Clear)", + "qn_prefix": "", + "alternate_names": [], + "family": "Valid Metadata", + "description": "Remove a valid map name/value pair for a property.", + "verb": "Clear", + "upsert": false, + "attach": false, + "level": "Advanced", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "", + "bundle": "Valid Metadata Map Clear Base", + "custom_attributes": [], + "Journal Entry": "" + }, + "Set Consistent Metadata Values": { + "display_name": "Consistent Metadata Values", + "qn_prefix": "", + "alternate_names": [], + "family": "Valid Metadata", + "description": "Set up a consistent metadata values relationship between two property values.", + "verb": "Set", + "upsert": false, + "attach": false, + "level": "Advanced", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "", + "bundle": "Consistent Metadata Values Base", + "custom_attributes": [], + "Journal Entry": "" + }, + "Link Specification Property Assignment": { + "display_name": "Specification Property Assignment", + "qn_prefix": "", + "alternate_names": [], + "family": "Valid Metadata", + "description": "Attach a ValidValueDefinition to a specific specification property of an element (for example, an Annotation Type property) via the SpecificationPropertyAssignment relationship.", + "verb": "Link", + "upsert": false, + "attach": false, + "level": "Basic", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "SpecificationPropertyAssignment", + "bundle": "Specification Property Assignment Base", + "custom_attributes": [], + "Journal Entry": "" + }, + "Detach Specification Property Assignment": { + "display_name": "Specification Property Assignment (Detach)", + "qn_prefix": "", + "alternate_names": [], + "family": "Valid Metadata", + "description": "Remove a SpecificationPropertyAssignment relationship from an element.", + "verb": "Detach", + "upsert": false, + "attach": false, + "level": "Basic", + "find_method": "", + "find_constraints": "", + "extra_find": "", + "extra_constraints": "", + "OM_TYPE": "SpecificationPropertyAssignment", + "bundle": "Specification Property Assignment Base", + "custom_attributes": [], + "Journal Entry": "" + } + } +} diff --git a/md_processing/data/generated_format_sets.json b/md_processing/data/generated_format_sets.json index 1da46c29..952feae7 100644 --- a/md_processing/data/generated_format_sets.json +++ b/md_processing/data/generated_format_sets.json @@ -214777,6 +214777,4882 @@ "get_additional_props": null, "question_spec": null }, + "Reference-Data-Set-DrE-Basic": { + "target_type": "Reference Data Set", + "heading": "Reference-Data-Set-DrE-Basic Attributes", + "description": "Auto-generated format for Reference Data Set (Create, Basic).", + "aliases": [], + "annotations": {}, + "family": "Reference Data", + "formats": [ + { + "types": [ + "LIST" + ], + "attributes": [ + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Members", + "key": "members", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Values", + "key": "values", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Value Table", + "key": "value_table", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Default Member", + "key": "default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ], + "columns": [ + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Members", + "key": "members", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Values", + "key": "values", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Value Table", + "key": "value_table", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Default Member", + "key": "default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ] + }, + { + "types": [ + "ALL" + ], + "attributes": [ + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "URL", + "key": "url", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Members", + "key": "members", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Values", + "key": "values", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Value Table", + "key": "value_table", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Default Member", + "key": "default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ], + "columns": [ + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "URL", + "key": "url", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Members", + "key": "members", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Values", + "key": "values", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Value Table", + "key": "value_table", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Default Member", + "key": "default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ] + } + ], + "action": { + "function": "ReferenceDataManager.find_valid_value_definitions", + "required_params": [ + "search_string" + ], + "optional_params": [ + "sequencing_order", + "sequencing_property", + "page_size", + "start_from", + "starts_with", + "ends_with", + "ignore_case", + "classification_names", + "metadata_element_subtypes", + "metadata_element_type" + ], + "spec_params": { + "metadata_element_type": "ReferenceDataSet" + }, + "analytic_function": null, + "analytic_spec_params": {} + }, + "get_additional_props": null, + "question_spec": null + }, + "Reference-Data-Set-DrE-Advanced": { + "target_type": "Reference Data Set", + "heading": "Reference-Data-Set-DrE-Advanced Attributes", + "description": "Auto-generated format for Reference Data Set (Create, Advanced).", + "aliases": [], + "annotations": {}, + "family": "Reference Data", + "formats": [ + { + "types": [ + "LIST" + ], + "attributes": [ + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective From", + "key": "effective_from", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective Time", + "key": "effective_time", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective To", + "key": "effective_to", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Glossary Term", + "key": "glossary_term", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Own Anchor", + "key": "is_own_anchor", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Zone Membership", + "key": "zone_membership", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Additional Properties", + "key": "additional_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Confidence Classification", + "key": "confidence_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "AD_HOC", + "TRANSACTIONAL", + "AUTHORITATIVE", + "DERIVED", + "OBSOLETE", + "OTHER" + ] + }, + { + "name": "Confidentiality Classification", + "key": "confidentiality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "INTERNAL", + "CONFIDENTIAL", + "SENSITIVE", + "RESTRICTED", + "OTHER" + ] + }, + { + "name": "Criticality Classification", + "key": "criticality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "MARGINAL", + "IMPORTANT", + "CRITICAL", + "CATASTROPHIC", + "OTHER" + ] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Identifier", + "key": "identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Impact Classification", + "key": "impact_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "LOW", + "MEDIUM", + "HIGH", + "OTHER" + ] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Policy Management Point", + "key": "policy_management_point", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Retention Classification", + "key": "retention_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "TEMPORARY", + "PROJECT_LIFETIME", + "TEAM_LIFETIME", + "CONTRACT_LIFETIME", + "REGULATED_LIFETIME", + "TIMEBOXED_LIFETIME", + "OTHER" + ] + }, + { + "name": "Security Tags", + "key": "security_tags", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Ordinal", + "key": "ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Members", + "key": "members", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Values", + "key": "values", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Value Table", + "key": "value_table", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Default Member", + "key": "default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Classifications", + "key": "classifications", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Anchor Scope Name", + "key": "anchor_scope_guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Supplementary Properties", + "key": "supplementary_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Status", + "key": "status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "User Defined Content Status", + "key": "user_defined_content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "User Defined Status", + "key": "user_defined_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ], + "columns": [ + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective From", + "key": "effective_from", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective Time", + "key": "effective_time", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective To", + "key": "effective_to", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Glossary Term", + "key": "glossary_term", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Own Anchor", + "key": "is_own_anchor", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Zone Membership", + "key": "zone_membership", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Additional Properties", + "key": "additional_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Confidence Classification", + "key": "confidence_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "AD_HOC", + "TRANSACTIONAL", + "AUTHORITATIVE", + "DERIVED", + "OBSOLETE", + "OTHER" + ] + }, + { + "name": "Confidentiality Classification", + "key": "confidentiality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "INTERNAL", + "CONFIDENTIAL", + "SENSITIVE", + "RESTRICTED", + "OTHER" + ] + }, + { + "name": "Criticality Classification", + "key": "criticality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "MARGINAL", + "IMPORTANT", + "CRITICAL", + "CATASTROPHIC", + "OTHER" + ] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Identifier", + "key": "identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Impact Classification", + "key": "impact_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "LOW", + "MEDIUM", + "HIGH", + "OTHER" + ] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Policy Management Point", + "key": "policy_management_point", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Retention Classification", + "key": "retention_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "TEMPORARY", + "PROJECT_LIFETIME", + "TEAM_LIFETIME", + "CONTRACT_LIFETIME", + "REGULATED_LIFETIME", + "TIMEBOXED_LIFETIME", + "OTHER" + ] + }, + { + "name": "Security Tags", + "key": "security_tags", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Ordinal", + "key": "ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Members", + "key": "members", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Values", + "key": "values", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Value Table", + "key": "value_table", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Default Member", + "key": "default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Classifications", + "key": "classifications", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Anchor Scope Name", + "key": "anchor_scope_guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Supplementary Properties", + "key": "supplementary_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Status", + "key": "status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "User Defined Content Status", + "key": "user_defined_content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "User Defined Status", + "key": "user_defined_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ] + }, + { + "types": [ + "ALL" + ], + "attributes": [ + { + "name": "Effective From", + "key": "effective_from", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective Time", + "key": "effective_time", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective To", + "key": "effective_to", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Glossary Term", + "key": "glossary_term", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Own Anchor", + "key": "is_own_anchor", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Status", + "key": "status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Zone Membership", + "key": "zone_membership", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Additional Properties", + "key": "additional_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Confidence Classification", + "key": "confidence_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "AD_HOC", + "TRANSACTIONAL", + "AUTHORITATIVE", + "DERIVED", + "OBSOLETE", + "OTHER" + ] + }, + { + "name": "Confidentiality Classification", + "key": "confidentiality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "INTERNAL", + "CONFIDENTIAL", + "SENSITIVE", + "RESTRICTED", + "OTHER" + ] + }, + { + "name": "Criticality Classification", + "key": "criticality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "MARGINAL", + "IMPORTANT", + "CRITICAL", + "CATASTROPHIC", + "OTHER" + ] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Identifier", + "key": "identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Impact Classification", + "key": "impact_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "LOW", + "MEDIUM", + "HIGH", + "OTHER" + ] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Policy Management Point", + "key": "policy_management_point", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Retention Classification", + "key": "retention_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "TEMPORARY", + "PROJECT_LIFETIME", + "TEAM_LIFETIME", + "CONTRACT_LIFETIME", + "REGULATED_LIFETIME", + "TIMEBOXED_LIFETIME", + "OTHER" + ] + }, + { + "name": "Security Tags", + "key": "security_tags", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "URL", + "key": "url", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "User Defined Content Status", + "key": "user_defined_content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Ordinal", + "key": "ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Members", + "key": "members", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Values", + "key": "values", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Value Table", + "key": "value_table", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Default Member", + "key": "default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "User Defined Status", + "key": "user_defined_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Classifications", + "key": "classifications", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Anchor Scope Name", + "key": "anchor_scope_guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Supplementary Properties", + "key": "supplementary_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + } + ], + "columns": [ + { + "name": "Effective From", + "key": "effective_from", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective Time", + "key": "effective_time", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective To", + "key": "effective_to", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Glossary Term", + "key": "glossary_term", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Own Anchor", + "key": "is_own_anchor", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Status", + "key": "status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Zone Membership", + "key": "zone_membership", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Additional Properties", + "key": "additional_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Confidence Classification", + "key": "confidence_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "AD_HOC", + "TRANSACTIONAL", + "AUTHORITATIVE", + "DERIVED", + "OBSOLETE", + "OTHER" + ] + }, + { + "name": "Confidentiality Classification", + "key": "confidentiality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "INTERNAL", + "CONFIDENTIAL", + "SENSITIVE", + "RESTRICTED", + "OTHER" + ] + }, + { + "name": "Criticality Classification", + "key": "criticality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "MARGINAL", + "IMPORTANT", + "CRITICAL", + "CATASTROPHIC", + "OTHER" + ] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Identifier", + "key": "identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Impact Classification", + "key": "impact_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "LOW", + "MEDIUM", + "HIGH", + "OTHER" + ] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Policy Management Point", + "key": "policy_management_point", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Retention Classification", + "key": "retention_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "TEMPORARY", + "PROJECT_LIFETIME", + "TEAM_LIFETIME", + "CONTRACT_LIFETIME", + "REGULATED_LIFETIME", + "TIMEBOXED_LIFETIME", + "OTHER" + ] + }, + { + "name": "Security Tags", + "key": "security_tags", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "URL", + "key": "url", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "User Defined Content Status", + "key": "user_defined_content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Ordinal", + "key": "ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Members", + "key": "members", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Values", + "key": "values", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Value Table", + "key": "value_table", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Default Member", + "key": "default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "User Defined Status", + "key": "user_defined_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Classifications", + "key": "classifications", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Anchor Scope Name", + "key": "anchor_scope_guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Supplementary Properties", + "key": "supplementary_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + } + ] + } + ], + "action": { + "function": "ReferenceDataManager.find_valid_value_definitions", + "required_params": [ + "search_string" + ], + "optional_params": [ + "sequencing_order", + "sequencing_property", + "page_size", + "start_from", + "starts_with", + "ends_with", + "ignore_case", + "classification_names", + "metadata_element_subtypes", + "metadata_element_type" + ], + "spec_params": { + "metadata_element_type": "ReferenceDataSet" + }, + "analytic_function": null, + "analytic_spec_params": {} + }, + "get_additional_props": null, + "question_spec": null + }, + "Reference-Data-Value-DrE-Basic": { + "target_type": "Reference Data Value", + "heading": "Reference-Data-Value-DrE-Basic Attributes", + "description": "Auto-generated format for Reference Data Value (Create, Basic).", + "aliases": [], + "annotations": {}, + "family": "Reference Data", + "formats": [ + { + "types": [ + "LIST" + ], + "attributes": [ + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "In Reference Data Set", + "key": "in_reference_data_set", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Default Member", + "key": "is_default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Member Ordinal", + "key": "member_ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ], + "columns": [ + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "In Reference Data Set", + "key": "in_reference_data_set", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Default Member", + "key": "is_default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Member Ordinal", + "key": "member_ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ] + }, + { + "types": [ + "ALL" + ], + "attributes": [ + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "URL", + "key": "url", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "In Reference Data Set", + "key": "in_reference_data_set", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Default Member", + "key": "is_default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Member Ordinal", + "key": "member_ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ], + "columns": [ + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "URL", + "key": "url", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "In Reference Data Set", + "key": "in_reference_data_set", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Default Member", + "key": "is_default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Member Ordinal", + "key": "member_ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ] + } + ], + "action": { + "function": "ReferenceDataManager.find_valid_value_definitions", + "required_params": [ + "search_string" + ], + "optional_params": [ + "sequencing_order", + "sequencing_property", + "page_size", + "start_from", + "starts_with", + "ends_with", + "ignore_case", + "classification_names", + "metadata_element_subtypes", + "metadata_element_type" + ], + "spec_params": { + "metadata_element_type": "ReferenceDataValue" + }, + "analytic_function": null, + "analytic_spec_params": {} + }, + "get_additional_props": null, + "question_spec": null + }, + "Reference-Data-Value-DrE-Advanced": { + "target_type": "Reference Data Value", + "heading": "Reference-Data-Value-DrE-Advanced Attributes", + "description": "Auto-generated format for Reference Data Value (Create, Advanced).", + "aliases": [], + "annotations": {}, + "family": "Reference Data", + "formats": [ + { + "types": [ + "LIST" + ], + "attributes": [ + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective From", + "key": "effective_from", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective Time", + "key": "effective_time", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective To", + "key": "effective_to", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Glossary Term", + "key": "glossary_term", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Own Anchor", + "key": "is_own_anchor", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Zone Membership", + "key": "zone_membership", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Additional Properties", + "key": "additional_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Confidence Classification", + "key": "confidence_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "AD_HOC", + "TRANSACTIONAL", + "AUTHORITATIVE", + "DERIVED", + "OBSOLETE", + "OTHER" + ] + }, + { + "name": "Confidentiality Classification", + "key": "confidentiality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "INTERNAL", + "CONFIDENTIAL", + "SENSITIVE", + "RESTRICTED", + "OTHER" + ] + }, + { + "name": "Criticality Classification", + "key": "criticality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "MARGINAL", + "IMPORTANT", + "CRITICAL", + "CATASTROPHIC", + "OTHER" + ] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Identifier", + "key": "identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Impact Classification", + "key": "impact_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "LOW", + "MEDIUM", + "HIGH", + "OTHER" + ] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Policy Management Point", + "key": "policy_management_point", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Retention Classification", + "key": "retention_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "TEMPORARY", + "PROJECT_LIFETIME", + "TEAM_LIFETIME", + "CONTRACT_LIFETIME", + "REGULATED_LIFETIME", + "TIMEBOXED_LIFETIME", + "OTHER" + ] + }, + { + "name": "Security Tags", + "key": "security_tags", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Ordinal", + "key": "ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "In Reference Data Set", + "key": "in_reference_data_set", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Default Member", + "key": "is_default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Member Ordinal", + "key": "member_ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Classifications", + "key": "classifications", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Anchor Scope Name", + "key": "anchor_scope_guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Supplementary Properties", + "key": "supplementary_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Status", + "key": "status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "User Defined Content Status", + "key": "user_defined_content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "User Defined Status", + "key": "user_defined_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ], + "columns": [ + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective From", + "key": "effective_from", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective Time", + "key": "effective_time", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective To", + "key": "effective_to", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Glossary Term", + "key": "glossary_term", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Own Anchor", + "key": "is_own_anchor", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Zone Membership", + "key": "zone_membership", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Additional Properties", + "key": "additional_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Confidence Classification", + "key": "confidence_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "AD_HOC", + "TRANSACTIONAL", + "AUTHORITATIVE", + "DERIVED", + "OBSOLETE", + "OTHER" + ] + }, + { + "name": "Confidentiality Classification", + "key": "confidentiality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "INTERNAL", + "CONFIDENTIAL", + "SENSITIVE", + "RESTRICTED", + "OTHER" + ] + }, + { + "name": "Criticality Classification", + "key": "criticality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "MARGINAL", + "IMPORTANT", + "CRITICAL", + "CATASTROPHIC", + "OTHER" + ] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Identifier", + "key": "identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Impact Classification", + "key": "impact_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "LOW", + "MEDIUM", + "HIGH", + "OTHER" + ] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Policy Management Point", + "key": "policy_management_point", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Retention Classification", + "key": "retention_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "TEMPORARY", + "PROJECT_LIFETIME", + "TEAM_LIFETIME", + "CONTRACT_LIFETIME", + "REGULATED_LIFETIME", + "TIMEBOXED_LIFETIME", + "OTHER" + ] + }, + { + "name": "Security Tags", + "key": "security_tags", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Ordinal", + "key": "ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "In Reference Data Set", + "key": "in_reference_data_set", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Default Member", + "key": "is_default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Member Ordinal", + "key": "member_ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Classifications", + "key": "classifications", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Anchor Scope Name", + "key": "anchor_scope_guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Supplementary Properties", + "key": "supplementary_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Status", + "key": "status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "User Defined Content Status", + "key": "user_defined_content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "User Defined Status", + "key": "user_defined_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + } + ] + }, + { + "types": [ + "ALL" + ], + "attributes": [ + { + "name": "Effective From", + "key": "effective_from", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective Time", + "key": "effective_time", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective To", + "key": "effective_to", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Glossary Term", + "key": "glossary_term", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Own Anchor", + "key": "is_own_anchor", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Status", + "key": "status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Zone Membership", + "key": "zone_membership", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Additional Properties", + "key": "additional_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Confidence Classification", + "key": "confidence_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "AD_HOC", + "TRANSACTIONAL", + "AUTHORITATIVE", + "DERIVED", + "OBSOLETE", + "OTHER" + ] + }, + { + "name": "Confidentiality Classification", + "key": "confidentiality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "INTERNAL", + "CONFIDENTIAL", + "SENSITIVE", + "RESTRICTED", + "OTHER" + ] + }, + { + "name": "Criticality Classification", + "key": "criticality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "MARGINAL", + "IMPORTANT", + "CRITICAL", + "CATASTROPHIC", + "OTHER" + ] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Identifier", + "key": "identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Impact Classification", + "key": "impact_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "LOW", + "MEDIUM", + "HIGH", + "OTHER" + ] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Policy Management Point", + "key": "policy_management_point", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Retention Classification", + "key": "retention_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "TEMPORARY", + "PROJECT_LIFETIME", + "TEAM_LIFETIME", + "CONTRACT_LIFETIME", + "REGULATED_LIFETIME", + "TIMEBOXED_LIFETIME", + "OTHER" + ] + }, + { + "name": "Security Tags", + "key": "security_tags", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "URL", + "key": "url", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "User Defined Content Status", + "key": "user_defined_content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Ordinal", + "key": "ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "In Reference Data Set", + "key": "in_reference_data_set", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Default Member", + "key": "is_default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Member Ordinal", + "key": "member_ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "User Defined Status", + "key": "user_defined_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Classifications", + "key": "classifications", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Anchor Scope Name", + "key": "anchor_scope_guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Supplementary Properties", + "key": "supplementary_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + } + ], + "columns": [ + { + "name": "Effective From", + "key": "effective_from", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective Time", + "key": "effective_time", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Effective To", + "key": "effective_to", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Glossary Term", + "key": "glossary_term", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Own Anchor", + "key": "is_own_anchor", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Status", + "key": "status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Zone Membership", + "key": "zone_membership", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Additional Properties", + "key": "additional_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Category", + "key": "category", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Confidence Classification", + "key": "confidence_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "AD_HOC", + "TRANSACTIONAL", + "AUTHORITATIVE", + "DERIVED", + "OBSOLETE", + "OTHER" + ] + }, + { + "name": "Confidentiality Classification", + "key": "confidentiality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "INTERNAL", + "CONFIDENTIAL", + "SENSITIVE", + "RESTRICTED", + "OTHER" + ] + }, + { + "name": "Criticality Classification", + "key": "criticality_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "MARGINAL", + "IMPORTANT", + "CRITICAL", + "CATASTROPHIC", + "OTHER" + ] + }, + { + "name": "Description", + "key": "description", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Display Name", + "key": "display_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "GUID", + "key": "guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Identifier", + "key": "identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Impact Classification", + "key": "impact_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "LOW", + "MEDIUM", + "HIGH", + "OTHER" + ] + }, + { + "name": "Legal", + "key": "legal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Policy Management Point", + "key": "policy_management_point", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Qualified Name", + "key": "qualified_name", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Retention Classification", + "key": "retention_classification", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "UNCLASSIFIED", + "TEMPORARY", + "PROJECT_LIFETIME", + "TEAM_LIFETIME", + "CONTRACT_LIFETIME", + "REGULATED_LIFETIME", + "TIMEBOXED_LIFETIME", + "OTHER" + ] + }, + { + "name": "Security Tags", + "key": "security_tags", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "URL", + "key": "url", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Version Identifier", + "key": "version_identifier", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Authors", + "key": "authors", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Content Status", + "key": "content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "DRAFT", + "PREPARED", + "PROPOSED", + "APPROVED", + "REJECTED", + "ACTIVE", + "DEPRECATED", + "OTHER" + ] + }, + { + "name": "User Defined Content Status", + "key": "user_defined_content_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Preferred Value", + "key": "preferred_value", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Data Type", + "key": "data_type", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [ + "string", + "int", + "long", + "date", + "boolean", + "char", + "byte", + "float", + "double", + "biginteger", + "bigdecimal", + "array", + "array", + "map", + "map", + "map", + "map", + "map", + "map", + "map", + "short", + "map>", + "other" + ] + }, + { + "name": "Usage", + "key": "usage", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Scope", + "key": "scope", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Namespace Path", + "key": "namespace_path", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Case Sensitive", + "key": "is_case_sensitive", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Ordinal", + "key": "ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "In Reference Data Set", + "key": "in_reference_data_set", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Is Default Member", + "key": "is_default_member", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "Member Ordinal", + "key": "member_ordinal", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": [] + }, + { + "name": "User Defined Status", + "key": "user_defined_status", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Classifications", + "key": "classifications", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Anchor Scope Name", + "key": "anchor_scope_guid", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + }, + { + "name": "Supplementary Properties", + "key": "supplementary_properties", + "value": null, + "format": false, + "detail_spec": null, + "valid_values": null + } + ] + } + ], + "action": { + "function": "ReferenceDataManager.find_valid_value_definitions", + "required_params": [ + "search_string" + ], + "optional_params": [ + "sequencing_order", + "sequencing_property", + "page_size", + "start_from", + "starts_with", + "ends_with", + "ignore_case", + "classification_names", + "metadata_element_subtypes", + "metadata_element_type" + ], + "spec_params": { + "metadata_element_type": "ReferenceDataValue" + }, + "analytic_function": null, + "analytic_spec_params": {} + }, + "get_additional_props": null, + "question_spec": null + }, "Report-DrE-Basic": { "target_type": "Report", "heading": "Report-DrE-Basic Attributes", diff --git a/md_processing/dr_egeria.py b/md_processing/dr_egeria.py index d869ec82..f63cf9df 100644 --- a/md_processing/dr_egeria.py +++ b/md_processing/dr_egeria.py @@ -45,7 +45,7 @@ AddTextOnDashboardSheetProcessor, ReportProcessor, SavedQueryProcessor, SmartQueryLinkProcessor, CurationClassifyProcessor, CurationLinkProcessor, CLASSIFICATION_METHODS, - ReferenceDataLinkProcessor, ValidMetadataValueProcessor, + ReferenceDataLinkProcessor, ValidMetadataValueProcessor, ReferenceDataElementProcessor, ValidValueLinkProcessor, EmbeddedProcessProcessor, InitiateEngineActionProcessor, CancelEngineActionProcessor, LineageLinkProcessor, UpdateLineageRelationshipProcessor, AssetMakerProcessor, @@ -536,6 +536,18 @@ def reg(base, cls): reg("Link Specification Property Assignment", ReferenceDataLinkProcessor) reg("Detach Specification Property Assignment", ReferenceDataLinkProcessor) + # Reference Data authoring: sets and values, and the relationships between + # valid values (member, consistent, associated, mapped, implementation). + reg("Create Reference Data Set", ReferenceDataElementProcessor) + reg("Update Reference Data Set", ReferenceDataElementProcessor) + reg("Create Reference Data Value", ReferenceDataElementProcessor) + reg("Update Reference Data Value", ReferenceDataElementProcessor) + for noun in ("Valid Value Member", "Consistent Valid Values", "Associated Valid Values", + "Mapped Valid Values", "Valid Value Implementation"): + reg(f"Link {noun}", ValidValueLinkProcessor) + reg(f"Detach {noun}", ValidValueLinkProcessor) + + # Valid Metadata family (the allowed values of Egeria's own properties). reg("Setup Valid Metadata Value", ValidMetadataValueProcessor) reg("Clear Valid Metadata Value", ValidMetadataValueProcessor) reg("Setup Valid Metadata Map Name", ValidMetadataValueProcessor) diff --git a/md_processing/v2/__init__.py b/md_processing/v2/__init__.py index 516d97ab..82a39bb0 100644 --- a/md_processing/v2/__init__.py +++ b/md_processing/v2/__init__.py @@ -38,7 +38,8 @@ from .report import ReportProcessor from .saved_query import SavedQueryProcessor, SmartQueryLinkProcessor from .curation import CurationClassifyProcessor, CurationLinkProcessor, CLASSIFICATION_METHODS -from .reference_data import ReferenceDataLinkProcessor, ValidMetadataValueProcessor +from .reference_data import (ReferenceDataLinkProcessor, ValidMetadataValueProcessor, ReferenceDataElementProcessor, + ValidValueLinkProcessor) from .embedded_process import EmbeddedProcessProcessor from .engine_action import InitiateEngineActionProcessor, CancelEngineActionProcessor from .lineage_linker import LineageLinkProcessor, UpdateLineageRelationshipProcessor diff --git a/md_processing/v2/parsing.py b/md_processing/v2/parsing.py index 9dabadfa..e1e0ab3f 100644 --- a/md_processing/v2/parsing.py +++ b/md_processing/v2/parsing.py @@ -13,7 +13,7 @@ import md_processing.md_processing_utils.md_processing_constants as md_constants from md_processing.md_processing_utils.common_md_utils import normalize_value from .extraction import DrECommand -from .utils import parse_key_value +from .utils import parse_key_value, parse_line_list, parse_table class AttributeFirstParser: """ @@ -256,6 +256,17 @@ async def _process_attribute_value(self, value: str, details: dict) -> Any: elif style == "Dictionary" or style == "KeyValue": return parse_key_value(value) + + elif style == "Table": + rows = parse_table(value) + if value and not rows: + msg = f"'{details.get('name', 'attribute')}' expects a markdown table with a header row; none found" + if msg not in self.warnings: + self.warnings.append(msg) + return rows + + elif style == "Line List": + return parse_line_list(value) elif style in {"Enum", "Enumeration"}: v = value diff --git a/md_processing/v2/processors.py b/md_processing/v2/processors.py index 4a760e0e..59f1e15b 100644 --- a/md_processing/v2/processors.py +++ b/md_processing/v2/processors.py @@ -847,7 +847,7 @@ async def _execute(self) -> Dict[str, Any]: # heuristic on "Name" wrongly flagged it as a reference # candidate, and every one of its plain string values then # failed resolution. - and spec_style not in ["Simple", "Simple List", "List", "NameList", "Enum", "Valid Value", "ValidValue", "Dictionary", "KeyValue", "Enumeration", "Integer", "Boolean", "Simple Int", "Simple Float", "Bool"] + and spec_style not in ["Simple", "Simple List", "List", "NameList", "Enum", "Valid Value", "ValidValue", "Dictionary", "KeyValue", "Enumeration", "Integer", "Boolean", "Simple Int", "Simple Float", "Bool", "Table", "Line List"] ) # More precise check: if it's already got a GUID or guid_list, don't re-resolve. diff --git a/md_processing/v2/reference_data.py b/md_processing/v2/reference_data.py index 40580456..99d4b8ba 100644 --- a/md_processing/v2/reference_data.py +++ b/md_processing/v2/reference_data.py @@ -13,7 +13,17 @@ from loguru import logger from pyegeria import PyegeriaException +from pyegeria.core.utils import body_slimmer from md_processing.v2.processors import AsyncBaseCommandProcessor +from md_processing.md_processing_utils.common_md_utils import ( + async_add_note_in_dr_e, + set_create_body, + set_delete_rel_request_body, + set_element_prop_body, + set_rel_request_body, + set_update_body, + update_element_dictionary, +) def _v(attributes: dict, name: str, default=None): @@ -24,6 +34,23 @@ def _guid(attributes: dict, name: str): return attributes.get(name, {}).get("guid") +def _bool(value, default: Optional[bool] = None) -> Optional[bool]: + if value is None or value == "": + return default + if isinstance(value, bool): + return value + return str(value).strip().lower() in {"true", "yes", "1", "on", "y"} + + +def _int(value, default: Optional[int] = None) -> Optional[int]: + if value is None or value == "": + return default + try: + return int(str(value).strip()) + except ValueError: + return default + + def _audit_fields(attributes: dict) -> dict: return { "externalSourceGUID": attributes.get("External Source GUID", {}).get("guid"), @@ -80,8 +107,9 @@ async def apply_changes(self) -> str: raise PyegeriaException(f"{verb} {object_type}: 'Valid Value Set' is required") if is_link: props = {"class": "ValidValuesAssignmentProperties", - "strictRequirement": _v(attributes, "Strict Requirement")} - body = {"class": "NewRelationshipRequestBody", "properties": props, **_audit_fields(attributes)} + "strictRequirement": _bool(_v(attributes, "Strict Requirement"), default=True)} + body = body_slimmer({"class": "NewRelationshipRequestBody", "properties": props, + **_audit_fields(attributes)}) await client._async_link_valid_values_assignment(subject_guid, vv_guid, body) else: body = {"class": "DeleteRelationshipRequestBody", **_audit_fields(attributes)} @@ -92,8 +120,15 @@ async def apply_changes(self) -> str: if not vv_guid: raise PyegeriaException(f"{verb} {object_type}: 'Reference Value' is required") if is_link: - props = {"class": "ReferenceValueAssignmentProperties"} - body = {"class": "NewRelationshipRequestBody", "properties": props, **_audit_fields(attributes)} + props = {"class": "ReferenceValueAssignmentProperties", + "attributeName": _v(attributes, "Attribute Name"), + "confidence": _int(_v(attributes, "Confidence")), + "steward": _v(attributes, "Steward"), + "stewardTypeName": _v(attributes, "Steward Type Name"), + "stewardPropertyName": _v(attributes, "Steward Property Name"), + "notes": _v(attributes, "Notes")} + body = body_slimmer({"class": "NewRelationshipRequestBody", "properties": props, + **_audit_fields(attributes)}) await client._async_link_reference_value_assignment(subject_guid, vv_guid, body) else: body = {"class": "DeleteRelationshipRequestBody", **_audit_fields(attributes)} @@ -179,7 +214,24 @@ async def apply_changes(self) -> str: property_name = _v(attributes, "Metadata Property Name") type_name = _v(attributes, "Type Name") preferred_value = _v(attributes, "Preferred Value") - if verb == "Setup": + rows = _v(attributes, "Metadata Value Table") or [] + if verb == "Setup" and rows: + done = [] + for row in rows: + cols = {str(k).strip().lower(): v for k, v in row.items()} + value = cols.get("preferred value") or cols.get("value") + if not value: + self._add_warning(f"Metadata Value Table row skipped -- no Preferred Value: {row}") + continue + body = {"displayName": cols.get("display name") or value, + "description": cols.get("description"), + "preferredValue": value} + await client._async_setup_valid_metadata_value(property_name, type_name, body) + done.append(value) + self.add_related_result("Valid Metadata Values", message=f"Set up {len(done)}: {', '.join(done)}") + elif verb == "Setup": + if not preferred_value: + raise PyegeriaException(f"{verb} {object_type}: give a Preferred Value or a Metadata Value Table") body = { "displayName": _v(attributes, "Metadata Display Name"), "description": _v(attributes, "Metadata Description"), @@ -191,3 +243,300 @@ async def apply_changes(self) -> str: logger.success(f"{verb} {object_type}") return f"\n\n## {verb} {object_type}\n\nOperation completed.\n\n" + + +# ── Reference data authoring ───────────────────────────────────────────────── +# Sets and values are ReferenceDataSet / ReferenceDataValue elements, matching +# Egeria's own content (e.g. ReferenceDataSet::ContactType). The Reference Data +# view's finds default to ReferenceDataValue, so a plain ValidValueDefinition +# would be invisible to them -- these commands never create one. + +_LINK_VERBS = ("Link", "Attach", "Add") +_DETACH_VERBS = ("Detach", "Unlink", "Remove") + +# Value Table columns understood, lower-cased. +_VALUE_TABLE_COLUMNS = {"value", "preferred value", "display name", "description", "usage", "data type", + "is case sensitive", "default", "ordinal"} + + +def _valid_value_props(attributes: dict) -> dict: + return { + "preferredValue": _v(attributes, "Preferred Value"), + "dataType": _v(attributes, "Data Type"), + "usage": _v(attributes, "Usage"), + "scope": _v(attributes, "Scope"), + "namespacePath": _v(attributes, "Namespace Path"), + "isCaseSensitive": _bool(_v(attributes, "Is Case Sensitive")), + "ordinal": _int(_v(attributes, "Ordinal")), + } + + +def _member_body(attributes: dict, is_default: Optional[bool], ordinal: Optional[int]) -> dict: + return body_slimmer({ + **set_rel_request_body("ValidValueMember", attributes), + "properties": {"class": "ValidValueMemberProperties", + "isDefaultValue": bool(is_default), "ordinal": ordinal or 0}, + }) + + +class ReferenceDataElementProcessor(AsyncBaseCommandProcessor): + """Create/Update Reference Data Set and Reference Data Value. + + A set's members come from three attributes, combined in this order: + Members (existing values), Values (one per line, created inline) and + Value Table (created or updated inline with their own properties). When + any of them is given, the set's membership is made to match: listed values + are linked (re-linking updates isDefaultValue/ordinal in place) and members + no longer listed are unlinked -- never deleted, since other sets or fields + may use them. Inline values are named ::, so a + re-run finds and updates them instead of creating duplicates. + """ + + async def apply_changes(self) -> str: + verb = self.command.verb + object_type = getattr(self, "canonical_object_type", None) or self.command.object_type + attributes = self.parsed_output["attributes"] + qualified_name = self.parsed_output["qualified_name"] + display_name = _v(attributes, "Display Name", qualified_name) + merge_update = _v(attributes, "Merge Update", True) + journal_entry = _v(attributes, "Journal Entry") + client = self.client.reference_data + + props = set_element_prop_body(object_type, qualified_name, attributes) + props.update(_valid_value_props(attributes)) + + if verb == "Update": + guid = self.parsed_output.get("guid") or ( + self.as_is_element["elementHeader"]["guid"] if self.as_is_element else None) + if not guid: + return self.command.raw_block + body = set_update_body(object_type, attributes) + body["mergeUpdate"] = merge_update + body["properties"] = self.filter_update_properties(props, merge_update) + self.last_body = body = body_slimmer(body) + await client._async_update_valid_value_definition(guid, body) + known_new = False + elif verb == "Create": + body = set_create_body(object_type, attributes) + body["properties"] = props + self.last_body = body = body_slimmer(body) + guid = self.extract_guid_or_raise(await client._async_create_valid_value_definition(body), + f"Create {object_type}") + known_new = True + else: + return self.command.raw_block + + self.parsed_output["guid"] = guid + update_element_dictionary(qualified_name, {"guid": guid, "display_name": display_name}) + + if props["class"] == "ReferenceDataSetProperties": + await self._sync_set_members(guid, qualified_name, attributes, known_new) + else: + set_guid = _guid(attributes, "In Reference Data Set") + if set_guid: + await client._async_link_valid_value_member( + set_guid, guid, _member_body(attributes, _bool(_v(attributes, "Is Default Member")), + _int(_v(attributes, "Member Ordinal")))) + self.add_related_result("Reference Data Set Membership", set_guid) + + if journal_entry: + try: + j_guid = await async_add_note_in_dr_e(self.client, qualified_name, display_name, journal_entry) + if j_guid: + self.add_related_result("Journal Entry", j_guid) + except Exception as e: # noqa: BLE001 + self.add_related_result("Journal Entry", status="failure", message=str(e)) + + logger.success(f"{verb}d {object_type} '{display_name}' with GUID {guid}") + return await self.render_result_markdown(guid) + + async def _sync_set_members(self, set_guid: str, set_qn: str, attributes: dict, known_new: bool) -> None: + member_attrs = ("Members", "Values", "Value Table") + if not any(attributes.get(a, {}).get("value") for a in member_attrs): + return + default_member = _v(attributes, "Default Member") + planned: Dict[str, tuple] = {} # member guid -> (isDefaultValue, ordinal) + position = 0 + + members = attributes.get("Members", {}) + names = members.get("value") or [] + guids = members.get("guid_list") or ([members["guid"]] if members.get("guid") else []) + if isinstance(names, str): + names = [names] + aligned = len(names) == len(guids) + for i, g in enumerate(guids): + position += 1 + planned[g] = (bool(default_member) and aligned and names[i] == default_member, position) + + for value in _v(attributes, "Values") or []: + position += 1 + g = await self._upsert_value(set_qn, {"value": value}, attributes) + planned[g] = (value == default_member, position) + + for row in _v(attributes, "Value Table") or []: + cols = {str(k).strip().lower(): v for k, v in row.items()} + unknown = set(cols) - _VALUE_TABLE_COLUMNS + if unknown: + self._add_warning(f"Value Table: unknown column(s) ignored: {', '.join(sorted(unknown))}") + value = cols.get("value") or cols.get("preferred value") + if not value: + self._add_warning(f"Value Table row skipped -- no Value: {row}") + continue + position += 1 + g = await self._upsert_value(set_qn, cols | {"value": value}, attributes) + planned[g] = (_bool(cols.get("default"), default=False) or value == default_member, + _int(cols.get("ordinal"), default=position)) + + current = {} if known_new else await self._current_members(set_guid) + client = self.client.reference_data + linked, unlinked = [], [] + for g, (is_default, ordinal) in planned.items(): + if current.get(g) != (bool(is_default), ordinal or 0): + await client._async_link_valid_value_member(set_guid, g, _member_body(attributes, is_default, ordinal)) + linked.append(g) + for g in set(current) - set(planned): + await client._async_detach_valid_value_member( + set_guid, g, body_slimmer(set_delete_rel_request_body("ValidValueMember", attributes))) + unlinked.append(g) + self.add_related_result("Reference Data Set Members", + message=f"{len(planned)} listed; linked or updated {len(linked)}, " + f"unlinked {len(unlinked)}") + + async def _upsert_value(self, set_qn: str, cols: dict, attributes: dict) -> str: + value = str(cols["value"]).strip() + qn = f"{set_qn}::{value}" + props = body_slimmer({ + "class": "ReferenceDataValueProperties", + "typeName": "ReferenceDataValue", + "qualifiedName": qn, + "displayName": cols.get("display name") or value, + "preferredValue": value, + "description": cols.get("description"), + "usage": cols.get("usage"), + "dataType": cols.get("data type"), + "isCaseSensitive": _bool(cols.get("is case sensitive")), + }) + client = self.client.reference_data + existing = await self.resolve_element_guid(qn, tech_type="ReferenceDataValue") + if existing and not str(existing).startswith("(Planned"): + await client._async_update_valid_value_definition(existing, body_slimmer({ + **set_update_body("Reference Data Value", attributes), "mergeUpdate": True, "properties": props})) + guid = existing + else: + body = set_create_body("Reference Data Value", attributes) + body["properties"] = props + guid = self.extract_guid_or_raise(await client._async_create_valid_value_definition(body_slimmer(body)), + f"Create Reference Data Value {value}") + update_element_dictionary(qn, {"guid": guid, "display_name": props["displayName"]}) + return guid + + async def _current_members(self, set_guid: str) -> Dict[str, tuple]: + result = await self.client._async_get_related_metadata_elements( + set_guid, "ValidValueMember", {"class": "ResultsRequestBody"}, starting_at_end=1, page_size=1000) + items = result.get("elementList", []) if isinstance(result, dict) else ( + result if isinstance(result, list) else []) + current = {} + for item in items: + guid = (item.get("element") or {}).get("elementGUID") + if not guid: + continue + p = (item.get("relationshipProperties") or {}).get("propertiesAsStrings") or {} + current[guid] = (_bool(p.get("isDefaultValue"), default=False), _int(p.get("ordinal"), default=0)) + return current + + +def _member_link_props(attributes: dict) -> dict: + return {"isDefaultValue": bool(_bool(_v(attributes, "Is Default Member"), default=False)), + "ordinal": _int(_v(attributes, "Member Ordinal"), default=0)} + + +def _no_props(attributes: dict) -> dict: + return {} + + +def _association_props(attributes: dict) -> dict: + return {"associationName": _v(attributes, "Association Name"), + "associationType": _v(attributes, "Association Type"), + "additionalProperties": _v(attributes, "Additional Properties")} + + +def _mapping_props(attributes: dict) -> dict: + return {"associationDescription": _v(attributes, "Association Description"), + "confidence": _int(_v(attributes, "Confidence")), + "steward": _v(attributes, "Steward"), + "stewardTypeName": _v(attributes, "Steward Type Name"), + "stewardPropertyName": _v(attributes, "Steward Property Name"), + "notes": _v(attributes, "Notes")} + + +def _implementation_props(attributes: dict) -> dict: + return {"symbolicName": _v(attributes, "Symbolic Name"), + "implementationValue": _v(attributes, "Implementation Value"), + "additionalValues": _v(attributes, "Additional Values")} + + +# OM_TYPE -> (end1 attribute, end2 attribute, link method, detach method, relationship properties builder). +# Each ReferenceDataManager method takes (end1_guid, end2_guid, body). +VALID_VALUE_LINKS: Dict[str, tuple] = { + "ValidValueMember": ("Valid Value Set", "Member Value", + "_async_link_valid_value_member", "_async_detach_valid_value_member", _member_link_props), + "ConsistentValidValues": ("Valid Value 1", "Valid Value 2", + "_async_link_consistent_valid_values", "_async_detach_consistent_valid_values", + _no_props), + "ValidValueAssociation": ("Valid Value 1", "Valid Value 2", + "_async_link_associated_valid_values", "_async_detach_associated_valid_values", + _association_props), + "ValidValuesMapping": ("Valid Value 1", "Valid Value 2", + "_async_link_mapped_valid_values", "_async_detach_mapped_valid_values", _mapping_props), + "ValidValuesImplementation": ("Valid Value", "Implementation Element", + "_async_link_valid_value_implementation", + "_async_detach_valid_value_implementation", _implementation_props), +} + + +class ValidValueLinkProcessor(AsyncBaseCommandProcessor): + """Link/Detach for the relationships between valid values (member, consistent, + associated, mapped) and from a valid value to its implementation, driven by + the command's OM_TYPE through VALID_VALUE_LINKS. Branches on the verb, since + registering "Link X" also routes "Detach X" here.""" + + def supports_target_element_lookup(self) -> bool: + return False + + async def fetch_as_is(self) -> Optional[Dict[str, Any]]: + return None + + async def apply_changes(self) -> str: + verb = self.command.verb + object_type = getattr(self, "canonical_object_type", None) or self.command.object_type + attributes = self.parsed_output["attributes"] + om_type = (self.get_command_spec() or {}).get("OM_TYPE") + link_spec = VALID_VALUE_LINKS.get(om_type) + if not link_spec: + raise PyegeriaException(f"No valid value relationship mapping for OM_TYPE '{om_type}' ({object_type})") + end1_attr, end2_attr, link_method, detach_method, props_fn = link_spec + + end1_guid, end2_guid = _guid(attributes, end1_attr), _guid(attributes, end2_attr) + if not (end1_guid and end2_guid): + missing = [f"'{a}'" for a, g in ((end1_attr, end1_guid), (end2_attr, end2_guid)) if not g] + raise ValueError(f"Cannot {verb.lower()} {object_type}: resolution failed for {', '.join(missing)}") + + client = self.client.reference_data + if verb in _DETACH_VERBS: + self.last_body = body = body_slimmer(set_delete_rel_request_body(om_type, attributes)) + await getattr(client, detach_method)(end1_guid, end2_guid, body) + logger.success(f"Detached {om_type} between {end1_guid} and {end2_guid}") + return (f"\n\n## {verb} {object_type}\n\n" + f"Detached the {om_type} relationship between {end1_guid} and {end2_guid}") + if verb not in _LINK_VERBS: + return self.command.raw_block + + body = set_rel_request_body(om_type, attributes) + body["properties"] = {"class": f"{om_type}Properties", **props_fn(attributes)} + self.last_body = body = body_slimmer(body) + await getattr(client, link_method)(end1_guid, end2_guid, body) + logger.success(f"Linked {end1_guid} to {end2_guid} with {om_type}") + return f"\n\n## {verb} {object_type}\n\nLinked {end1_guid} to {end2_guid} ({om_type})" + + async def fetch_element(self, guid: str) -> Optional[Dict[str, Any]]: + return None diff --git a/md_processing/v2/utils.py b/md_processing/v2/utils.py index a100379d..eac28dcb 100644 --- a/md_processing/v2/utils.py +++ b/md_processing/v2/utils.py @@ -6,6 +6,68 @@ from typing import Any, Optional, Type from enum import Enum +_TABLE_SEPARATOR = re.compile(r'^:?-{3,}:?$') + + +def parse_table(text: str) -> list[dict[str, Optional[str]]]: + """ + Parse a markdown table into one dict per row, keyed by the header row's + column names (the "Table" attribute style). + + | Value | Display Name | Default | + |---------|--------------|---------| + | PENDING | Pending | true | + + gives [{"Value": "PENDING", "Display Name": "Pending", "Default": "true"}]. + Empty cells are None. A literal pipe inside a cell is written as \\|. + Commas are ordinary text. Rows with no non-empty cell are skipped; a row + with more cells than the header keeps only the first len(header) cells. + Text that is not a table gives []. + """ + if not text: + return [] + + def cells(line: str) -> list[str]: + line = line.strip() + if line.startswith('|'): + line = line[1:] + if line.endswith('|') and not line.endswith('\\|'): + line = line[:-1] + parts = re.split(r'(? list[str]: + """ + Split on new lines only (the "Line List" attribute style), stripping a + leading markdown bullet. Unlike "Simple List", commas and semicolons are + part of the value, so "Washington, D.C." stays one item. + """ + if not text: + return [] + items = [] + for line in text.splitlines(): + item = re.sub(r'^\s*[\-\*\+]\s+', '', line).strip() + if item: + items.append(item) + return items + + def parse_key_value(text: str) -> dict[str, Any]: """ Parses key-value pairs from various markdown formats: diff --git a/pyegeria/core/_base_server_client.py b/pyegeria/core/_base_server_client.py index 8deea72d..c0cb5395 100644 --- a/pyegeria/core/_base_server_client.py +++ b/pyegeria/core/_base_server_client.py @@ -37,6 +37,22 @@ ... + +def _is_authorization_failure(json_response: dict) -> bool: + """Whether an Egeria-wrapped error is really an authorization failure. + + Egeria also uses relatedHTTPCode 403 for errors that have nothing to do + with authorization -- e.g. OMAG-GENERIC-HANDLERS-403-005, an + InvalidParameterException for deleting an element that still has + dependents (ISSUE-142). Only a UserNotAuthorizedException, or a 401 with + no exception class, is treated as one. + """ + exception_class = str(json_response.get("exceptionClassName") or "") + if exception_class: + return exception_class.endswith("UserNotAuthorizedException") + return json_response.get("relatedHTTPCode") == 401 + + class BaseServerClient: """ An abstract class used to establish connectivity for an Egeria Client @@ -649,8 +665,9 @@ async def _async_make_request( return response elif related_http_code == 404: raise PyegeriaNotFoundException(response, context, additional_info=json_response) - elif related_http_code in (401, 403): - raise PyegeriaUnauthorizedException(response, context, additional_info=json_response) + elif related_http_code in (401, 403) and _is_authorization_failure(json_response): + raise PyegeriaUnauthorizedException( + response, context, additional_info={**json_response, "userid": self.user_id}) else: raise PyegeriaAPIException(response, context, additional_info=json_response) diff --git a/pyegeria/view/base_report_formats.py b/pyegeria/view/base_report_formats.py index 291f6847..907b97ff 100644 --- a/pyegeria/view/base_report_formats.py +++ b/pyegeria/view/base_report_formats.py @@ -287,6 +287,10 @@ 'Rating-DrE-Basic': FormatSet(target_type='Rating', heading='Rating-DrE-Basic Attributes', description='Auto-generated format for Rating (Create, Basic).', family='Feedback', formats=[Format(types=['LIST'], attributes=[Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Stars', key='stars', valid_values=['NO_RECOMMENDATION', 'ONE_STAR', 'TWO_STARS', 'THREE_STARS', 'FOUR_STARS', 'FIVE_STARS']), Column(name='Review', key='review'), Column(name='Version Identifier', key='current_version'), Column(name='Identifier', key='identifier'), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Stars', key='stars', valid_values=['NO_RECOMMENDATION', 'ONE_STAR', 'TWO_STARS', 'THREE_STARS', 'FOUR_STARS', 'FIVE_STARS']), Column(name='Review', key='review'), Column(name='Category', key='category'), Column(name='Version Identifier', key='current_version'), Column(name='Identifier', key='identifier'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='URL', key='url')])]), 'Recent-Access-DrE-Advanced': FormatSet(target_type='Recent Access', heading='Recent-Access-DrE-Advanced Attributes', description='Auto-generated format for Recent Access (Create, Advanced).', family='Collections', formats=[Format(types=['LIST'], attributes=[Column(name='Display Name', key='display_name'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='Authors', key='authors'), Column(name='Purpose', key='purpose'), Column(name='Classifications', key='classifications'), Column(name='Anchor Scope Name', key='anchor_scope_guid'), Column(name='Supplementary Properties', key='supplementary_properties'), Column(name='Version Identifier', key='version_identifier'), Column(name='Status', key='status'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='User Defined Status', key='user_defined_status'), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Status', key='status'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Category', key='category'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Display Name', key='display_name'), Column(name='GUID', key='guid'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Qualified Name', key='qualified_name'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='URL', key='url'), Column(name='Version Identifier', key='version_identifier'), Column(name='Authors', key='authors'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='Purpose', key='purpose'), Column(name='User Defined Status', key='user_defined_status'), Column(name='Classifications', key='classifications'), Column(name='Anchor Scope Name', key='anchor_scope_guid'), Column(name='Supplementary Properties', key='supplementary_properties')])], action=ActionParameter(function='CollectionManager.find_collections', required_params=['search_string'], optional_params=['sequencing_order', 'sequencing_property', 'page_size', 'start_from', 'starts_with', 'ends_with', 'ignore_case', 'classification_names', 'metadata_element_subtypes', 'metadata_element_type'], spec_params={'metadata_element_type': 'RecentAccess'})), 'Recent-Access-DrE-Basic': FormatSet(target_type='Recent Access', heading='Recent-Access-DrE-Basic Attributes', description='Auto-generated format for Recent Access (Create, Basic).', family='Collections', formats=[Format(types=['LIST'], attributes=[Column(name='Display Name', key='display_name'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Description', key='description'), Column(name='Legal', key='legal'), Column(name='Authors', key='authors'), Column(name='Purpose', key='purpose'), Column(name='Version Identifier', key='version_identifier'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Category', key='category'), Column(name='Description', key='description'), Column(name='Display Name', key='display_name'), Column(name='GUID', key='guid'), Column(name='Legal', key='legal'), Column(name='Qualified Name', key='qualified_name'), Column(name='URL', key='url'), Column(name='Version Identifier', key='version_identifier'), Column(name='Authors', key='authors'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='Purpose', key='purpose')])], action=ActionParameter(function='CollectionManager.find_collections', required_params=['search_string'], optional_params=['sequencing_order', 'sequencing_property', 'page_size', 'start_from', 'starts_with', 'ends_with', 'ignore_case', 'classification_names', 'metadata_element_subtypes', 'metadata_element_type'], spec_params={'metadata_element_type': 'RecentAccess'})), + 'Reference-Data-Set-DrE-Advanced': FormatSet(target_type='Reference Data Set', heading='Reference-Data-Set-DrE-Advanced Attributes', description='Auto-generated format for Reference Data Set (Create, Advanced).', family='Reference Data', formats=[Format(types=['LIST'], attributes=[Column(name='Display Name', key='display_name'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='Authors', key='authors'), Column(name='Preferred Value', key='preferred_value'), Column(name='Data Type', key='data_type', valid_values=['string', 'int', 'long', 'date', 'boolean', 'char', 'byte', 'float', 'double', 'biginteger', 'bigdecimal', 'array', 'array', 'map', 'map', 'map', 'map', 'map', 'map', 'map', 'short', 'map>', 'other']), Column(name='Usage', key='usage'), Column(name='Scope', key='scope'), Column(name='Namespace Path', key='namespace_path'), Column(name='Is Case Sensitive', key='is_case_sensitive'), Column(name='Ordinal', key='ordinal'), Column(name='Members', key='members'), Column(name='Values', key='values'), Column(name='Value Table', key='value_table'), Column(name='Default Member', key='default_member'), Column(name='Classifications', key='classifications'), Column(name='Anchor Scope Name', key='anchor_scope_guid'), Column(name='Supplementary Properties', key='supplementary_properties'), Column(name='Version Identifier', key='version_identifier'), Column(name='Status', key='status'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='User Defined Status', key='user_defined_status'), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Status', key='status'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Category', key='category'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Display Name', key='display_name'), Column(name='GUID', key='guid'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Qualified Name', key='qualified_name'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='URL', key='url'), Column(name='Version Identifier', key='version_identifier'), Column(name='Authors', key='authors'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='Preferred Value', key='preferred_value'), Column(name='Data Type', key='data_type', valid_values=['string', 'int', 'long', 'date', 'boolean', 'char', 'byte', 'float', 'double', 'biginteger', 'bigdecimal', 'array', 'array', 'map', 'map', 'map', 'map', 'map', 'map', 'map', 'short', 'map>', 'other']), Column(name='Usage', key='usage'), Column(name='Scope', key='scope'), Column(name='Namespace Path', key='namespace_path'), Column(name='Is Case Sensitive', key='is_case_sensitive'), Column(name='Ordinal', key='ordinal'), Column(name='Members', key='members'), Column(name='Values', key='values'), Column(name='Value Table', key='value_table'), Column(name='Default Member', key='default_member'), Column(name='User Defined Status', key='user_defined_status'), Column(name='Classifications', key='classifications'), Column(name='Anchor Scope Name', key='anchor_scope_guid'), Column(name='Supplementary Properties', key='supplementary_properties')])], action=ActionParameter(function='ReferenceDataManager.find_valid_value_definitions', required_params=['search_string'], optional_params=['sequencing_order', 'sequencing_property', 'page_size', 'start_from', 'starts_with', 'ends_with', 'ignore_case', 'classification_names', 'metadata_element_subtypes', 'metadata_element_type'], spec_params={'metadata_element_type': 'ReferenceDataSet'})), + 'Reference-Data-Set-DrE-Basic': FormatSet(target_type='Reference Data Set', heading='Reference-Data-Set-DrE-Basic Attributes', description='Auto-generated format for Reference Data Set (Create, Basic).', family='Reference Data', formats=[Format(types=['LIST'], attributes=[Column(name='Display Name', key='display_name'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Description', key='description'), Column(name='Legal', key='legal'), Column(name='Authors', key='authors'), Column(name='Preferred Value', key='preferred_value'), Column(name='Data Type', key='data_type', valid_values=['string', 'int', 'long', 'date', 'boolean', 'char', 'byte', 'float', 'double', 'biginteger', 'bigdecimal', 'array', 'array', 'map', 'map', 'map', 'map', 'map', 'map', 'map', 'short', 'map>', 'other']), Column(name='Usage', key='usage'), Column(name='Scope', key='scope'), Column(name='Namespace Path', key='namespace_path'), Column(name='Is Case Sensitive', key='is_case_sensitive'), Column(name='Members', key='members'), Column(name='Values', key='values'), Column(name='Value Table', key='value_table'), Column(name='Default Member', key='default_member'), Column(name='Version Identifier', key='version_identifier'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Category', key='category'), Column(name='Description', key='description'), Column(name='Display Name', key='display_name'), Column(name='GUID', key='guid'), Column(name='Legal', key='legal'), Column(name='Qualified Name', key='qualified_name'), Column(name='URL', key='url'), Column(name='Version Identifier', key='version_identifier'), Column(name='Authors', key='authors'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='Preferred Value', key='preferred_value'), Column(name='Data Type', key='data_type', valid_values=['string', 'int', 'long', 'date', 'boolean', 'char', 'byte', 'float', 'double', 'biginteger', 'bigdecimal', 'array', 'array', 'map', 'map', 'map', 'map', 'map', 'map', 'map', 'short', 'map>', 'other']), Column(name='Usage', key='usage'), Column(name='Scope', key='scope'), Column(name='Namespace Path', key='namespace_path'), Column(name='Is Case Sensitive', key='is_case_sensitive'), Column(name='Members', key='members'), Column(name='Values', key='values'), Column(name='Value Table', key='value_table'), Column(name='Default Member', key='default_member')])], action=ActionParameter(function='ReferenceDataManager.find_valid_value_definitions', required_params=['search_string'], optional_params=['sequencing_order', 'sequencing_property', 'page_size', 'start_from', 'starts_with', 'ends_with', 'ignore_case', 'classification_names', 'metadata_element_subtypes', 'metadata_element_type'], spec_params={'metadata_element_type': 'ReferenceDataSet'})), + 'Reference-Data-Value-DrE-Advanced': FormatSet(target_type='Reference Data Value', heading='Reference-Data-Value-DrE-Advanced Attributes', description='Auto-generated format for Reference Data Value (Create, Advanced).', family='Reference Data', formats=[Format(types=['LIST'], attributes=[Column(name='Display Name', key='display_name'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='Authors', key='authors'), Column(name='Preferred Value', key='preferred_value'), Column(name='Data Type', key='data_type', valid_values=['string', 'int', 'long', 'date', 'boolean', 'char', 'byte', 'float', 'double', 'biginteger', 'bigdecimal', 'array', 'array', 'map', 'map', 'map', 'map', 'map', 'map', 'map', 'short', 'map>', 'other']), Column(name='Usage', key='usage'), Column(name='Scope', key='scope'), Column(name='Namespace Path', key='namespace_path'), Column(name='Is Case Sensitive', key='is_case_sensitive'), Column(name='Ordinal', key='ordinal'), Column(name='In Reference Data Set', key='in_reference_data_set'), Column(name='Is Default Member', key='is_default_member'), Column(name='Member Ordinal', key='member_ordinal'), Column(name='Classifications', key='classifications'), Column(name='Anchor Scope Name', key='anchor_scope_guid'), Column(name='Supplementary Properties', key='supplementary_properties'), Column(name='Version Identifier', key='version_identifier'), Column(name='Status', key='status'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='User Defined Status', key='user_defined_status'), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Status', key='status'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Category', key='category'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Display Name', key='display_name'), Column(name='GUID', key='guid'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Qualified Name', key='qualified_name'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='URL', key='url'), Column(name='Version Identifier', key='version_identifier'), Column(name='Authors', key='authors'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='Preferred Value', key='preferred_value'), Column(name='Data Type', key='data_type', valid_values=['string', 'int', 'long', 'date', 'boolean', 'char', 'byte', 'float', 'double', 'biginteger', 'bigdecimal', 'array', 'array', 'map', 'map', 'map', 'map', 'map', 'map', 'map', 'short', 'map>', 'other']), Column(name='Usage', key='usage'), Column(name='Scope', key='scope'), Column(name='Namespace Path', key='namespace_path'), Column(name='Is Case Sensitive', key='is_case_sensitive'), Column(name='Ordinal', key='ordinal'), Column(name='In Reference Data Set', key='in_reference_data_set'), Column(name='Is Default Member', key='is_default_member'), Column(name='Member Ordinal', key='member_ordinal'), Column(name='User Defined Status', key='user_defined_status'), Column(name='Classifications', key='classifications'), Column(name='Anchor Scope Name', key='anchor_scope_guid'), Column(name='Supplementary Properties', key='supplementary_properties')])], action=ActionParameter(function='ReferenceDataManager.find_valid_value_definitions', required_params=['search_string'], optional_params=['sequencing_order', 'sequencing_property', 'page_size', 'start_from', 'starts_with', 'ends_with', 'ignore_case', 'classification_names', 'metadata_element_subtypes', 'metadata_element_type'], spec_params={'metadata_element_type': 'ReferenceDataValue'})), + 'Reference-Data-Value-DrE-Basic': FormatSet(target_type='Reference Data Value', heading='Reference-Data-Value-DrE-Basic Attributes', description='Auto-generated format for Reference Data Value (Create, Basic).', family='Reference Data', formats=[Format(types=['LIST'], attributes=[Column(name='Display Name', key='display_name'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Description', key='description'), Column(name='Legal', key='legal'), Column(name='Authors', key='authors'), Column(name='Preferred Value', key='preferred_value'), Column(name='Data Type', key='data_type', valid_values=['string', 'int', 'long', 'date', 'boolean', 'char', 'byte', 'float', 'double', 'biginteger', 'bigdecimal', 'array', 'array', 'map', 'map', 'map', 'map', 'map', 'map', 'map', 'short', 'map>', 'other']), Column(name='Usage', key='usage'), Column(name='Scope', key='scope'), Column(name='Namespace Path', key='namespace_path'), Column(name='Is Case Sensitive', key='is_case_sensitive'), Column(name='In Reference Data Set', key='in_reference_data_set'), Column(name='Is Default Member', key='is_default_member'), Column(name='Member Ordinal', key='member_ordinal'), Column(name='Version Identifier', key='version_identifier'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Category', key='category'), Column(name='Description', key='description'), Column(name='Display Name', key='display_name'), Column(name='GUID', key='guid'), Column(name='Legal', key='legal'), Column(name='Qualified Name', key='qualified_name'), Column(name='URL', key='url'), Column(name='Version Identifier', key='version_identifier'), Column(name='Authors', key='authors'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='Preferred Value', key='preferred_value'), Column(name='Data Type', key='data_type', valid_values=['string', 'int', 'long', 'date', 'boolean', 'char', 'byte', 'float', 'double', 'biginteger', 'bigdecimal', 'array', 'array', 'map', 'map', 'map', 'map', 'map', 'map', 'map', 'short', 'map>', 'other']), Column(name='Usage', key='usage'), Column(name='Scope', key='scope'), Column(name='Namespace Path', key='namespace_path'), Column(name='Is Case Sensitive', key='is_case_sensitive'), Column(name='In Reference Data Set', key='in_reference_data_set'), Column(name='Is Default Member', key='is_default_member'), Column(name='Member Ordinal', key='member_ordinal')])], action=ActionParameter(function='ReferenceDataManager.find_valid_value_definitions', required_params=['search_string'], optional_params=['sequencing_order', 'sequencing_property', 'page_size', 'start_from', 'starts_with', 'ends_with', 'ignore_case', 'classification_names', 'metadata_element_subtypes', 'metadata_element_type'], spec_params={'metadata_element_type': 'ReferenceDataValue'})), 'Reference-List-DrE-Advanced': FormatSet(target_type='Reference List', heading='Reference-List-DrE-Advanced Attributes', description='Auto-generated format for Reference List (Create, Advanced).', family='Collections', formats=[Format(types=['LIST'], attributes=[Column(name='Display Name', key='display_name'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='Authors', key='authors'), Column(name='Purpose', key='purpose'), Column(name='Classifications', key='classifications'), Column(name='Anchor Scope Name', key='anchor_scope_guid'), Column(name='Supplementary Properties', key='supplementary_properties'), Column(name='Version Identifier', key='version_identifier'), Column(name='Status', key='status'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='User Defined Status', key='user_defined_status'), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Status', key='status'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Category', key='category'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Display Name', key='display_name'), Column(name='GUID', key='guid'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Qualified Name', key='qualified_name'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='URL', key='url'), Column(name='Version Identifier', key='version_identifier'), Column(name='Authors', key='authors'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='Purpose', key='purpose'), Column(name='User Defined Status', key='user_defined_status'), Column(name='Classifications', key='classifications'), Column(name='Anchor Scope Name', key='anchor_scope_guid'), Column(name='Supplementary Properties', key='supplementary_properties')])], action=ActionParameter(function='CollectionManager.find_collections', required_params=['search_string'], optional_params=['sequencing_order', 'sequencing_property', 'page_size', 'start_from', 'starts_with', 'ends_with', 'ignore_case', 'classification_names', 'metadata_element_subtypes', 'metadata_element_type'], spec_params={'metadata_element_type': 'ReferenceList'})), 'Reference-List-DrE-Basic': FormatSet(target_type='Reference List', heading='Reference-List-DrE-Basic Attributes', description='Auto-generated format for Reference List (Create, Basic).', family='Collections', formats=[Format(types=['LIST'], attributes=[Column(name='Display Name', key='display_name'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Description', key='description'), Column(name='Legal', key='legal'), Column(name='Authors', key='authors'), Column(name='Purpose', key='purpose'), Column(name='Version Identifier', key='version_identifier'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Category', key='category'), Column(name='Description', key='description'), Column(name='Display Name', key='display_name'), Column(name='GUID', key='guid'), Column(name='Legal', key='legal'), Column(name='Qualified Name', key='qualified_name'), Column(name='URL', key='url'), Column(name='Version Identifier', key='version_identifier'), Column(name='Authors', key='authors'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='Purpose', key='purpose')])], action=ActionParameter(function='CollectionManager.find_collections', required_params=['search_string'], optional_params=['sequencing_order', 'sequencing_property', 'page_size', 'start_from', 'starts_with', 'ends_with', 'ignore_case', 'classification_names', 'metadata_element_subtypes', 'metadata_element_type'], spec_params={'metadata_element_type': 'ReferenceList'})), 'Regulation-Article-DrE-Advanced': FormatSet(target_type='Regulation Article', heading='Regulation-Article-DrE-Advanced Attributes', description='Auto-generated format for Regulation Article (Create, Advanced).', family='Governance Officer', formats=[Format(types=['LIST'], attributes=[Column(name='Display Name', key='display_name'), Column(name='Qualified Name', key='qualified_name'), Column(name='GUID', key='guid'), Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='Authors', key='authors'), Column(name='Domain Identifier', key='domain_identifier', valid_values=['All Domains', 'Data', 'Privacy', 'Security', 'IT Infrastructure', 'Software Development', 'Corporate', 'Asset Management', 'Other']), Column(name='Implications', key='implications'), Column(name='Importance', key='importance'), Column(name='Outcomes', key='outcomes'), Column(name='Results', key='results'), Column(name='Scope', key='scope'), Column(name='Summary', key='summary'), Column(name='Usage', key='usage'), Column(name='Version Identifier', key='version_identifier'), Column(name='Status', key='status'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='Category', key='category')]), Format(types=['ALL'], attributes=[Column(name='Effective From', key='effective_from'), Column(name='Effective Time', key='effective_time'), Column(name='Effective To', key='effective_to'), Column(name='Glossary Term', key='glossary_term'), Column(name='Is Own Anchor', key='is_own_anchor'), Column(name='Status', key='status'), Column(name='Zone Membership', key='zone_membership'), Column(name='Additional Properties', key='additional_properties'), Column(name='Category', key='category'), Column(name='Confidence Classification', key='confidence_classification', valid_values=['UNCLASSIFIED', 'AD_HOC', 'TRANSACTIONAL', 'AUTHORITATIVE', 'DERIVED', 'OBSOLETE', 'OTHER']), Column(name='Confidentiality Classification', key='confidentiality_classification', valid_values=['UNCLASSIFIED', 'INTERNAL', 'CONFIDENTIAL', 'SENSITIVE', 'RESTRICTED', 'OTHER']), Column(name='Criticality Classification', key='criticality_classification', valid_values=['UNCLASSIFIED', 'MARGINAL', 'IMPORTANT', 'CRITICAL', 'CATASTROPHIC', 'OTHER']), Column(name='Description', key='description'), Column(name='Display Name', key='display_name'), Column(name='GUID', key='guid'), Column(name='Identifier', key='identifier'), Column(name='Impact Classification', key='impact_classification', valid_values=['UNCLASSIFIED', 'LOW', 'MEDIUM', 'HIGH', 'OTHER']), Column(name='Legal', key='legal'), Column(name='Policy Management Point', key='policy_management_point'), Column(name='Qualified Name', key='qualified_name'), Column(name='Retention Classification', key='retention_classification', valid_values=['UNCLASSIFIED', 'TEMPORARY', 'PROJECT_LIFETIME', 'TEAM_LIFETIME', 'CONTRACT_LIFETIME', 'REGULATED_LIFETIME', 'TIMEBOXED_LIFETIME', 'OTHER']), Column(name='Security Tags', key='security_tags'), Column(name='URL', key='url'), Column(name='Version Identifier', key='version_identifier'), Column(name='Authors', key='authors'), Column(name='Content Status', key='content_status', valid_values=['DRAFT', 'PREPARED', 'PROPOSED', 'APPROVED', 'REJECTED', 'ACTIVE', 'DEPRECATED', 'OTHER']), Column(name='User Defined Content Status', key='user_defined_content_status'), Column(name='Domain Identifier', key='domain_identifier', valid_values=['All Domains', 'Data', 'Privacy', 'Security', 'IT Infrastructure', 'Software Development', 'Corporate', 'Asset Management', 'Other']), Column(name='Implications', key='implications'), Column(name='Importance', key='importance'), Column(name='Outcomes', key='outcomes'), Column(name='Results', key='results'), Column(name='Scope', key='scope'), Column(name='Summary', key='summary'), Column(name='Usage', key='usage')])], action=ActionParameter(function='GovernanceOfficer.find_governance_definitions', required_params=['search_string'], optional_params=['sequencing_order', 'sequencing_property', 'page_size', 'start_from', 'starts_with', 'ends_with', 'ignore_case', 'classification_names', 'metadata_element_subtypes', 'metadata_element_type'], spec_params={'metadata_element_type': 'RegulationArticle'})), diff --git a/sample-data/templates/advanced/Reference Data/Create_Reference_Data_Set.md b/sample-data/templates/advanced/Reference Data/Create_Reference_Data_Set.md new file mode 100644 index 00000000..c3335dd4 --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Create_Reference_Data_Set.md @@ -0,0 +1,528 @@ +___ + +## Create Reference Data Set +> Creates or updates a reference data set -- a named list of allowed values, such as order statuses or country codes. Members can be linked (Members), created inline one per line (Values), or created with their own properties from a table (Value Table). + +### Display Name +> **Input Required**: True + +> **Attribute Type**: Simple + +> **Description**: The common name of an element. + +> **Alternative Labels**: "Term Name" + + +### Preferred Value +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. + + +### Data Type +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The data type of the field or value specification (e.g. string, int, date, boolean). + +> **Valid Values**: string,int,long,date,boolean,char,byte,float,double,biginteger,bigdecimal,array,array,map,map,map,map,map,map,map,short,map>,other + +> **Default Value**: string + + +### Usage +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The usage guidance for this element — how it is intended to be used in context. + + +### Namespace Path +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The namespace path that qualifies the element's name within a larger naming hierarchy. + + +### Is Case Sensitive +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, values for this data class or field are case-sensitive. + +> **Default Value**: false + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Category +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user-defined category for the element, used to group related elements for display or search purposes. + +> **Alternative Labels**: Category Name + + +### Description +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A description. + + +### Legal +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Copyright and/or license information for the element or associated resource. + + +### Qualified Name +> **Input Required**: False + +> **Attribute Type**: QN + +> **Description**: The unique, text name of an element. + + +### Content Status +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: The lifecycle status of an element. + +> **Valid Values**: DRAFT,PREPARED,PROPOSED,APPROVED,REJECTED,ACTIVE,DEPRECATED,OTHER + +> **Default Value**: ACTIVE + + +### Scope +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Scope of the definition or element. + + +### Search Keywords +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: A list of search keywords. + + +### GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: A unique identifier - typically of an element in this context. + +> **Alternative Labels**: guid; Guid + + +### URL +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: URL for further information. + + +### Version Identifier +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The version of the element + +> **Alternative Labels**: Version + +> **Default Value**: 1.0 + + +### Authors +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: The authors. + + +### Members +> **Input Required**: False + +> **Attribute Type**: Reference Name List + +> **Description**: Existing values that belong to this set, one per line or comma-separated. Each is linked as a member (ValidValueMember). On a re-run, a value no longer listed is unlinked, not deleted. + + +### Values +> **Input Required**: False + +> **Attribute Type**: Line List + +> **Description**: Member values to create and link, one per line. Commas are part of the value. Each value's qualified name is the set's qualified name plus '::' and the value, so a re-run reuses it. Ordinal follows list position. + + +### Value Table +> **Input Required**: False + +> **Attribute Type**: Table + +> **Description**: Member values to create or update and link, as a markdown table with a header row. Columns: Value (required), Display Name, Description, Usage, Data Type, Is Case Sensitive, Default, Ordinal. Use \| for a literal pipe. + + +### Default Member +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Which entry in Values is the set's default (match on the value). + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +### Anchor ID +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Name of the anchoring element. + + +### Anchor Scope ID +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Anchor scope to restrict search. + +> **Alternative Labels**: Anchor Scope + + +### Glossary Term +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Term that provides meaning to this field. + +> **Alternative Labels**: Term + + +### Is Own Anchor +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: A flag indicating if the element is its own anchor or is anchored to a different element. + +> **Alternative Labels**: Own Anchor + +> **Default Value**: true + + +### Merge Update +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: A flag indicating if the update should be a merge or replace. + +> **Alternative Labels**: isMergeUpdate + +> **Default Value**: true + + +### Parent at End1 +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: A flag indicating if the parent is at end1 of the relationship + +> **Default Value**: true + + +### Parent ID +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Name of the parent + +> **Alternative Labels**: Parent; + + +### Parent Relationship Attributes +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: A dictionary of relationship attributes to establish the parent relationship. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +### Parent Relationship Type Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The type of parent relationship. + + +### Status +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Repository or element header status for an element. + +> **Default Value**: ACTIVE + + +### Zone Membership +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: Zones scope visibility of elements to different users. + + +### Additional Properties +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: Additional Properties allow arbitrary properties not defined in the type definitions to be added to any referenceable element. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +### Confidence Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, level_identifier: int}. level_identifier uses ConfidenceLevel enum: UNCLASSIFIED=0, AD_HOC=1, TRANSACTIONAL=2, AUTHORITATIVE=3, DERIVED=4, OBSOLETE=5, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,AD_HOC,TRANSACTIONAL,AUTHORITATIVE,DERIVED,OBSOLETE,OTHER + + +### Confidentiality Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, level_identifier: int}. level_identifier uses ConfidentialityLevel enum: UNCLASSIFIED=0, INTERNAL=1, CONFIDENTIAL=2, SENSITIVE=3, RESTRICTED=4, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,INTERNAL,CONFIDENTIAL,SENSITIVE,RESTRICTED,OTHER + + +### Criticality Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, level_identifier: int}. level_identifier uses CriticalityLevel enum: UNCLASSIFIED=0, MARGINAL=1, IMPORTANT=2, CRITICAL=3, CATASTROPHIC=4, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,MARGINAL,IMPORTANT,CRITICAL,CATASTROPHIC,OTHER + + +### Identifier +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: An identier + +> **Alternative Labels**: ID + + +### Impact Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, severity_identifier: int}. severity_identifier uses ImpactSeverity enum: UNCLASSIFIED=0, LOW=1, MEDIUM=2, HIGH=3, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,LOW,MEDIUM,HIGH,OTHER + + +### Policy Management Point +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: Combined classification from 0435. Applied to Referenceable. Structure: {point_type: str, name: str, description: str}. point_type is one of: PolicyAdministrationPoint, PolicyDecisionPoint, PolicyEnforcementPoint, PolicyInformationPoint, PolicyRetrievalPoint. A Referenceable may have multiple policy management point classifications simultaneously. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +### Retention Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, basis_identifier: int, associated_guid: str, archive_after: date, delete_after: date}. basis_identifier uses RetentionBasis enum: UNCLASSIFIED=0, TEMPORARY=1, PROJECT_LIFETIME=2, TEAM_LIFETIME=3, CONTRACT_LIFETIME=4, REGULATED_LIFETIME=5, TIMEBOXED_LIFETIME=6, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,TEMPORARY,PROJECT_LIFETIME,TEAM_LIFETIME,CONTRACT_LIFETIME,REGULATED_LIFETIME,TIMEBOXED_LIFETIME,OTHER + + +### Security Tags +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: Optional security tags for security processing. + + +### User Defined Content Status +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user defined content status = only valid if content status is OTHER. + + +### Ordinal +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: Position of this value in an ordered list of values (the ordinal property). + +> **Default Value**: 0 + + +### User Defined Status +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Only valid if Status is set to OTHER. User defined & managed status values. + + +### Classifications +> **Input Required**: false + +> **Attribute Type**: Named DICT + +> **Description**: Optionally specify the initial classifications for a collection. Multiple classifications can be specified. + +> **Alternative Labels**: classification + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +### Anchor Scope Name +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Optional qualified name of an anchor scope. + + +### Supplementary Properties +> **Input Required**: False + +> **Attribute Type**: Named DICT + +> **Description**: Provide supplementary information to the element using the structure of a glossary term + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Create_Reference_Data_Value.md b/sample-data/templates/advanced/Reference Data/Create_Reference_Data_Value.md new file mode 100644 index 00000000..582c61c0 --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Create_Reference_Data_Value.md @@ -0,0 +1,524 @@ +___ + +## Create Reference Data Value +> Creates or updates a single reference data value, optionally adding it to a reference data set. + +### Display Name +> **Input Required**: True + +> **Attribute Type**: Simple + +> **Description**: The common name of an element. + +> **Alternative Labels**: "Term Name" + + +### Preferred Value +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. + + +### Data Type +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The data type of the field or value specification (e.g. string, int, date, boolean). + +> **Valid Values**: string,int,long,date,boolean,char,byte,float,double,biginteger,bigdecimal,array,array,map,map,map,map,map,map,map,short,map>,other + +> **Default Value**: string + + +### Usage +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The usage guidance for this element — how it is intended to be used in context. + + +### Namespace Path +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The namespace path that qualifies the element's name within a larger naming hierarchy. + + +### Is Case Sensitive +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, values for this data class or field are case-sensitive. + +> **Default Value**: false + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Category +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user-defined category for the element, used to group related elements for display or search purposes. + +> **Alternative Labels**: Category Name + + +### Description +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A description. + + +### Legal +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Copyright and/or license information for the element or associated resource. + + +### Qualified Name +> **Input Required**: False + +> **Attribute Type**: QN + +> **Description**: The unique, text name of an element. + + +### Content Status +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: The lifecycle status of an element. + +> **Valid Values**: DRAFT,PREPARED,PROPOSED,APPROVED,REJECTED,ACTIVE,DEPRECATED,OTHER + +> **Default Value**: ACTIVE + + +### Scope +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Scope of the definition or element. + + +### Search Keywords +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: A list of search keywords. + + +### GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: A unique identifier - typically of an element in this context. + +> **Alternative Labels**: guid; Guid + + +### URL +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: URL for further information. + + +### Version Identifier +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The version of the element + +> **Alternative Labels**: Version + +> **Default Value**: 1.0 + + +### Authors +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: The authors. + + +### In Reference Data Set +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: The reference data set this value belongs to. Links the value as a member of the set (ValidValueMember). + + +### Is Default Member +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, this value is the set's default (isDefaultValue on the ValidValueMember relationship). + +> **Default Value**: false + + +### Member Ordinal +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: Position of the value within the set (ordinal on the ValidValueMember relationship). + +> **Default Value**: 0 + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +### Anchor ID +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Name of the anchoring element. + + +### Anchor Scope ID +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Anchor scope to restrict search. + +> **Alternative Labels**: Anchor Scope + + +### Glossary Term +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Term that provides meaning to this field. + +> **Alternative Labels**: Term + + +### Is Own Anchor +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: A flag indicating if the element is its own anchor or is anchored to a different element. + +> **Alternative Labels**: Own Anchor + +> **Default Value**: true + + +### Merge Update +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: A flag indicating if the update should be a merge or replace. + +> **Alternative Labels**: isMergeUpdate + +> **Default Value**: true + + +### Parent at End1 +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: A flag indicating if the parent is at end1 of the relationship + +> **Default Value**: true + + +### Parent ID +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Name of the parent + +> **Alternative Labels**: Parent; + + +### Parent Relationship Attributes +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: A dictionary of relationship attributes to establish the parent relationship. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +### Parent Relationship Type Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The type of parent relationship. + + +### Status +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Repository or element header status for an element. + +> **Default Value**: ACTIVE + + +### Zone Membership +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: Zones scope visibility of elements to different users. + + +### Additional Properties +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: Additional Properties allow arbitrary properties not defined in the type definitions to be added to any referenceable element. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +### Confidence Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, level_identifier: int}. level_identifier uses ConfidenceLevel enum: UNCLASSIFIED=0, AD_HOC=1, TRANSACTIONAL=2, AUTHORITATIVE=3, DERIVED=4, OBSOLETE=5, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,AD_HOC,TRANSACTIONAL,AUTHORITATIVE,DERIVED,OBSOLETE,OTHER + + +### Confidentiality Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, level_identifier: int}. level_identifier uses ConfidentialityLevel enum: UNCLASSIFIED=0, INTERNAL=1, CONFIDENTIAL=2, SENSITIVE=3, RESTRICTED=4, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,INTERNAL,CONFIDENTIAL,SENSITIVE,RESTRICTED,OTHER + + +### Criticality Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, level_identifier: int}. level_identifier uses CriticalityLevel enum: UNCLASSIFIED=0, MARGINAL=1, IMPORTANT=2, CRITICAL=3, CATASTROPHIC=4, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,MARGINAL,IMPORTANT,CRITICAL,CATASTROPHIC,OTHER + + +### Identifier +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: An identier + +> **Alternative Labels**: ID + + +### Impact Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, severity_identifier: int}. severity_identifier uses ImpactSeverity enum: UNCLASSIFIED=0, LOW=1, MEDIUM=2, HIGH=3, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,LOW,MEDIUM,HIGH,OTHER + + +### Policy Management Point +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: Combined classification from 0435. Applied to Referenceable. Structure: {point_type: str, name: str, description: str}. point_type is one of: PolicyAdministrationPoint, PolicyDecisionPoint, PolicyEnforcementPoint, PolicyInformationPoint, PolicyRetrievalPoint. A Referenceable may have multiple policy management point classifications simultaneously. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +### Retention Classification +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: Classification from 0422. Structure: {status_identifier: int, confidence: int, steward: str, steward_type_name: str, steward_property_name: str, source: str, notes: str, basis_identifier: int, associated_guid: str, archive_after: date, delete_after: date}. basis_identifier uses RetentionBasis enum: UNCLASSIFIED=0, TEMPORARY=1, PROJECT_LIFETIME=2, TEAM_LIFETIME=3, CONTRACT_LIFETIME=4, REGULATED_LIFETIME=5, TIMEBOXED_LIFETIME=6, OTHER=99. + +> **Valid Values**: UNCLASSIFIED,TEMPORARY,PROJECT_LIFETIME,TEAM_LIFETIME,CONTRACT_LIFETIME,REGULATED_LIFETIME,TIMEBOXED_LIFETIME,OTHER + + +### Security Tags +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: Optional security tags for security processing. + + +### User Defined Content Status +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user defined content status = only valid if content status is OTHER. + + +### Ordinal +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: Position of this value in an ordered list of values (the ordinal property). + +> **Default Value**: 0 + + +### User Defined Status +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Only valid if Status is set to OTHER. User defined & managed status values. + + +### Classifications +> **Input Required**: false + +> **Attribute Type**: Named DICT + +> **Description**: Optionally specify the initial classifications for a collection. Multiple classifications can be specified. + +> **Alternative Labels**: classification + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +### Anchor Scope Name +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: Optional qualified name of an anchor scope. + + +### Supplementary Properties +> **Input Required**: False + +> **Attribute Type**: Named DICT + +> **Description**: Provide supplementary information to the element using the structure of a glossary term + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Detach_Associated_Valid_Values.md b/sample-data/templates/advanced/Reference Data/Detach_Associated_Valid_Values.md new file mode 100644 index 00000000..1f5bf611 --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Detach_Associated_Valid_Values.md @@ -0,0 +1,122 @@ +___ + +## Detach Associated Valid Values +> Removes the ValidValueAssociation relationship. + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Association Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Name of the association between the two valid values. + + +### Association Type +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Type of the association between the two valid values. + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +### Additional Properties +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: Additional Properties allow arbitrary properties not defined in the type definitions to be added to any referenceable element. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Detach_Consistent_Valid_Values.md b/sample-data/templates/advanced/Reference Data/Detach_Consistent_Valid_Values.md new file mode 100644 index 00000000..0798668f --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Detach_Consistent_Valid_Values.md @@ -0,0 +1,94 @@ +___ + +## Detach Consistent Valid Values +> Removes the ConsistentValidValues relationship. + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Detach_Element_from_Valid_Values.md b/sample-data/templates/advanced/Reference Data/Detach_Element_from_Valid_Values.md index 338ffa80..056ddade 100644 --- a/sample-data/templates/advanced/Reference Data/Detach_Element_from_Valid_Values.md +++ b/sample-data/templates/advanced/Reference Data/Detach_Element_from_Valid_Values.md @@ -31,6 +31,16 @@ ___ > **Description**: A text entry into a journal. +### Strict Requirement +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, the element must use one of the set's values; if false, the values are suggestions (strictRequirement on ValidValuesAssignment). + +> **Default Value**: true + + ### Effective From > **Input Required**: False diff --git a/sample-data/templates/advanced/Reference Data/Detach_Mapped_Valid_Values.md b/sample-data/templates/advanced/Reference Data/Detach_Mapped_Valid_Values.md new file mode 100644 index 00000000..0776bb70 --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Detach_Mapped_Valid_Values.md @@ -0,0 +1,142 @@ +___ + +## Detach Mapped Valid Values +> Removes the ValidValuesMapping relationship. + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Notes +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Notes and observations about the element. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Association Description +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Description of how the two valid values map to each other. + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +### Confidence +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: A percent confidence in the proposed adding of the member. + + +### Steward +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The identifier of the steward responsible for the element. + + +### Steward Type Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The type name of the steward element. + + +### Steward Property Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Property name used to identify the type of the steward. + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Detach_Reference_Value_Assignment.md b/sample-data/templates/advanced/Reference Data/Detach_Reference_Value_Assignment.md index 77c879d1..9a99b866 100644 --- a/sample-data/templates/advanced/Reference Data/Detach_Reference_Value_Assignment.md +++ b/sample-data/templates/advanced/Reference Data/Detach_Reference_Value_Assignment.md @@ -21,6 +21,14 @@ ___ > **Description**: The valid value definition supplying the reference/tag value (ReferenceValueAssignment relationship). +### Notes +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Notes and observations about the element. + + ### Journal Entry > **Input Required**: False @@ -29,6 +37,14 @@ ___ > **Description**: A text entry into a journal. +### Attribute Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The attribute of the element that the reference value applies to. + + ### Effective From > **Input Required**: False @@ -93,4 +109,36 @@ ___ > **Description**: A user provided or system generated request id for a conversation. +### Confidence +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: A percent confidence in the proposed adding of the member. + + +### Steward +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The identifier of the steward responsible for the element. + + +### Steward Type Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The type name of the steward element. + + +### Steward Property Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Property name used to identify the type of the steward. + + ___ diff --git a/sample-data/templates/advanced/Reference Data/Detach_Valid_Value_Implementation.md b/sample-data/templates/advanced/Reference Data/Detach_Valid_Value_Implementation.md new file mode 100644 index 00000000..4c2654d1 --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Detach_Valid_Value_Implementation.md @@ -0,0 +1,122 @@ +___ + +## Detach Valid Value Implementation +> Removes the ValidValuesImplementation relationship. + +### Valid Value +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The valid value being implemented (end 1 of ValidValuesImplementation). + + +### Implementation Element +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The element (e.g. a deployed capability, process, or connector) that implements the Design Element. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Symbolic Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The symbolic name the implementing element uses for this valid value. + + +### Implementation Value +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The value the implementing element uses to represent this valid value. + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +### Additional Values +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: Other values the implementing element uses for this valid value, as name/value pairs. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Detach_Valid_Value_Member.md b/sample-data/templates/advanced/Reference Data/Detach_Valid_Value_Member.md new file mode 100644 index 00000000..3a1861ac --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Detach_Valid_Value_Member.md @@ -0,0 +1,116 @@ +___ + +## Detach Valid Value Member +> Removes the ValidValueMember relationship. + +### Valid Value Set +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The valid value set/definition that defines the allowed values for this element (ValidValuesAssignment relationship). + +> **Alternative Labels**: Valid Value Definition + + +### Member Value +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The value that is a member of the set (end 2 of ValidValueMember). + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Is Default Member +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, this value is the set's default (isDefaultValue on the ValidValueMember relationship). + +> **Default Value**: false + + +### Member Ordinal +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: Position of the value within the set (ordinal on the ValidValueMember relationship). + +> **Default Value**: 0 + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Link_Associated_Valid_Values.md b/sample-data/templates/advanced/Reference Data/Link_Associated_Valid_Values.md new file mode 100644 index 00000000..5d2061a6 --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Link_Associated_Valid_Values.md @@ -0,0 +1,122 @@ +___ + +## Link Associated Valid Values +> Links two related valid values, with a named association (ValidValueAssociation relationship). + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Association Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Name of the association between the two valid values. + + +### Association Type +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Type of the association between the two valid values. + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +### Additional Properties +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: Additional Properties allow arbitrary properties not defined in the type definitions to be added to any referenceable element. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Link_Consistent_Valid_Values.md b/sample-data/templates/advanced/Reference Data/Link_Consistent_Valid_Values.md new file mode 100644 index 00000000..082a1b36 --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Link_Consistent_Valid_Values.md @@ -0,0 +1,94 @@ +___ + +## Link Consistent Valid Values +> Links two valid values that are consistent with each other (used together) (ConsistentValidValues relationship). + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Link_Element_to_Valid_Values.md b/sample-data/templates/advanced/Reference Data/Link_Element_to_Valid_Values.md index 7d972d40..fd245425 100644 --- a/sample-data/templates/advanced/Reference Data/Link_Element_to_Valid_Values.md +++ b/sample-data/templates/advanced/Reference Data/Link_Element_to_Valid_Values.md @@ -31,6 +31,16 @@ ___ > **Description**: A text entry into a journal. +### Strict Requirement +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, the element must use one of the set's values; if false, the values are suggestions (strictRequirement on ValidValuesAssignment). + +> **Default Value**: true + + ### Effective From > **Input Required**: False diff --git a/sample-data/templates/advanced/Reference Data/Link_Mapped_Valid_Values.md b/sample-data/templates/advanced/Reference Data/Link_Mapped_Valid_Values.md new file mode 100644 index 00000000..3d0e5018 --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Link_Mapped_Valid_Values.md @@ -0,0 +1,142 @@ +___ + +## Link Mapped Valid Values +> Links two valid values that mean the same thing in different sets (ValidValuesMapping relationship). + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Notes +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Notes and observations about the element. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Association Description +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Description of how the two valid values map to each other. + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +### Confidence +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: A percent confidence in the proposed adding of the member. + + +### Steward +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The identifier of the steward responsible for the element. + + +### Steward Type Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The type name of the steward element. + + +### Steward Property Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Property name used to identify the type of the steward. + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Link_Reference_Value_Assignment.md b/sample-data/templates/advanced/Reference Data/Link_Reference_Value_Assignment.md index bb2d34e1..f4a88bbe 100644 --- a/sample-data/templates/advanced/Reference Data/Link_Reference_Value_Assignment.md +++ b/sample-data/templates/advanced/Reference Data/Link_Reference_Value_Assignment.md @@ -21,6 +21,14 @@ ___ > **Description**: The valid value definition supplying the reference/tag value (ReferenceValueAssignment relationship). +### Notes +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Notes and observations about the element. + + ### Journal Entry > **Input Required**: False @@ -29,6 +37,14 @@ ___ > **Description**: A text entry into a journal. +### Attribute Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The attribute of the element that the reference value applies to. + + ### Effective From > **Input Required**: False @@ -93,4 +109,36 @@ ___ > **Description**: A user provided or system generated request id for a conversation. +### Confidence +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: A percent confidence in the proposed adding of the member. + + +### Steward +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The identifier of the steward responsible for the element. + + +### Steward Type Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The type name of the steward element. + + +### Steward Property Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Property name used to identify the type of the steward. + + ___ diff --git a/sample-data/templates/advanced/Reference Data/Link_Valid_Value_Implementation.md b/sample-data/templates/advanced/Reference Data/Link_Valid_Value_Implementation.md new file mode 100644 index 00000000..e8b63b2b --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Link_Valid_Value_Implementation.md @@ -0,0 +1,122 @@ +___ + +## Link Valid Value Implementation +> Links a valid value to the element that implements it, with the symbolic name and value it uses (ValidValuesImplementation relationship). + +### Valid Value +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The valid value being implemented (end 1 of ValidValuesImplementation). + + +### Implementation Element +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The element (e.g. a deployed capability, process, or connector) that implements the Design Element. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Symbolic Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The symbolic name the implementing element uses for this valid value. + + +### Implementation Value +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The value the implementing element uses to represent this valid value. + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +### Additional Values +> **Input Required**: False + +> **Attribute Type**: Dictionary + +> **Description**: Other values the implementing element uses for this valid value, as name/value pairs. + +> | Parameter Name | Parameter Value | +> |---|---| +> | example_key | example_value | + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Link_Valid_Value_Member.md b/sample-data/templates/advanced/Reference Data/Link_Valid_Value_Member.md new file mode 100644 index 00000000..6e1e22a2 --- /dev/null +++ b/sample-data/templates/advanced/Reference Data/Link_Valid_Value_Member.md @@ -0,0 +1,116 @@ +___ + +## Link Valid Value Member +> Links a value as a member of a reference data set (or any valid value set) (ValidValueMember relationship). + +### Valid Value Set +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The valid value set/definition that defines the allowed values for this element (ValidValuesAssignment relationship). + +> **Alternative Labels**: Valid Value Definition + + +### Member Value +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The value that is a member of the set (end 2 of ValidValueMember). + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Is Default Member +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, this value is the set's default (isDefaultValue on the ValidValueMember relationship). + +> **Default Value**: false + + +### Member Ordinal +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: Position of the value within the set (ordinal on the ValidValueMember relationship). + +> **Default Value**: 0 + + +### Effective From +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The beginning of when an element is viewable. + + +### Effective Time +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The time at which an element must be effective in order to be returned by the request. + + +### Effective To +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The ending time at which an element is visible. + + +### External Source GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: The unique identifier of an external source. + + +### External Source Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The name of an external source + + +### For Duplicate Processing +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support duplicate processing. + + +### For Lineage +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: Flag indicating if the request is to support lineage. + + +### Request ID +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user provided or system generated request id for a conversation. + + +___ diff --git a/sample-data/templates/advanced/Reference Data/Clear_Valid_Metadata_Map_Name.md b/sample-data/templates/advanced/Valid Metadata/Clear_Valid_Metadata_Map_Name.md similarity index 87% rename from sample-data/templates/advanced/Reference Data/Clear_Valid_Metadata_Map_Name.md rename to sample-data/templates/advanced/Valid Metadata/Clear_Valid_Metadata_Map_Name.md index 037836d9..40a6325e 100644 --- a/sample-data/templates/advanced/Reference Data/Clear_Valid_Metadata_Map_Name.md +++ b/sample-data/templates/advanced/Valid Metadata/Clear_Valid_Metadata_Map_Name.md @@ -11,20 +11,20 @@ ___ > **Description**: The open metadata property name the valid value is set up for. -### Preferred Value -> **Input Required**: True +### Type Name +> **Input Required**: False > **Attribute Type**: Simple -> **Description**: The valid/preferred value being set up for the property (or map name/value). +> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. -### Type Name +### Preferred Value > **Input Required**: False > **Attribute Type**: Simple -> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. ### Journal Entry diff --git a/sample-data/templates/advanced/Reference Data/Clear_Valid_Metadata_Map_Value.md b/sample-data/templates/advanced/Valid Metadata/Clear_Valid_Metadata_Map_Value.md similarity index 88% rename from sample-data/templates/advanced/Reference Data/Clear_Valid_Metadata_Map_Value.md rename to sample-data/templates/advanced/Valid Metadata/Clear_Valid_Metadata_Map_Value.md index 6f36a7a4..c94468f9 100644 --- a/sample-data/templates/advanced/Reference Data/Clear_Valid_Metadata_Map_Value.md +++ b/sample-data/templates/advanced/Valid Metadata/Clear_Valid_Metadata_Map_Value.md @@ -19,20 +19,20 @@ ___ > **Description**: The name of the map entry, for a map-valued property. -### Preferred Value -> **Input Required**: True +### Type Name +> **Input Required**: False > **Attribute Type**: Simple -> **Description**: The valid/preferred value being set up for the property (or map name/value). +> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. -### Type Name +### Preferred Value > **Input Required**: False > **Attribute Type**: Simple -> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. ### Journal Entry diff --git a/sample-data/templates/advanced/Reference Data/Clear_Valid_Metadata_Value.md b/sample-data/templates/advanced/Valid Metadata/Clear_Valid_Metadata_Value.md similarity index 87% rename from sample-data/templates/advanced/Reference Data/Clear_Valid_Metadata_Value.md rename to sample-data/templates/advanced/Valid Metadata/Clear_Valid_Metadata_Value.md index 3a85b987..c8d1e5a7 100644 --- a/sample-data/templates/advanced/Reference Data/Clear_Valid_Metadata_Value.md +++ b/sample-data/templates/advanced/Valid Metadata/Clear_Valid_Metadata_Value.md @@ -11,20 +11,20 @@ ___ > **Description**: The open metadata property name the valid value is set up for. -### Preferred Value -> **Input Required**: True +### Type Name +> **Input Required**: False > **Attribute Type**: Simple -> **Description**: The valid/preferred value being set up for the property (or map name/value). +> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. -### Type Name +### Preferred Value > **Input Required**: False > **Attribute Type**: Simple -> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. ### Journal Entry diff --git a/sample-data/templates/advanced/Reference Data/Detach_Specification_Property_Assignment.md b/sample-data/templates/advanced/Valid Metadata/Detach_Specification_Property_Assignment.md similarity index 100% rename from sample-data/templates/advanced/Reference Data/Detach_Specification_Property_Assignment.md rename to sample-data/templates/advanced/Valid Metadata/Detach_Specification_Property_Assignment.md diff --git a/sample-data/templates/advanced/Reference Data/Link_Specification_Property_Assignment.md b/sample-data/templates/advanced/Valid Metadata/Link_Specification_Property_Assignment.md similarity index 100% rename from sample-data/templates/advanced/Reference Data/Link_Specification_Property_Assignment.md rename to sample-data/templates/advanced/Valid Metadata/Link_Specification_Property_Assignment.md diff --git a/sample-data/templates/advanced/Reference Data/Set_Consistent_Metadata_Values.md b/sample-data/templates/advanced/Valid Metadata/Set_Consistent_Metadata_Values.md similarity index 91% rename from sample-data/templates/advanced/Reference Data/Set_Consistent_Metadata_Values.md rename to sample-data/templates/advanced/Valid Metadata/Set_Consistent_Metadata_Values.md index ee1ddfcb..e66d3634 100644 --- a/sample-data/templates/advanced/Reference Data/Set_Consistent_Metadata_Values.md +++ b/sample-data/templates/advanced/Valid Metadata/Set_Consistent_Metadata_Values.md @@ -19,14 +19,6 @@ ___ > **Description**: The name of the map entry, for a map-valued property. -### Preferred Value -> **Input Required**: True - -> **Attribute Type**: Simple - -> **Description**: The valid/preferred value being set up for the property (or map name/value). - - ### Metadata Property Name 2 > **Input Required**: True @@ -51,6 +43,14 @@ ___ > **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. +### Preferred Value +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. + + ### Type Name 2 > **Input Required**: False diff --git a/sample-data/templates/advanced/Reference Data/Setup_Valid_Metadata_Map_Name.md b/sample-data/templates/advanced/Valid Metadata/Setup_Valid_Metadata_Map_Name.md similarity index 89% rename from sample-data/templates/advanced/Reference Data/Setup_Valid_Metadata_Map_Name.md rename to sample-data/templates/advanced/Valid Metadata/Setup_Valid_Metadata_Map_Name.md index c6db0feb..8b51be2e 100644 --- a/sample-data/templates/advanced/Reference Data/Setup_Valid_Metadata_Map_Name.md +++ b/sample-data/templates/advanced/Valid Metadata/Setup_Valid_Metadata_Map_Name.md @@ -11,20 +11,20 @@ ___ > **Description**: The open metadata property name the valid value is set up for. -### Preferred Value -> **Input Required**: True +### Type Name +> **Input Required**: False > **Attribute Type**: Simple -> **Description**: The valid/preferred value being set up for the property (or map name/value). +> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. -### Type Name +### Preferred Value > **Input Required**: False > **Attribute Type**: Simple -> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. ### Metadata Display Name diff --git a/sample-data/templates/advanced/Reference Data/Setup_Valid_Metadata_Map_Value.md b/sample-data/templates/advanced/Valid Metadata/Setup_Valid_Metadata_Map_Value.md similarity index 89% rename from sample-data/templates/advanced/Reference Data/Setup_Valid_Metadata_Map_Value.md rename to sample-data/templates/advanced/Valid Metadata/Setup_Valid_Metadata_Map_Value.md index 50ba45c7..049731e8 100644 --- a/sample-data/templates/advanced/Reference Data/Setup_Valid_Metadata_Map_Value.md +++ b/sample-data/templates/advanced/Valid Metadata/Setup_Valid_Metadata_Map_Value.md @@ -19,20 +19,20 @@ ___ > **Description**: The name of the map entry, for a map-valued property. -### Preferred Value -> **Input Required**: True +### Type Name +> **Input Required**: False > **Attribute Type**: Simple -> **Description**: The valid/preferred value being set up for the property (or map name/value). +> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. -### Type Name +### Preferred Value > **Input Required**: False > **Attribute Type**: Simple -> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. ### Metadata Display Name diff --git a/sample-data/templates/advanced/Reference Data/Setup_Valid_Metadata_Value.md b/sample-data/templates/advanced/Valid Metadata/Setup_Valid_Metadata_Value.md similarity index 79% rename from sample-data/templates/advanced/Reference Data/Setup_Valid_Metadata_Value.md rename to sample-data/templates/advanced/Valid Metadata/Setup_Valid_Metadata_Value.md index 14915cbd..5163a762 100644 --- a/sample-data/templates/advanced/Reference Data/Setup_Valid_Metadata_Value.md +++ b/sample-data/templates/advanced/Valid Metadata/Setup_Valid_Metadata_Value.md @@ -11,20 +11,20 @@ ___ > **Description**: The open metadata property name the valid value is set up for. -### Preferred Value -> **Input Required**: True +### Type Name +> **Input Required**: False > **Attribute Type**: Simple -> **Description**: The valid/preferred value being set up for the property (or map name/value). +> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. -### Type Name +### Preferred Value > **Input Required**: False > **Attribute Type**: Simple -> **Description**: The open metadata type name the valid value applies to; leave unset to apply to all types. +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. ### Metadata Display Name @@ -51,6 +51,14 @@ ___ > **Description**: A text entry into a journal. +### Metadata Value Table +> **Input Required**: False + +> **Attribute Type**: Table + +> **Description**: Several values to set up for the same property in one command, as a markdown table with a header row. Columns: Preferred Value (required), Display Name, Description. Use instead of the single Preferred Value. + + ### Effective From > **Input Required**: False diff --git a/sample-data/templates/basic/Reference Data/Create_Reference_Data_Set.md b/sample-data/templates/basic/Reference Data/Create_Reference_Data_Set.md new file mode 100644 index 00000000..6da3d92f --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Create_Reference_Data_Set.md @@ -0,0 +1,202 @@ +___ + +## Create Reference Data Set +> Creates or updates a reference data set -- a named list of allowed values, such as order statuses or country codes. Members can be linked (Members), created inline one per line (Values), or created with their own properties from a table (Value Table). + +### Display Name +> **Input Required**: True + +> **Attribute Type**: Simple + +> **Description**: The common name of an element. + +> **Alternative Labels**: "Term Name" + + +### Preferred Value +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. + + +### Data Type +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The data type of the field or value specification (e.g. string, int, date, boolean). + +> **Valid Values**: string,int,long,date,boolean,char,byte,float,double,biginteger,bigdecimal,array,array,map,map,map,map,map,map,map,short,map>,other + +> **Default Value**: string + + +### Usage +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The usage guidance for this element — how it is intended to be used in context. + + +### Namespace Path +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The namespace path that qualifies the element's name within a larger naming hierarchy. + + +### Is Case Sensitive +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, values for this data class or field are case-sensitive. + +> **Default Value**: false + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Category +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user-defined category for the element, used to group related elements for display or search purposes. + +> **Alternative Labels**: Category Name + + +### Description +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A description. + + +### Legal +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Copyright and/or license information for the element or associated resource. + + +### Qualified Name +> **Input Required**: False + +> **Attribute Type**: QN + +> **Description**: The unique, text name of an element. + + +### Content Status +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: The lifecycle status of an element. + +> **Valid Values**: DRAFT,PREPARED,PROPOSED,APPROVED,REJECTED,ACTIVE,DEPRECATED,OTHER + +> **Default Value**: ACTIVE + + +### Scope +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Scope of the definition or element. + + +### Search Keywords +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: A list of search keywords. + + +### GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: A unique identifier - typically of an element in this context. + +> **Alternative Labels**: guid; Guid + + +### URL +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: URL for further information. + + +### Version Identifier +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The version of the element + +> **Alternative Labels**: Version + +> **Default Value**: 1.0 + + +### Authors +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: The authors. + + +### Members +> **Input Required**: False + +> **Attribute Type**: Reference Name List + +> **Description**: Existing values that belong to this set, one per line or comma-separated. Each is linked as a member (ValidValueMember). On a re-run, a value no longer listed is unlinked, not deleted. + + +### Values +> **Input Required**: False + +> **Attribute Type**: Line List + +> **Description**: Member values to create and link, one per line. Commas are part of the value. Each value's qualified name is the set's qualified name plus '::' and the value, so a re-run reuses it. Ordinal follows list position. + + +### Value Table +> **Input Required**: False + +> **Attribute Type**: Table + +> **Description**: Member values to create or update and link, as a markdown table with a header row. Columns: Value (required), Display Name, Description, Usage, Data Type, Is Case Sensitive, Default, Ordinal. Use \| for a literal pipe. + + +### Default Member +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Which entry in Values is the set's default (match on the value). + + +___ diff --git a/sample-data/templates/basic/Reference Data/Create_Reference_Data_Value.md b/sample-data/templates/basic/Reference Data/Create_Reference_Data_Value.md new file mode 100644 index 00000000..170db155 --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Create_Reference_Data_Value.md @@ -0,0 +1,198 @@ +___ + +## Create Reference Data Value +> Creates or updates a single reference data value, optionally adding it to a reference data set. + +### Display Name +> **Input Required**: True + +> **Attribute Type**: Simple + +> **Description**: The common name of an element. + +> **Alternative Labels**: "Term Name" + + +### Preferred Value +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The preferred value -- the value itself, as stored and exchanged. For Setup/Clear Valid Metadata commands, the value being set up for the property (or map name/value); required there unless a Metadata Value Table is given. + + +### Data Type +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The data type of the field or value specification (e.g. string, int, date, boolean). + +> **Valid Values**: string,int,long,date,boolean,char,byte,float,double,biginteger,bigdecimal,array,array,map,map,map,map,map,map,map,short,map>,other + +> **Default Value**: string + + +### Usage +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The usage guidance for this element — how it is intended to be used in context. + + +### Namespace Path +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The namespace path that qualifies the element's name within a larger naming hierarchy. + + +### Is Case Sensitive +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, values for this data class or field are case-sensitive. + +> **Default Value**: false + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Category +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A user-defined category for the element, used to group related elements for display or search purposes. + +> **Alternative Labels**: Category Name + + +### Description +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A description. + + +### Legal +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Copyright and/or license information for the element or associated resource. + + +### Qualified Name +> **Input Required**: False + +> **Attribute Type**: QN + +> **Description**: The unique, text name of an element. + + +### Content Status +> **Input Required**: False + +> **Attribute Type**: Valid Value + +> **Description**: The lifecycle status of an element. + +> **Valid Values**: DRAFT,PREPARED,PROPOSED,APPROVED,REJECTED,ACTIVE,DEPRECATED,OTHER + +> **Default Value**: ACTIVE + + +### Scope +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Scope of the definition or element. + + +### Search Keywords +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: A list of search keywords. + + +### GUID +> **Input Required**: False + +> **Attribute Type**: GUID + +> **Description**: A unique identifier - typically of an element in this context. + +> **Alternative Labels**: guid; Guid + + +### URL +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: URL for further information. + + +### Version Identifier +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The version of the element + +> **Alternative Labels**: Version + +> **Default Value**: 1.0 + + +### Authors +> **Input Required**: False + +> **Attribute Type**: Simple List + +> **Description**: The authors. + + +### In Reference Data Set +> **Input Required**: False + +> **Attribute Type**: Reference Name + +> **Description**: The reference data set this value belongs to. Links the value as a member of the set (ValidValueMember). + + +### Is Default Member +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, this value is the set's default (isDefaultValue on the ValidValueMember relationship). + +> **Default Value**: false + + +### Member Ordinal +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: Position of the value within the set (ordinal on the ValidValueMember relationship). + +> **Default Value**: 0 + + +___ diff --git a/sample-data/templates/basic/Reference Data/Detach_Associated_Valid_Values.md b/sample-data/templates/basic/Reference Data/Detach_Associated_Valid_Values.md new file mode 100644 index 00000000..a19ec42e --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Detach_Associated_Valid_Values.md @@ -0,0 +1,46 @@ +___ + +## Detach Associated Valid Values +> Removes the ValidValueAssociation relationship. + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Association Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Name of the association between the two valid values. + + +### Association Type +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Type of the association between the two valid values. + + +___ diff --git a/sample-data/templates/basic/Reference Data/Detach_Consistent_Valid_Values.md b/sample-data/templates/basic/Reference Data/Detach_Consistent_Valid_Values.md new file mode 100644 index 00000000..2acbcffd --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Detach_Consistent_Valid_Values.md @@ -0,0 +1,30 @@ +___ + +## Detach Consistent Valid Values +> Removes the ConsistentValidValues relationship. + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +___ diff --git a/sample-data/templates/basic/Reference Data/Detach_Element_from_Valid_Values.md b/sample-data/templates/basic/Reference Data/Detach_Element_from_Valid_Values.md index 6d8c25dc..2fc97d4f 100644 --- a/sample-data/templates/basic/Reference Data/Detach_Element_from_Valid_Values.md +++ b/sample-data/templates/basic/Reference Data/Detach_Element_from_Valid_Values.md @@ -31,4 +31,14 @@ ___ > **Description**: A text entry into a journal. +### Strict Requirement +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, the element must use one of the set's values; if false, the values are suggestions (strictRequirement on ValidValuesAssignment). + +> **Default Value**: true + + ___ diff --git a/sample-data/templates/basic/Reference Data/Detach_Mapped_Valid_Values.md b/sample-data/templates/basic/Reference Data/Detach_Mapped_Valid_Values.md new file mode 100644 index 00000000..6b5d6679 --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Detach_Mapped_Valid_Values.md @@ -0,0 +1,46 @@ +___ + +## Detach Mapped Valid Values +> Removes the ValidValuesMapping relationship. + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Notes +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Notes and observations about the element. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Association Description +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Description of how the two valid values map to each other. + + +___ diff --git a/sample-data/templates/basic/Reference Data/Detach_Reference_Value_Assignment.md b/sample-data/templates/basic/Reference Data/Detach_Reference_Value_Assignment.md index 413ab3de..4d002720 100644 --- a/sample-data/templates/basic/Reference Data/Detach_Reference_Value_Assignment.md +++ b/sample-data/templates/basic/Reference Data/Detach_Reference_Value_Assignment.md @@ -21,6 +21,14 @@ ___ > **Description**: The valid value definition supplying the reference/tag value (ReferenceValueAssignment relationship). +### Notes +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Notes and observations about the element. + + ### Journal Entry > **Input Required**: False @@ -29,4 +37,12 @@ ___ > **Description**: A text entry into a journal. +### Attribute Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The attribute of the element that the reference value applies to. + + ___ diff --git a/sample-data/templates/basic/Reference Data/Detach_Valid_Value_Implementation.md b/sample-data/templates/basic/Reference Data/Detach_Valid_Value_Implementation.md new file mode 100644 index 00000000..33c75cc7 --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Detach_Valid_Value_Implementation.md @@ -0,0 +1,46 @@ +___ + +## Detach Valid Value Implementation +> Removes the ValidValuesImplementation relationship. + +### Valid Value +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The valid value being implemented (end 1 of ValidValuesImplementation). + + +### Implementation Element +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The element (e.g. a deployed capability, process, or connector) that implements the Design Element. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Symbolic Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The symbolic name the implementing element uses for this valid value. + + +### Implementation Value +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The value the implementing element uses to represent this valid value. + + +___ diff --git a/sample-data/templates/basic/Reference Data/Detach_Valid_Value_Member.md b/sample-data/templates/basic/Reference Data/Detach_Valid_Value_Member.md new file mode 100644 index 00000000..3c5f3735 --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Detach_Valid_Value_Member.md @@ -0,0 +1,52 @@ +___ + +## Detach Valid Value Member +> Removes the ValidValueMember relationship. + +### Valid Value Set +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The valid value set/definition that defines the allowed values for this element (ValidValuesAssignment relationship). + +> **Alternative Labels**: Valid Value Definition + + +### Member Value +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The value that is a member of the set (end 2 of ValidValueMember). + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Is Default Member +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, this value is the set's default (isDefaultValue on the ValidValueMember relationship). + +> **Default Value**: false + + +### Member Ordinal +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: Position of the value within the set (ordinal on the ValidValueMember relationship). + +> **Default Value**: 0 + + +___ diff --git a/sample-data/templates/basic/Reference Data/Link_Associated_Valid_Values.md b/sample-data/templates/basic/Reference Data/Link_Associated_Valid_Values.md new file mode 100644 index 00000000..69f1adf0 --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Link_Associated_Valid_Values.md @@ -0,0 +1,46 @@ +___ + +## Link Associated Valid Values +> Links two related valid values, with a named association (ValidValueAssociation relationship). + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Association Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Name of the association between the two valid values. + + +### Association Type +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Type of the association between the two valid values. + + +___ diff --git a/sample-data/templates/basic/Reference Data/Link_Consistent_Valid_Values.md b/sample-data/templates/basic/Reference Data/Link_Consistent_Valid_Values.md new file mode 100644 index 00000000..4e1f5352 --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Link_Consistent_Valid_Values.md @@ -0,0 +1,30 @@ +___ + +## Link Consistent Valid Values +> Links two valid values that are consistent with each other (used together) (ConsistentValidValues relationship). + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +___ diff --git a/sample-data/templates/basic/Reference Data/Link_Element_to_Valid_Values.md b/sample-data/templates/basic/Reference Data/Link_Element_to_Valid_Values.md index 3b17d6bd..b7cc1a34 100644 --- a/sample-data/templates/basic/Reference Data/Link_Element_to_Valid_Values.md +++ b/sample-data/templates/basic/Reference Data/Link_Element_to_Valid_Values.md @@ -31,4 +31,14 @@ ___ > **Description**: A text entry into a journal. +### Strict Requirement +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, the element must use one of the set's values; if false, the values are suggestions (strictRequirement on ValidValuesAssignment). + +> **Default Value**: true + + ___ diff --git a/sample-data/templates/basic/Reference Data/Link_Mapped_Valid_Values.md b/sample-data/templates/basic/Reference Data/Link_Mapped_Valid_Values.md new file mode 100644 index 00000000..bd8fc724 --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Link_Mapped_Valid_Values.md @@ -0,0 +1,46 @@ +___ + +## Link Mapped Valid Values +> Links two valid values that mean the same thing in different sets (ValidValuesMapping relationship). + +### Valid Value 1 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The first valid value in the relationship. + + +### Valid Value 2 +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The second valid value in the relationship. + + +### Notes +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Notes and observations about the element. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Association Description +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Description of how the two valid values map to each other. + + +___ diff --git a/sample-data/templates/basic/Reference Data/Link_Reference_Value_Assignment.md b/sample-data/templates/basic/Reference Data/Link_Reference_Value_Assignment.md index fef7a076..29fd3b5a 100644 --- a/sample-data/templates/basic/Reference Data/Link_Reference_Value_Assignment.md +++ b/sample-data/templates/basic/Reference Data/Link_Reference_Value_Assignment.md @@ -21,6 +21,14 @@ ___ > **Description**: The valid value definition supplying the reference/tag value (ReferenceValueAssignment relationship). +### Notes +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: Notes and observations about the element. + + ### Journal Entry > **Input Required**: False @@ -29,4 +37,12 @@ ___ > **Description**: A text entry into a journal. +### Attribute Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The attribute of the element that the reference value applies to. + + ___ diff --git a/sample-data/templates/basic/Reference Data/Link_Valid_Value_Implementation.md b/sample-data/templates/basic/Reference Data/Link_Valid_Value_Implementation.md new file mode 100644 index 00000000..26028239 --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Link_Valid_Value_Implementation.md @@ -0,0 +1,46 @@ +___ + +## Link Valid Value Implementation +> Links a valid value to the element that implements it, with the symbolic name and value it uses (ValidValuesImplementation relationship). + +### Valid Value +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The valid value being implemented (end 1 of ValidValuesImplementation). + + +### Implementation Element +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The element (e.g. a deployed capability, process, or connector) that implements the Design Element. + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Symbolic Name +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The symbolic name the implementing element uses for this valid value. + + +### Implementation Value +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: The value the implementing element uses to represent this valid value. + + +___ diff --git a/sample-data/templates/basic/Reference Data/Link_Valid_Value_Member.md b/sample-data/templates/basic/Reference Data/Link_Valid_Value_Member.md new file mode 100644 index 00000000..67bd80f0 --- /dev/null +++ b/sample-data/templates/basic/Reference Data/Link_Valid_Value_Member.md @@ -0,0 +1,52 @@ +___ + +## Link Valid Value Member +> Links a value as a member of a reference data set (or any valid value set) (ValidValueMember relationship). + +### Valid Value Set +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The valid value set/definition that defines the allowed values for this element (ValidValuesAssignment relationship). + +> **Alternative Labels**: Valid Value Definition + + +### Member Value +> **Input Required**: True + +> **Attribute Type**: Reference Name + +> **Description**: The value that is a member of the set (end 2 of ValidValueMember). + + +### Journal Entry +> **Input Required**: False + +> **Attribute Type**: Simple + +> **Description**: A text entry into a journal. + + +### Is Default Member +> **Input Required**: False + +> **Attribute Type**: Bool + +> **Description**: If true, this value is the set's default (isDefaultValue on the ValidValueMember relationship). + +> **Default Value**: false + + +### Member Ordinal +> **Input Required**: False + +> **Attribute Type**: Simple Int + +> **Description**: Position of the value within the set (ordinal on the ValidValueMember relationship). + +> **Default Value**: 0 + + +___ diff --git a/sample-data/templates/basic/Reference Data/Detach_Specification_Property_Assignment.md b/sample-data/templates/basic/Valid Metadata/Detach_Specification_Property_Assignment.md similarity index 100% rename from sample-data/templates/basic/Reference Data/Detach_Specification_Property_Assignment.md rename to sample-data/templates/basic/Valid Metadata/Detach_Specification_Property_Assignment.md diff --git a/sample-data/templates/basic/Reference Data/Link_Specification_Property_Assignment.md b/sample-data/templates/basic/Valid Metadata/Link_Specification_Property_Assignment.md similarity index 100% rename from sample-data/templates/basic/Reference Data/Link_Specification_Property_Assignment.md rename to sample-data/templates/basic/Valid Metadata/Link_Specification_Property_Assignment.md diff --git a/tests/dr-egeria-command-tests/dr_test_reference_data.md b/tests/dr-egeria-command-tests/dr_test_reference_data.md new file mode 100644 index 00000000..a4195656 --- /dev/null +++ b/tests/dr-egeria-command-tests/dr_test_reference_data.md @@ -0,0 +1,93 @@ +# Reference Data and Valid Metadata regression test + +Inline values (Values / Value Table) are named ::. +The link commands below use separately created values with unique display +names, so the document does not depend on the local qualified-name prefix. + +## Create Reference Data Set +### Display Name +DrETest-OrderStatus + +### Description +Regression test reference data set. + +### Values +- PENDING +- ON HOLD, AWAITING STOCK + +### Value Table +| Value | Display Name | Description | Default | Ordinal | +|-----------|--------------|---------------------|---------|---------| +| SHIPPED | Shipped | Left the warehouse | true | 10 | +| DELIVERED | Delivered | Signed for | | 11 | + + +## Create Reference Data Value +### Display Name +DrETest-CANCELLED + +### Preferred Value +CANCELLED + +### In Reference Data Set +DrETest-OrderStatus + +### Member Ordinal +20 + + +## Create Reference Data Set +### Display Name +DrETest-LegacyOrderStatus + + +## Create Reference Data Value +### Display Name +DrETest-Legacy-X + +### Preferred Value +X + +### In Reference Data Set +DrETest-LegacyOrderStatus + + +## Link Mapped Valid Values +### Valid Value 1 +DrETest-CANCELLED + +### Valid Value 2 +DrETest-Legacy-X + +### Association Description +Legacy code X means CANCELLED. + +### Confidence +90 + + +## Link Consistent Valid Values +### Valid Value 1 +DrETest-CANCELLED + +### Valid Value 2 +DrETest-Legacy-X + + +## Link Associated Valid Values +### Valid Value 1 +DrETest-CANCELLED + +### Valid Value 2 +DrETest-Legacy-X + +### Association Name +replaced-by + + +## Detach Consistent Valid Values +### Valid Value 1 +DrETest-CANCELLED + +### Valid Value 2 +DrETest-Legacy-X diff --git a/tests/dr-egeria-command-tests/run_dr_tests.py b/tests/dr-egeria-command-tests/run_dr_tests.py index 5b921b95..a317b4aa 100644 --- a/tests/dr-egeria-command-tests/run_dr_tests.py +++ b/tests/dr-egeria-command-tests/run_dr_tests.py @@ -44,6 +44,7 @@ "dr_test_data_description_and_value_detach.md", "dr_test_asset_maker.md", "dr_test_schema_maker.md", + "dr_test_reference_data.md", "dr_test_data_dictionary_0580.md", "dr_test_implemented_by.md", ] diff --git a/tests/micro-tests/test_issue_142_403_not_always_unauthorized.py b/tests/micro-tests/test_issue_142_403_not_always_unauthorized.py new file mode 100644 index 00000000..981e92da --- /dev/null +++ b/tests/micro-tests/test_issue_142_403_not_always_unauthorized.py @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright Contributors to the ODPi Egeria project. +""" +ISSUE-142: Egeria also uses relatedHTTPCode 403 for errors that are not about +authorization (e.g. OMAG-GENERIC-HANDLERS-403-005, an InvalidParameterException +for deleting an element that still has dependents). pyegeria raised every +401/403 as "User not authorized ... for user - ``", hiding the real cause. +""" +import httpx +import pytest + +from pyegeria.core._exceptions import PyegeriaAPIException, PyegeriaUnauthorizedException +from pyegeria.omvs.collection_manager import CollectionManager + + +def _client(monkeypatch, body): + monkeypatch.setattr(CollectionManager, "check_connection", lambda self: "test") + client = CollectionManager("view-server", "https://localhost:1", "erinoverview", "pwd") + + async def fake_post(endpoint, **kwargs): + return httpx.Response(200, json=body, request=httpx.Request("POST", endpoint)) + + monkeypatch.setattr(client.session, "post", fake_post) + return client + + +DEPENDENT = { + "class": "VoidResponse", "relatedHTTPCode": 403, + "exceptionClassName": "org.odpi.openmetadata.frameworks.openmetadata.ffdc.InvalidParameterException", + "exceptionErrorMessageId": "OMAG-GENERIC-HANDLERS-403-005", + "exceptionErrorMessage": "OMAG-GENERIC-HANDLERS-403-005 The WorkingSet still has a dependent RelationalTable", +} +NOT_AUTHORIZED = { + "class": "VoidResponse", "relatedHTTPCode": 403, + "exceptionClassName": "org.odpi.openmetadata.frameworks.openmetadata.ffdc.UserNotAuthorizedException", + "exceptionErrorMessage": "OMAG-COMMON-403-001 User erinoverview is not authorized", +} + + +@pytest.mark.asyncio +async def test_403_invalid_parameter_is_not_reported_as_unauthorized(monkeypatch): + client = _client(monkeypatch, DEPENDENT) + with pytest.raises(PyegeriaAPIException) as exc: + await client._async_make_request("POST", "https://localhost:1/x", {"class": "DeleteElementRequestBody"}) + assert not isinstance(exc.value, PyegeriaUnauthorizedException) + assert "403-005" in str(exc.value) + + +@pytest.mark.asyncio +async def test_real_authorization_failure_still_unauthorized_and_names_the_user(monkeypatch): + client = _client(monkeypatch, NOT_AUTHORIZED) + with pytest.raises(PyegeriaUnauthorizedException) as exc: + await client._async_make_request("POST", "https://localhost:1/x", {"class": "X"}) + assert "erinoverview" in exc.value.message + assert exc.value.related_http_code == 403 + + +@pytest.mark.asyncio +async def test_401_without_exception_class_is_unauthorized(monkeypatch): + client = _client(monkeypatch, {"class": "VoidResponse", "relatedHTTPCode": 401}) + with pytest.raises(PyegeriaUnauthorizedException): + await client._async_make_request("POST", "https://localhost:1/x", {"class": "X"}) diff --git a/tests/micro-tests/test_reference_data_family.py b/tests/micro-tests/test_reference_data_family.py new file mode 100644 index 00000000..fac0335e --- /dev/null +++ b/tests/micro-tests/test_reference_data_family.py @@ -0,0 +1,302 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright Contributors to the ODPi Egeria project. +""" +Reference Data authoring (Create Reference Data Set/Value, the valid-value +relationship links) and the Valid Metadata family split out of Reference Data. +No live server: the Egeria client is a fake that records calls. +""" +import json +from pathlib import Path +from typing import Any, cast + +import pytest + +from md_processing.v2.extraction import DrECommand +from md_processing.v2.reference_data import ( + ReferenceDataElementProcessor, + ReferenceDataLinkProcessor, + ValidMetadataValueProcessor, + ValidValueLinkProcessor, +) +from md_processing.v2.utils import parse_line_list, parse_table + +SPEC_DIR = Path(__file__).resolve().parents[2] / "md_processing" / "data" / "compact_commands" + + +# ── parsing ──────────────────────────────────────────────────────────────────── + +def test_parse_table_rows_keyed_by_header(): + rows = parse_table("| Value | Display Name | Default |\n|:---|---|---:|\n" + "| PENDING | Pending | true |\n| SHIP\\|PED | Shipped, D.C. | |\n| | | |") + assert rows == [{"Value": "PENDING", "Display Name": "Pending", "Default": "true"}, + {"Value": "SHIP|PED", "Display Name": "Shipped, D.C.", "Default": None}] + + +def test_parse_table_not_a_table(): + assert parse_table("just text") == [] + assert parse_table("| only a header |") == [] + + +def test_parse_line_list_keeps_commas(): + assert parse_line_list("- PENDING\n- Washington, D.C.\n\n* A; B\nPLAIN") == [ + "PENDING", "Washington, D.C.", "A; B", "PLAIN"] + + +# ── specs ────────────────────────────────────────────────────────────────────── + +def _family(stem): + return json.loads((SPEC_DIR / f"{stem}.json").read_text()) + + +def test_valid_metadata_commands_moved_to_their_own_family(): + rd, vm = _family("commands_reference_data_compact"), _family("commands_valid_metadata_compact") + moved = {"Setup Valid Metadata Value", "Clear Valid Metadata Value", "Setup Valid Metadata Map Name", + "Clear Valid Metadata Map Name", "Setup Valid Metadata Map Value", "Clear Valid Metadata Map Value", + "Set Consistent Metadata Values", "Link Specification Property Assignment", + "Detach Specification Property Assignment"} + assert vm["family"] == "Valid Metadata" + assert moved <= set(vm["commands"]) + assert not moved & set(rd["commands"]) + assert all(vm["commands"][c]["family"] == "Valid Metadata" for c in moved) + + +def test_reference_data_commands_and_styles(): + rd = _family("commands_reference_data_compact") + for name in ("Create Reference Data Set", "Create Reference Data Value", "Link Valid Value Member", + "Detach Valid Value Member", "Link Consistent Valid Values", "Link Associated Valid Values", + "Link Mapped Valid Values", "Link Valid Value Implementation"): + assert name in rd["commands"], name + attrs = rd["attribute_definitions"] + assert attrs["Value Table"]["style"] == "Table" + assert attrs["Values"]["style"] == "Line List" + assert attrs["Members"]["style"] == "Reference Name List" + assert attrs["Preferred Value"]["input_required"] is False + assert rd["commands"]["Create Reference Data Set"]["OM_TYPE"] == "ReferenceDataSet" + + +def test_shared_attribute_copies_are_identical_across_families(): + # Attribute names are one global namespace (last file wins), so a copy that + # drifts would silently change other families' commands. + seen = {} + for path in sorted(SPEC_DIR.glob("*.json")): + for name, definition in json.loads(path.read_text()).get("attribute_definitions", {}).items(): + seen.setdefault(name, []).append((path.stem, definition)) + for stem in ("commands_reference_data_compact", "commands_valid_metadata_compact"): + for name, definition in _family(stem)["attribute_definitions"].items(): + if name == "Element Id": # Reference Data's own copy predates this change + continue + others = [d for s, d in seen[name] if s != stem] + winner = seen[name][-1][1] + assert not others or definition == winner or not definition.get("valid_values") and winner.get( + "valid_values"), f"{name} in {stem} differs from the winning definition" + + +# ── fake client ──────────────────────────────────────────────────────────────── + +def _g(n: int) -> str: + return f"00000000-0000-0000-0000-{n:012d}" + + +class _RefData: + def __init__(self): + self.calls = [] + self._n = 0 + + async def _async_create_valid_value_definition(self, body): + self._n += 1 + self.calls.append(("create", body)) + return _g(self._n) + + async def _async_update_valid_value_definition(self, guid, body): + self.calls.append(("update", guid, body)) + + def __getattr__(self, name): + if name.startswith("_async_"): + async def method(*args): + self.calls.append((name[len("_async_"):],) + args) + return method + raise AttributeError(name) + + +class _ValidMetadata: + def __init__(self): + self.calls = [] + + async def _async_setup_valid_metadata_value(self, property_name, type_name, body): + self.calls.append((property_name, type_name, body)) + + +class _Client: + def __init__(self, current_members=None): + self.reference_data = _RefData() + self.valid_metadata = _ValidMetadata() + self._current = current_members or [] + + async def _async_get_related_metadata_elements(self, guid, rel, body, **kwargs): + return {"elementList": [ + {"element": {"elementGUID": g}, + "relationshipProperties": {"propertiesAsStrings": {"isDefaultValue": str(d).lower(), + "ordinal": str(o)}}} + for g, d, o in self._current]} + + +async def _rendered(guid): + return guid + + +def _processor(cls, client, verb, object_type, attributes, om_type="", qualified_name=None, as_is=None): + p = cls(client=cast(Any, client), + command=DrECommand(verb=verb, object_type=object_type, attributes={}, + raw_block=f"## {verb} {object_type}"), context={}) + p.get_command_spec = lambda: {"OM_TYPE": om_type} + p.parsed_output = {"qualified_name": qualified_name, "attributes": attributes} + p.as_is_element = as_is + p.render_result_markdown = _rendered + + async def resolve(qn, tech_type=None): + return None + p.resolve_element_guid = resolve + return p + + +def _a(**kv): + return {k.replace("_", " "): (v if isinstance(v, dict) else {"value": v}) for k, v in kv.items()} + + +# ── Create Reference Data Set ────────────────────────────────────────────────── + +async def test_create_set_creates_inline_values_and_links_members(): + client = _Client() + attrs = _a(Display_Name="Order Status", Values=["PENDING", "Washington, D.C."], + Value_Table=[{"Value": "SHIPPED", "Description": "Left", "Default": "true", "Ordinal": "9"}], + Default_Member="PENDING") + attrs["Members"] = {"value": ["Existing"], "guid_list": ["existing-guid"]} + p = _processor(ReferenceDataElementProcessor, client, "Create", "Reference Data Set", attrs, + "ReferenceDataSet", "ReferenceDataSet::Order Status") + assert await p.apply_changes() == _g(1) + + calls = client.reference_data.calls + creates = [c[1]["properties"] for c in calls if c[0] == "create"] + assert creates[0]["class"] == "ReferenceDataSetProperties" + assert [(c["class"], c["qualifiedName"], c["preferredValue"]) for c in creates[1:]] == [ + ("ReferenceDataValueProperties", "ReferenceDataSet::Order Status::PENDING", "PENDING"), + ("ReferenceDataValueProperties", "ReferenceDataSet::Order Status::Washington, D.C.", "Washington, D.C."), + ("ReferenceDataValueProperties", "ReferenceDataSet::Order Status::SHIPPED", "SHIPPED"), + ] + links = {c[2]: c[3]["properties"] for c in calls if c[0] == "link_valid_value_member"} + assert set(links) == {"existing-guid", _g(2), _g(3), _g(4)} + assert links["existing-guid"].get("ordinal") == 1 + assert links[_g(2)].get("isDefaultValue") is True and links[_g(2)]["ordinal"] == 2 + assert links[_g(4)].get("isDefaultValue") is True and links[_g(4)]["ordinal"] == 9 + assert not any(c[0] == "detach_valid_value_member" for c in calls) + + +async def test_rerun_unlinks_dropped_members_and_skips_unchanged(): + client = _Client(current_members=[("keep", False, 1), ("dropped", False, 2)]) + attrs = _a(Display_Name="Order Status") + attrs["Members"] = {"value": ["Keep"], "guid_list": ["keep"]} + p = _processor(ReferenceDataElementProcessor, client, "Update", "Reference Data Set", attrs, + "ReferenceDataSet", "ReferenceDataSet::Order Status", + as_is={"elementHeader": {"guid": "set-guid"}}) + await p.apply_changes() + calls = client.reference_data.calls + assert calls[0][0] == "update" and calls[0][1] == "set-guid" + assert not any(c[0] == "link_valid_value_member" for c in calls) # unchanged -> no relink + assert [c[1:3] for c in calls if c[0] == "detach_valid_value_member"] == [("set-guid", "dropped")] + + +async def test_update_without_member_attributes_leaves_membership_alone(): + client = _Client(current_members=[("keep", False, 1)]) + p = _processor(ReferenceDataElementProcessor, client, "Update", "Reference Data Set", + _a(Display_Name="Order Status", Description="new"), "ReferenceDataSet", + "ReferenceDataSet::Order Status", as_is={"elementHeader": {"guid": "set-guid"}}) + await p.apply_changes() + assert [c[0] for c in client.reference_data.calls] == ["update"] + + +async def test_create_value_joins_its_set(): + client = _Client() + attrs = _a(Display_Name="PENDING", Preferred_Value="PENDING", Is_Default_Member=True, Member_Ordinal=3) + attrs["In Reference Data Set"] = {"value": "Order Status", "guid": "set-guid"} + p = _processor(ReferenceDataElementProcessor, client, "Create", "Reference Data Value", attrs, + "ReferenceDataValue", "ReferenceDataValue::PENDING") + await p.apply_changes() + create, link = client.reference_data.calls + assert create[1]["properties"]["class"] == "ReferenceDataValueProperties" + assert create[1]["properties"]["preferredValue"] == "PENDING" + assert link[0] == "link_valid_value_member" and link[1:3] == ("set-guid", _g(1)) + assert link[3]["properties"] == {"class": "ValidValueMemberProperties", "isDefaultValue": True, "ordinal": 3} + + +# ── relationship links ───────────────────────────────────────────────────────── + +@pytest.mark.parametrize("verb, expected", [("Link", "link_mapped_valid_values"), + ("Detach", "detach_mapped_valid_values")]) +async def test_link_processor_branches_on_verb(verb, expected): + client = _Client() + attrs = _a(Association_Description="same meaning", Confidence="80") + attrs["Valid Value 1"] = {"value": "a", "guid": "g1"} + attrs["Valid Value 2"] = {"value": "b", "guid": "g2"} + p = _processor(ValidValueLinkProcessor, client, verb, "Mapped Valid Values", attrs, "ValidValuesMapping") + await p.apply_changes() + (call,) = client.reference_data.calls + assert call[0] == expected and call[1:3] == ("g1", "g2") + if verb == "Link": + assert call[3]["properties"] == {"class": "ValidValuesMappingProperties", + "associationDescription": "same meaning", "confidence": 80} + + +async def test_link_implementation_properties(): + client = _Client() + attrs = _a(Symbolic_Name="PEND", Implementation_Value="P") + attrs["Valid Value"] = {"value": "PENDING", "guid": "vv"} + attrs["Implementation Element"] = {"value": "orders.status", "guid": "col"} + p = _processor(ValidValueLinkProcessor, client, "Link", "Valid Value Implementation", attrs, + "ValidValuesImplementation") + await p.apply_changes() + (call,) = client.reference_data.calls + assert call[0] == "link_valid_value_implementation" and call[1:3] == ("vv", "col") + assert call[3]["properties"] == {"class": "ValidValuesImplementationProperties", + "symbolicName": "PEND", "implementationValue": "P"} + + +async def test_assignment_links_send_their_relationship_properties(): + client = _Client() + attrs = _a(Attribute_Name="status", Confidence="70", Steward="erin", Notes="checked") + attrs["Element Id"] = {"value": "ann", "guid": "ann-guid"} + attrs["Reference Value"] = {"value": "PENDING", "guid": "vv"} + p = _processor(ReferenceDataLinkProcessor, client, "Link", "Reference Value Assignment", attrs, + "ReferenceValueAssignment") + await p.apply_changes() + props = client.reference_data.calls[0][3]["properties"] + assert props == {"class": "ReferenceValueAssignmentProperties", "attributeName": "status", + "confidence": 70, "steward": "erin", "notes": "checked"} + + client = _Client() + attrs = {"Element Id": {"value": "f", "guid": "f-guid"}, "Valid Value Set": {"value": "s", "guid": "s-guid"}} + p = _processor(ReferenceDataLinkProcessor, client, "Link", "Element to Valid Values", attrs, + "ValidValuesAssignment") + await p.apply_changes() + assert client.reference_data.calls[0][3]["properties"]["strictRequirement"] is True + + +# ── Valid Metadata ───────────────────────────────────────────────────────────── + +async def test_setup_valid_metadata_value_table(): + client = _Client() + attrs = _a(Metadata_Property_Name="projectHealth", Type_Name="Project", + Metadata_Value_Table=[{"Preferred Value": "On Track", "Description": "fine"}, + {"Preferred Value": "At Risk"}, {"Description": "no value"}]) + p = _processor(ValidMetadataValueProcessor, client, "Setup", "Valid Metadata Value", attrs) + await p.apply_changes() + assert client.valid_metadata.calls == [ + ("projectHealth", "Project", {"displayName": "On Track", "description": "fine", "preferredValue": "On Track"}), + ("projectHealth", "Project", {"displayName": "At Risk", "description": None, "preferredValue": "At Risk"}), + ] + + +async def test_setup_valid_metadata_value_needs_a_value(): + p = _processor(ValidMetadataValueProcessor, _Client(), "Setup", "Valid Metadata Value", + _a(Metadata_Property_Name="projectHealth")) + with pytest.raises(Exception, match="Preferred Value or a Metadata Value Table"): + await p.apply_changes()