omnata-plugin-runtime 0.9.0a208__py3-none-any.whl → 0.9.0a209__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 +40 -0
- omnata_plugin_runtime/omnata_plugin.py +2 -41
- {omnata_plugin_runtime-0.9.0a208.dist-info → omnata_plugin_runtime-0.9.0a209.dist-info}/METADATA +1 -1
- {omnata_plugin_runtime-0.9.0a208.dist-info → omnata_plugin_runtime-0.9.0a209.dist-info}/RECORD +6 -6
- {omnata_plugin_runtime-0.9.0a208.dist-info → omnata_plugin_runtime-0.9.0a209.dist-info}/LICENSE +0 -0
- {omnata_plugin_runtime-0.9.0a208.dist-info → omnata_plugin_runtime-0.9.0a209.dist-info}/WHEEL +0 -0
@@ -220,6 +220,46 @@ STANDARD_OUTBOUND_SYNC_ACTIONS: Dict[str, OutboundSyncAction] = {
|
|
220
220
|
"Recreate": RecreateSyncAction,
|
221
221
|
}
|
222
222
|
|
223
|
+
class OutboundTargetParameter(BaseModel):
|
224
|
+
"""
|
225
|
+
Accomodates testing outbound syncs in production by nominating a form field who's value stays in the branch.
|
226
|
+
The reason this information is set statically here instead of as a flag on the FormField, is so that the sync engine
|
227
|
+
can have this information readily available without calling the plugin.
|
228
|
+
"""
|
229
|
+
field_name: str = Field(title="""The name of the form field that toggles the location, e.g. 'channel','customer_list'.
|
230
|
+
This must match a field which will be returned by the outbound_configuration_form for this target type.""")
|
231
|
+
is_branching_toggle: bool = Field(title="""Whether or not this field is a target toggle for branching.
|
232
|
+
If true, the value of this field will be used to determine the location of the sync in production.
|
233
|
+
For example, a messaging plugin could have a "channel" field to route messages to an alternate location.
|
234
|
+
Or, a marketing platform could have an alternate customer list name which is connected to test campaigns that don't actually send.
|
235
|
+
|
236
|
+
This should only be used in situations where all other sync parameters and field mappings can remain consistent between branches.""")
|
237
|
+
label: str = Field(title="""Used in the UI when describing the location., e.g. 'Channel','Customer List'.
|
238
|
+
It should completely describe the behaviour when used in a sentence like this:
|
239
|
+
'Changes will be tested against a different <label> when running in a branch.'""")
|
240
|
+
|
241
|
+
class OutboundTargetType(BaseModel):
|
242
|
+
"""
|
243
|
+
Some products have APIs that can be grouped together in ways that support different strategies and may or may not support toggling.
|
244
|
+
The label should answer the question: "What would you like to sync to?"
|
245
|
+
Examples:
|
246
|
+
- A CRM system may have "Standard objects", "Custom objects" or "Events"
|
247
|
+
- A messaging platform may have "Channels", "Users" or "Messages"
|
248
|
+
- A marketing platform may have "Customer lists", "Campaigns" or "Automations"
|
249
|
+
- An Ad platform may have "Campaigns", "Ad groups" or "Ads"
|
250
|
+
The target type cannot be changed after the sync is created.
|
251
|
+
"""
|
252
|
+
label: str
|
253
|
+
supported_strategies: List[str] = Field(
|
254
|
+
title="The names of the sync strategies supported by this target. Each one must match the name of a sync strategy declared in supported_outbound_strategies."
|
255
|
+
)
|
256
|
+
target_parameter: Optional[OutboundTargetParameter] = Field(
|
257
|
+
default=None,
|
258
|
+
title="""The sync configuration parameter that designates the target object, if applicable. For example, 'object_name' or 'channel_name'.
|
259
|
+
This will be used for two purposes:
|
260
|
+
1. To show a more readable indication of what this sync is doing in the UI, e.g. Standard object: Account
|
261
|
+
2. Designates this field as serving as a br toggle for testing in production.""")
|
262
|
+
|
223
263
|
|
224
264
|
class OutboundSyncStrategy(SubscriptableBaseModel, ABC):
|
225
265
|
"""OutboundSyncStrategy is a base class for all outbound sync strategies.
|
@@ -74,7 +74,8 @@ from .configuration import (
|
|
74
74
|
SubscriptableBaseModel,
|
75
75
|
SyncConfigurationParameters,
|
76
76
|
get_secrets,
|
77
|
-
ConnectivityOption
|
77
|
+
ConnectivityOption,
|
78
|
+
OutboundTargetType,
|
78
79
|
)
|
79
80
|
from .forms import (
|
80
81
|
ConnectionMethod,
|
@@ -122,46 +123,6 @@ class PluginManifest(SubscriptableBaseModel):
|
|
122
123
|
title="An optional list of target types that the plugin can support."
|
123
124
|
)
|
124
125
|
|
125
|
-
class OutboundTargetType(BaseModel):
|
126
|
-
"""
|
127
|
-
Some products have APIs that can be grouped together in ways that support different strategies and may or may not support toggling.
|
128
|
-
The label should answer the question: "What would you like to sync to?"
|
129
|
-
Examples:
|
130
|
-
- A CRM system may have "Standard objects", "Custom objects" or "Events"
|
131
|
-
- A messaging platform may have "Channels", "Users" or "Messages"
|
132
|
-
- A marketing platform may have "Customer lists", "Campaigns" or "Automations"
|
133
|
-
- An Ad platform may have "Campaigns", "Ad groups" or "Ads"
|
134
|
-
The target type cannot be changed after the sync is created.
|
135
|
-
"""
|
136
|
-
label: str
|
137
|
-
supported_strategies: List[str] = Field(
|
138
|
-
title="The names of the sync strategies supported by this target. Each one must match the name of a sync strategy declared in supported_outbound_strategies."
|
139
|
-
)
|
140
|
-
target_parameter: Optional[OutboundTargetParameter] = Field(
|
141
|
-
default=None,
|
142
|
-
title="""The sync configuration parameter that designates the target object, if applicable. For example, 'object_name' or 'channel_name'.
|
143
|
-
This will be used for two purposes:
|
144
|
-
1. To show a more readable indication of what this sync is doing in the UI, e.g. Standard object: Account
|
145
|
-
2. Designates this field as serving as a br toggle for testing in production.""")
|
146
|
-
|
147
|
-
class OutboundTargetParameter(BaseModel):
|
148
|
-
"""
|
149
|
-
Accomodates testing outbound syncs in production by nominating a form field who's value stays in the branch.
|
150
|
-
The reason this information is set statically here instead of as a flag on the FormField, is so that the sync engine
|
151
|
-
can have this information readily available without calling the plugin.
|
152
|
-
"""
|
153
|
-
field_name: str = Field(title="""The name of the form field that toggles the location, e.g. 'channel','customer_list'.
|
154
|
-
This must match a field which will be returned by the outbound_configuration_form for this target type.""")
|
155
|
-
is_branching_toggle: bool = Field(title="""Whether or not this field is a target toggle for branching.
|
156
|
-
If true, the value of this field will be used to determine the location of the sync in production.
|
157
|
-
For example, a messaging plugin could have a "channel" field to route messages to an alternate location.
|
158
|
-
Or, a marketing platform could have an alternate customer list name which is connected to test campaigns that don't actually send.
|
159
|
-
|
160
|
-
This should only be used in situations where all other sync parameters and field mappings can remain consistent between branches.""")
|
161
|
-
label: str = Field(title="""Used in the UI when describing the location., e.g. 'Channel','Customer List'.
|
162
|
-
It should completely describe the behaviour when used in a sentence like this:
|
163
|
-
'Changes will be tested against a different <label> when running in a branch.'""")
|
164
|
-
|
165
126
|
class SnowflakeFunctionParameter(BaseModel):
|
166
127
|
"""
|
167
128
|
Represents a parameter for a Snowflake UDF or UDTF
|
{omnata_plugin_runtime-0.9.0a208.dist-info → omnata_plugin_runtime-0.9.0a209.dist-info}/RECORD
RENAMED
@@ -1,12 +1,12 @@
|
|
1
1
|
omnata_plugin_runtime/__init__.py,sha256=MS9d1whnfT_B3-ThqZ7l63QeC_8OEKTuaYV5wTwRpBA,1576
|
2
2
|
omnata_plugin_runtime/api.py,sha256=baGraSMiD4Yvi3ZWrEv_TKh8Ktd1U8riBdOpe9j0Puw,8202
|
3
|
-
omnata_plugin_runtime/configuration.py,sha256=
|
3
|
+
omnata_plugin_runtime/configuration.py,sha256=hHWaK72q45cCQ2R7x9vX2tGifvUDabMrVXBZF4XX0TY,41286
|
4
4
|
omnata_plugin_runtime/forms.py,sha256=ueodN2GIMS5N9fqebpY4uNGJnjEb9HcuaVQVfWH-cGg,19838
|
5
5
|
omnata_plugin_runtime/logging.py,sha256=WBuZt8lF9E5oFWM4KYQbE8dDJ_HctJ1pN3BHwU6rcd0,4461
|
6
|
-
omnata_plugin_runtime/omnata_plugin.py,sha256=
|
6
|
+
omnata_plugin_runtime/omnata_plugin.py,sha256=3OPFFYhbxmffAcb5pJA09gV62SLX-1nu2j3mJMy3pis,131600
|
7
7
|
omnata_plugin_runtime/plugin_entrypoints.py,sha256=iqGl8_nEEnPGKg3Aem4YLSQ6d5xS3ju5gq8MJbx6sCA,31968
|
8
8
|
omnata_plugin_runtime/rate_limiting.py,sha256=eOWVRYWiqPlVeYzmB1exVXfXbrcpmYb7vtTi9B-4zkQ,25868
|
9
|
-
omnata_plugin_runtime-0.9.
|
10
|
-
omnata_plugin_runtime-0.9.
|
11
|
-
omnata_plugin_runtime-0.9.
|
12
|
-
omnata_plugin_runtime-0.9.
|
9
|
+
omnata_plugin_runtime-0.9.0a209.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
|
10
|
+
omnata_plugin_runtime-0.9.0a209.dist-info/METADATA,sha256=3j72wTua0fHhugze-4pSSFl58MR7ODerhgoz7ZWaB10,2158
|
11
|
+
omnata_plugin_runtime-0.9.0a209.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
12
|
+
omnata_plugin_runtime-0.9.0a209.dist-info/RECORD,,
|
{omnata_plugin_runtime-0.9.0a208.dist-info → omnata_plugin_runtime-0.9.0a209.dist-info}/LICENSE
RENAMED
File without changes
|
{omnata_plugin_runtime-0.9.0a208.dist-info → omnata_plugin_runtime-0.9.0a209.dist-info}/WHEEL
RENAMED
File without changes
|