omnata-plugin-runtime 0.6.10a180__py3-none-any.whl → 0.7.0a182__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- omnata_plugin_runtime/configuration.py +8 -0
- omnata_plugin_runtime/forms.py +1 -0
- omnata_plugin_runtime/omnata_plugin.py +7 -2
- omnata_plugin_runtime/plugin_entrypoints.py +5 -3
- {omnata_plugin_runtime-0.6.10a180.dist-info → omnata_plugin_runtime-0.7.0a182.dist-info}/METADATA +1 -1
- omnata_plugin_runtime-0.7.0a182.dist-info/RECORD +12 -0
- omnata_plugin_runtime-0.6.10a180.dist-info/RECORD +0 -12
- {omnata_plugin_runtime-0.6.10a180.dist-info → omnata_plugin_runtime-0.7.0a182.dist-info}/LICENSE +0 -0
- {omnata_plugin_runtime-0.6.10a180.dist-info → omnata_plugin_runtime-0.7.0a182.dist-info}/WHEEL +0 -0
@@ -37,6 +37,14 @@ class InboundStorageBehaviour(str, Enum):
|
|
37
37
|
MERGE = "merge"
|
38
38
|
REPLACE = "replace" # now deprecated, full refreshes now use merge
|
39
39
|
|
40
|
+
class ConnectivityOption(str, Enum):
|
41
|
+
"""
|
42
|
+
Describes the connectivity options available to a plugin.
|
43
|
+
These result in slightly different network rules and connection onboarding.
|
44
|
+
"""
|
45
|
+
DIRECT = "direct"
|
46
|
+
NGROK = "ngrok"
|
47
|
+
PRIVATELINK = "privatelink"
|
40
48
|
|
41
49
|
class InboundSyncStrategy(str, Enum):
|
42
50
|
FULL_REFRESH = "Full Refresh"
|
omnata_plugin_runtime/forms.py
CHANGED
@@ -489,5 +489,6 @@ class ConnectionMethod(SubscriptableBaseModel):
|
|
489
489
|
name: str
|
490
490
|
fields: List[FormFieldBase]
|
491
491
|
oauth_template: Optional[SecurityIntegrationTemplate] = Field(default=None)
|
492
|
+
# This is now deprecated, instead signal ngrok support via the plugin manifest
|
492
493
|
ngrok_tunnel_configuration: Optional[NGrokMTLSTunnel] = Field(default=None)
|
493
494
|
description: str = Field(default="")
|
@@ -72,7 +72,8 @@ from .configuration import (
|
|
72
72
|
StreamConfiguration,
|
73
73
|
SubscriptableBaseModel,
|
74
74
|
SyncConfigurationParameters,
|
75
|
-
get_secrets
|
75
|
+
get_secrets,
|
76
|
+
ConnectivityOption
|
76
77
|
)
|
77
78
|
from .forms import (
|
78
79
|
ConnectionMethod,
|
@@ -101,6 +102,7 @@ class PluginManifest(SubscriptableBaseModel):
|
|
101
102
|
:param str docs_url: The URL where plugin documentation can be found, e.g. "https://docs.omnata.com"
|
102
103
|
:param bool supports_inbound: A flag to indicate whether or not the plugin supports inbound sync. Support for inbound sync behaviours (full/incremental) is defined per inbound stream.
|
103
104
|
:param List[OutboundSyncStrategy] supported_outbound_strategies: A list of sync strategies that the plugin can support, e.g. create,upsert.
|
105
|
+
:param List[ConnectivityOption] supported_connectivity_options: A list of connectivity options that the plugin can support, e.g. direct,ngrok,privatelink
|
104
106
|
"""
|
105
107
|
|
106
108
|
plugin_id: str
|
@@ -110,6 +112,9 @@ class PluginManifest(SubscriptableBaseModel):
|
|
110
112
|
docs_url: str
|
111
113
|
supports_inbound: bool
|
112
114
|
supported_outbound_strategies: List[OutboundSyncStrategy]
|
115
|
+
supported_connectivity_options: List[ConnectivityOption] = Field(
|
116
|
+
default_factory=lambda: [ConnectivityOption.DIRECT]
|
117
|
+
)
|
113
118
|
|
114
119
|
|
115
120
|
class SnowflakeFunctionParameter(BaseModel):
|
@@ -1643,7 +1648,7 @@ class OmnataPlugin(ABC):
|
|
1643
1648
|
)
|
1644
1649
|
|
1645
1650
|
@abstractmethod
|
1646
|
-
def connection_form(self) -> List[ConnectionMethod]:
|
1651
|
+
def connection_form(self,connectivity_option:ConnectivityOption) -> List[ConnectionMethod]:
|
1647
1652
|
"""
|
1648
1653
|
Returns a form definition so that user input can be collected, in order to connect to an app
|
1649
1654
|
|
@@ -20,7 +20,8 @@ from .configuration import (
|
|
20
20
|
OutboundSyncStrategy,
|
21
21
|
StoredConfigurationValue,
|
22
22
|
StoredMappingValue,
|
23
|
-
get_secrets
|
23
|
+
get_secrets,
|
24
|
+
ConnectivityOption
|
24
25
|
)
|
25
26
|
from .forms import ConnectionMethod, FormInputField, FormOption
|
26
27
|
from .logging import OmnataPluginLogHandler
|
@@ -381,9 +382,10 @@ class PluginEntrypoint:
|
|
381
382
|
results.append(script_result.model_dump())
|
382
383
|
return results
|
383
384
|
|
384
|
-
def connection_form(self):
|
385
|
+
def connection_form(self,connectivity_option: str):
|
386
|
+
connectivity_option = TypeAdapter(ConnectivityOption).validate_python(connectivity_option)
|
385
387
|
logger.info("Entered connection_form method")
|
386
|
-
form: List[ConnectionMethod] = self._plugin_instance.connection_form()
|
388
|
+
form: List[ConnectionMethod] = self._plugin_instance.connection_form(connectivity_option=connectivity_option)
|
387
389
|
return [f.model_dump() for f in form]
|
388
390
|
|
389
391
|
def create_billing_events(self, session, event_request: Dict):
|
@@ -0,0 +1,12 @@
|
|
1
|
+
omnata_plugin_runtime/__init__.py,sha256=MS9d1whnfT_B3-ThqZ7l63QeC_8OEKTuaYV5wTwRpBA,1576
|
2
|
+
omnata_plugin_runtime/api.py,sha256=FxzTqri4no8ClkOm7vZADG8aD47jcGBCTTQDEORmOJM,6326
|
3
|
+
omnata_plugin_runtime/configuration.py,sha256=hUgh6XNckgf0B8oX1uVz8DaaCbqpnH5chVf_6GlYyHQ,38369
|
4
|
+
omnata_plugin_runtime/forms.py,sha256=ueodN2GIMS5N9fqebpY4uNGJnjEb9HcuaVQVfWH-cGg,19838
|
5
|
+
omnata_plugin_runtime/logging.py,sha256=bn7eKoNWvtuyTk7RTwBS9UARMtqkiICtgMtzq3KA2V0,3272
|
6
|
+
omnata_plugin_runtime/omnata_plugin.py,sha256=aggjb_CTTjhgqjS8CHPOm4ENU0jNcYoT6LC8yI1IeF4,130048
|
7
|
+
omnata_plugin_runtime/plugin_entrypoints.py,sha256=lPy1YcbpU2wF3toj863i2TavNmNbhtNNWAgY2s0FKwc,28807
|
8
|
+
omnata_plugin_runtime/rate_limiting.py,sha256=JukA0l7x7Klqz2b54mR-poP7NRxpUHgWSGp6h0B8u6Q,25612
|
9
|
+
omnata_plugin_runtime-0.7.0a182.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
|
10
|
+
omnata_plugin_runtime-0.7.0a182.dist-info/METADATA,sha256=pL4Ip9lgrpc4x_lcJvNHRvlvSpWbm-naa3QcI2x03Ao,1985
|
11
|
+
omnata_plugin_runtime-0.7.0a182.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
12
|
+
omnata_plugin_runtime-0.7.0a182.dist-info/RECORD,,
|
@@ -1,12 +0,0 @@
|
|
1
|
-
omnata_plugin_runtime/__init__.py,sha256=MS9d1whnfT_B3-ThqZ7l63QeC_8OEKTuaYV5wTwRpBA,1576
|
2
|
-
omnata_plugin_runtime/api.py,sha256=FxzTqri4no8ClkOm7vZADG8aD47jcGBCTTQDEORmOJM,6326
|
3
|
-
omnata_plugin_runtime/configuration.py,sha256=TI6GaVFhewVawBCaYN34GujY57qEP6q2nik4YpSEk5s,38100
|
4
|
-
omnata_plugin_runtime/forms.py,sha256=GzSPEwcijsoPCXEO1mHiE8ylvX_KSE5TkhwqkymA2Ss,19755
|
5
|
-
omnata_plugin_runtime/logging.py,sha256=bn7eKoNWvtuyTk7RTwBS9UARMtqkiICtgMtzq3KA2V0,3272
|
6
|
-
omnata_plugin_runtime/omnata_plugin.py,sha256=qbcpY2EGFE55GVPuJCWWVVPV2aSf_Gs0AVio5A0kZmc,129687
|
7
|
-
omnata_plugin_runtime/plugin_entrypoints.py,sha256=cQRBzNQiKFO088FTzDAyhxp_meJxxuIy1lX8uA0o7FI,28620
|
8
|
-
omnata_plugin_runtime/rate_limiting.py,sha256=JukA0l7x7Klqz2b54mR-poP7NRxpUHgWSGp6h0B8u6Q,25612
|
9
|
-
omnata_plugin_runtime-0.6.10a180.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
|
10
|
-
omnata_plugin_runtime-0.6.10a180.dist-info/METADATA,sha256=wkOPISq42MvjXA9ECBf2ajfv8NGrZtufBXmeMElGAg4,1986
|
11
|
-
omnata_plugin_runtime-0.6.10a180.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
12
|
-
omnata_plugin_runtime-0.6.10a180.dist-info/RECORD,,
|
{omnata_plugin_runtime-0.6.10a180.dist-info → omnata_plugin_runtime-0.7.0a182.dist-info}/LICENSE
RENAMED
File without changes
|
{omnata_plugin_runtime-0.6.10a180.dist-info → omnata_plugin_runtime-0.7.0a182.dist-info}/WHEEL
RENAMED
File without changes
|