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.
@@ -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,,