omnata-plugin-runtime 0.8.2__tar.gz → 0.8.3a204__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/PKG-INFO +1 -1
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/pyproject.toml +1 -1
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/configuration.py +1 -0
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/omnata_plugin.py +35 -1
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/LICENSE +0 -0
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/README.md +0 -0
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/__init__.py +0 -0
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/api.py +0 -0
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/forms.py +0 -0
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/logging.py +0 -0
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/plugin_entrypoints.py +0 -0
- {omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/rate_limiting.py +0 -0
@@ -704,6 +704,7 @@ class OutboundSyncConfigurationParameters(SyncConfigurationParameters):
|
|
704
704
|
"""
|
705
705
|
|
706
706
|
connection_method: str
|
707
|
+
target_type: Optional[str] = Field(default=None, description="The label of the OutboundTargetType selected by the user")
|
707
708
|
connection_parameters: Optional[Dict[str, StoredConfigurationValue]] = Field(default=None)
|
708
709
|
connection_secrets: Optional[Dict[str, StoredConfigurationValue]] = Field(default=None)
|
709
710
|
sync_parameters: Optional[Dict[str, StoredConfigurationValue]] = Field(default=None)
|
@@ -111,11 +111,45 @@ class PluginManifest(SubscriptableBaseModel):
|
|
111
111
|
developer_name: str
|
112
112
|
docs_url: str
|
113
113
|
supports_inbound: bool
|
114
|
-
supported_outbound_strategies: List[OutboundSyncStrategy]
|
114
|
+
supported_outbound_strategies: List[OutboundSyncStrategy] = Field(
|
115
|
+
...,
|
116
|
+
deprecated=True,
|
117
|
+
title="A list of sync strategies that the plugin can support. This has been replaced by OutboundTargetTypes."
|
118
|
+
)
|
115
119
|
supported_connectivity_options: List[ConnectivityOption] = Field(
|
116
120
|
default_factory=lambda: [ConnectivityOption.DIRECT]
|
117
121
|
)
|
122
|
+
outbound_target_types: List[OutboundTargetType] = Field(
|
123
|
+
...,
|
124
|
+
title="A list of target types that the plugin can support. This replaces the deprecated 'supported_outbound_strategies'."
|
125
|
+
)
|
118
126
|
|
127
|
+
class OutboundTargetType(BaseModel):
|
128
|
+
"""
|
129
|
+
Some products have APIs that can be grouped together in ways that support different strategies and may or may not support toggling.
|
130
|
+
The label should answer the question: "What would you like to sync to?"
|
131
|
+
Examples:
|
132
|
+
- A CRM system may have "Standard objects", "Custom objects" or "Events"
|
133
|
+
- A messaging platform may have "Channels", "Users" or "Messages"
|
134
|
+
- A marketing platform may have "Customer lists", "Campaigns" or "Automations"
|
135
|
+
- An Ad platform may have "Campaigns", "Ad groups" or "Ads"
|
136
|
+
The target type cannot be changed after the sync is created.
|
137
|
+
"""
|
138
|
+
label: str
|
139
|
+
supported_strategies: List[OutboundSyncStrategy]
|
140
|
+
target_toggle_field: Optional[OutboundTargetToggleField] = None
|
141
|
+
|
142
|
+
class OutboundTargetToggleField(BaseModel):
|
143
|
+
"""
|
144
|
+
Accomodates testing outbound syncs in production by nominating a form field who's value stays in the branch.
|
145
|
+
For example, a messaging plugin could have a "channel" field to route messages to an alternate location.
|
146
|
+
Or, a marketing platform could have an alternate customer list name which is connected to test campaigns that don't actually send.
|
147
|
+
The field_name must match a field which will be returned by the outbound_configuration_form for this target type.
|
148
|
+
The reason this is set separately here instead of as a flag on the FormField, is so that the sync engine can know
|
149
|
+
whether or not location toggling is supported for a target type without calling the plugin.
|
150
|
+
"""
|
151
|
+
field_name: str = Field(..., title="The name of the form field that toggles the location")
|
152
|
+
label: str = Field(..., title="Used in the UI when describing the location. It should completely describe the behaviour when used in a sentence like this: 'Changes will be tested against a different <label> when running in a branch.'")
|
119
153
|
|
120
154
|
class SnowflakeFunctionParameter(BaseModel):
|
121
155
|
"""
|
File without changes
|
File without changes
|
File without changes
|
{omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/api.py
RENAMED
File without changes
|
{omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/forms.py
RENAMED
File without changes
|
{omnata_plugin_runtime-0.8.2 → omnata_plugin_runtime-0.8.3a204}/src/omnata_plugin_runtime/logging.py
RENAMED
File without changes
|
File without changes
|
File without changes
|