omnata-plugin-runtime 0.9.0a208__py3-none-any.whl → 0.9.0a209__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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omnata-plugin-runtime
3
- Version: 0.9.0a208
3
+ Version: 0.9.0a209
4
4
  Summary: Classes and common runtime components for building and running Omnata Plugins
5
5
  Author: James Weakley
6
6
  Author-email: james.weakley@omnata.com
@@ -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=g6A9sFHBBaCgZPjhTM4iYcyEoZDPjB1F24QMboLteyY,38505
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=WrttykPnWR5ckL2SHUbcU6yYpNb-_HTL3LzFB6cBMd8,134356
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.0a208.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
10
- omnata_plugin_runtime-0.9.0a208.dist-info/METADATA,sha256=BdfXNGwXPGhbypwhYNed8BmD6jJanyddwHg1Y8011SU,2158
11
- omnata_plugin_runtime-0.9.0a208.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
12
- omnata_plugin_runtime-0.9.0a208.dist-info/RECORD,,
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,,