# coding: utf-8
"""
LUSID API
FINBOURNE Technology # noqa: E501
Contact: info@finbourne.com
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import json
import pprint
import re # noqa: F401
from aenum import Enum, no_arg
from typing import List, Dict, Optional, Any, Union, TYPE_CHECKING
from typing_extensions import Annotated
from pydantic.v1 import BaseModel, StrictStr, StrictInt, StrictBool, StrictFloat, StrictBytes, Field, validator, ValidationError, conlist, constr
from datetime import datetime
[docs]
class PropertyDomain(str, Enum):
"""
See https://wiki.finbourne.com/information/domain-model-properties Each domain refers to a logical set of properties which reside within it.
"""
"""
allowed enum values
"""
NOTDEFINED = 'NotDefined'
TRANSACTION = 'Transaction'
PORTFOLIO = 'Portfolio'
HOLDING = 'Holding'
REFERENCEHOLDING = 'ReferenceHolding'
TRANSACTIONCONFIGURATION = 'TransactionConfiguration'
INSTRUMENT = 'Instrument'
CUTLABELDEFINITION = 'CutLabelDefinition'
ANALYTIC = 'Analytic'
PORTFOLIOGROUP = 'PortfolioGroup'
PERSON = 'Person'
ACCESSMETADATA = 'AccessMetadata'
ORDER = 'Order'
UNITRESULT = 'UnitResult'
MARKETDATA = 'MarketData'
CONFIGURATIONRECIPE = 'ConfigurationRecipe'
ALLOCATION = 'Allocation'
CALENDAR = 'Calendar'
LEGALENTITY = 'LegalEntity'
INVESTORRECORD = 'InvestorRecord'
INVESTMENTACCOUNT = 'InvestmentAccount'
PLACEMENT = 'Placement'
EXECUTION = 'Execution'
BLOCK = 'Block'
PARTICIPATION = 'Participation'
PACKAGE = 'Package'
ORDERINSTRUCTION = 'OrderInstruction'
NEXTBESTACTION = 'NextBestAction'
CUSTOMENTITY = 'CustomEntity'
INSTRUMENTEVENT = 'InstrumentEvent'
ACCOUNT = 'Account'
CHARTOFACCOUNTS = 'ChartOfAccounts'
CUSTODIANACCOUNT = 'CustodianAccount'
CHECKDEFINITION = 'CheckDefinition'
ABOR = 'Abor'
ABORCONFIGURATION = 'AborConfiguration'
FUND = 'Fund'
FUNDCONFIGURATION = 'FundConfiguration'
FEE = 'Fee'
RECONCILIATION = 'Reconciliation'
PROPERTYDEFINITION = 'PropertyDefinition'
COMPLIANCE = 'Compliance'
DIARYENTRY = 'DiaryEntry'
LEG = 'Leg'
DERIVEDVALUATION = 'DerivedValuation'
TIMELINE = 'Timeline'
CLOSEDPERIOD = 'ClosedPeriod'
ADDRESSKEYDEFINITION = 'AddressKeyDefinition'
AMORTISATIONRULESET = 'AmortisationRuleSet'
ANALYTICSSETINVENTORY = 'AnalyticsSetInventory'
ATOMUNITRESULT = 'AtomUnitResult'
CLEARDOWNMODULE = 'CleardownModule'
COMPLEXMARKETDATA = 'ComplexMarketData'
COMPLIANCERUNSUMMARY = 'ComplianceRunSummary'
COMPLIANCERULE = 'ComplianceRule'
COMPLIANCERUNINFO = 'ComplianceRunInfo'
CORPORATEACTIONSOURCE = 'CorporateActionSource'
COUNTERPARTYAGREEMENT = 'CounterpartyAgreement'
CUSTOMENTITYDEFINITION = 'CustomEntityDefinition'
DATATYPE = 'DataType'
DIALECT = 'Dialect'
EVENTHANDLER = 'EventHandler'
GENERALLEDGERPROFILE = 'GeneralLedgerProfile'
POSTINGMODULE = 'PostingModule'
QUOTE = 'Quote'
RECIPECOMPOSER = 'RecipeComposer'
RECONCILIATIONRUNBREAK = 'ReconciliationRunBreak'
REFERENCELIST = 'ReferenceList'
RELATIONDEFINITION = 'RelationDefinition'
RETURNBLOCKINDEX = 'ReturnBlockIndex'
SRSDOCUMENT = 'SRSDocument'
SRSINDEX = 'SRSIndex'
TRANSACTIONTEMPLATE = 'TransactionTemplate'
TRANSACTIONTEMPLATESCOPE = 'TransactionTemplateScope'
TRANSACTIONTYPE = 'TransactionType'
TRANSACTIONTYPECONFIG = 'TransactionTypeConfig'
TRANSLATIONSCRIPT = 'TranslationScript'
TASKDEFINITION = 'TaskDefinition'
TASKINSTANCE = 'TaskInstance'
WORKER = 'Worker'
STAGINGRULESET = 'StagingRuleSet'
IDENTIFIERDEFINITION = 'IdentifierDefinition'
SETTLEMENTINSTRUCTION = 'SettlementInstruction'
TRANSACTIONFEETYPE = 'TransactionFeeType'
ALLOCATIONMETHOD = 'AllocationMethod'
TRANSACTIONFEE = 'TransactionFee'
[docs]
@classmethod
def from_json(cls, json_str: str) -> PropertyDomain:
"""Create an instance of PropertyDomain from a JSON string"""
return PropertyDomain(json.loads(json_str))