omnata-plugin-runtime 0.6.10a180__py3-none-any.whl → 0.7.0a182__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- 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
|