Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escape special characters +-&|!(){}[]^"~*?:\ - e.g. \+ \* \!
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
 
← Back to post

Revisions 11

4 years ago
Robert Hotz
10 × 2 Administrator
**SSO** First, we add a new vendor config to the SSO: ```python VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType ``` ```python self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
**SSO** First, we add a new vendor config to the SSO: ```python VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
4 years ago
Robert Hotz
10 × 2 Administrator
**SSO** First, we add a new vendor config to the SSO: ```python VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
# SSO First, we add a new vendor config to the SSO: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # [...] self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
4 years ago
Robert Hotz
10 × 2 Administrator
# SSO First, we add a new vendor config to the SSO: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # [...] self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
**SSO** First, we add a new vendor config to the SSO: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # ... self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
4 years ago
Robert Hotz
10 × 2 Administrator
**SSO** First, we add a new vendor config to the SSO: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # ... self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
# Tecton First, we add a new wedge config to the extension: ```python WEDGE_ADDRESS_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a custom WedgeAddressConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) First, we create our custom step: ```python import json from q2_sdk.core.install_steps.base import InstallStep, InstallStepAttribute from q2_sdk.hq.db.wedge_address import WedgeAddress class WedgeAddressConfig(InstallStep): def __init__(self, short_name: str, config_name: str, config_value: str, **kwargs): super().__init__(**kwargs) self.short_name = InstallStepAttribute(short_name) self.config_name = InstallStepAttribute(config_name) self.config_value = InstallStepAttribute(config_value) async def install(self) -> None: wedge_address_dbo = WedgeAddress(self.logger) wedge_address = await wedge_address_dbo.get_by_name( name=self.short_name.value ) config = json.loads( wedge_address.Config.pyval ) config[self.config_name.value] = self.config_value.value await wedge_address_dbo.update( wedge_address_type_name=self.short_name.value, config=config ) ``` Then, we wire it up in the DBPlan: ```python # db_plan.py from q2_sdk.core.configuration import settings # [...] self.wedge_address_configs = [ WedgeAddressConfig( short_name='foodbard', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba ) ] ``` We can now access the ABA in our extension code like any other wedge config: ```python # extension.py async def default(self): return self.get_tecton_form( f'Configured ABA: {self.db_config["aba"]}', ) ``` # SSO First, we add a new vendor config to the extension: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # [...] self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
4 years ago
Robert Hotz
10 × 2 Administrator
# Tecton First, we add a new wedge config to the extension: ```python WEDGE_ADDRESS_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a custom WedgeAddressConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) First, we create our custom step: ```python import json from q2_sdk.core.install_steps.base import InstallStep, InstallStepAttribute from q2_sdk.hq.db.wedge_address import WedgeAddress class WedgeAddressConfig(InstallStep): def __init__(self, short_name: str, config_name: str, config_value: str, **kwargs): super().__init__(**kwargs) self.short_name = InstallStepAttribute(short_name) self.config_name = InstallStepAttribute(config_name) self.config_value = InstallStepAttribute(config_value) async def install(self) -> None: wedge_address_dbo = WedgeAddress(self.logger) wedge_address = await wedge_address_dbo.get_by_name( name=self.short_name.value ) config = json.loads( wedge_address.Config.pyval ) config[self.config_name.value] = self.config_value.value await wedge_address_dbo.update( wedge_address_type_name=self.short_name.value, config=config ) ``` Then, we wire it up in the DBPlan: ```python # db_plan.py from q2_sdk.core.configuration import settings # [...] self.wedge_address_configs = [ WedgeAddressConfig( short_name='foodbard', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba ) ] ``` We can now access the ABA in our extension code like any other wedge config: ```python # extension.py async def default(self): return self.get_tecton_form( f'Configured ABA: {self.db_config["aba"]}', ) ``` # SSO First, we add a new vendor config to the extension: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # [...] self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
**SSO** First, we add a new vendor config to the SSO: ```python VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ``` self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ``` async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
4 years ago
Robert Hotz
10 × 2 Administrator
**SSO** First, we add a new vendor config to the SSO: ```python VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ``` self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ``` async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
**SSO** First, we add a new vendor config to the SSO: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # [...] self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
4 years ago
Robert Hotz
10 × 2 Administrator
**SSO** First, we add a new vendor config to the SSO: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # [...] self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
**SSO** First, we add a new vendor config to the SSO: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType ``` ```python # db_plan.py self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
4 years ago
Robert Hotz
10 × 2 Administrator
**SSO** First, we add a new vendor config to the SSO: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType ``` ```python # db_plan.py self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
First, we add a new vendor config to the extension: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # [...] self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
4 years ago
Robert Hotz
10 × 2 Administrator
First, we add a new vendor config to the extension: ```python # extension.py VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python # db_plan.py from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType # [...] self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python # extension.py async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
**SSO** First, we add a new vendor config to the SSO: ```python VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
4 years ago
Robert Hotz
10 × 2 Administrator
**SSO** First, we add a new vendor config to the SSO: ```python VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ```python from q2_sdk.core.configuration import settings from q2_sdk.core.install_steps import db_plan from q2_sdk.core.install_steps.vendor_config import ConfigDataType self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ```python async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
**SSO** First, we add a new vendor config to the SSO: ``` VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ``` self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ``` async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```
Original
Robert Hotz
10 × 2 Administrator
How do I identify the FI in a multitenant extension?

**SSO** First, we add a new vendor config to the SSO: ``` VENDOR_CONFIGS = { 'aba': 'AUTO_POPULATED' } ``` Next, we need to set the value. While the ABA isn't populated at runtime, it is populated at install time. This allows us to automatically populate it using a VendorConfig step of the DBPlan so it doesn't have to be manually populated. (This is why we defaulted the value to `AUTO_POPULATED`; we don't want to cause confusion at install time) ``` self.vendor_config = [ db_plan.VendorConfig( vendor_name='your_sso_name', config_name='aba', config_value=settings.HQ_CREDENTIALS.aba, data_type=ConfigDataType.String ) ] ``` We can now access the ABA in our extension code like any other vendor config: ``` async def default(self): return Q2SSOResponse( ResponseType.HTML, response=f'Configured ABA: {self.vendor_configs["aba"]}' ) ```