omnata-plugin-runtime 0.8.3a204__py3-none-any.whl → 0.8.3a207__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -112,16 +112,14 @@ class PluginManifest(SubscriptableBaseModel):
112
112
  docs_url: str
113
113
  supports_inbound: bool
114
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."
115
+ title="A list of sync strategies that the plugin can support. If outbound_target_types are specified, theses strategies are allocated there. Otherwise, they apply globally"
118
116
  )
119
117
  supported_connectivity_options: List[ConnectivityOption] = Field(
120
118
  default_factory=lambda: [ConnectivityOption.DIRECT]
121
119
  )
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'."
120
+ outbound_target_types: Optional[List[OutboundTargetType]] = Field(
121
+ default=None,
122
+ title="An optional list of target types that the plugin can support."
125
123
  )
126
124
 
127
125
  class OutboundTargetType(BaseModel):
@@ -136,20 +134,33 @@ class OutboundTargetType(BaseModel):
136
134
  The target type cannot be changed after the sync is created.
137
135
  """
138
136
  label: str
139
- supported_strategies: List[OutboundSyncStrategy]
140
- target_toggle_field: Optional[OutboundTargetToggleField] = None
141
-
142
- class OutboundTargetToggleField(BaseModel):
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):
143
148
  """
144
149
  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
+ 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.
150
152
  """
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.'")
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.'""")
153
164
 
154
165
  class SnowflakeFunctionParameter(BaseModel):
155
166
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omnata-plugin-runtime
3
- Version: 0.8.3a204
3
+ Version: 0.8.3a207
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
@@ -3,10 +3,10 @@ omnata_plugin_runtime/api.py,sha256=tVi4KLL0v5N3yz3Ie0kSyFemryu572gCbtSRfWN6wBU,
3
3
  omnata_plugin_runtime/configuration.py,sha256=g6A9sFHBBaCgZPjhTM4iYcyEoZDPjB1F24QMboLteyY,38505
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=fs8yrPUhZ3rsU4rcl_MuXNltEufb1nKrcXV-I88MTCA,133443
6
+ omnata_plugin_runtime/omnata_plugin.py,sha256=WrttykPnWR5ckL2SHUbcU6yYpNb-_HTL3LzFB6cBMd8,134356
7
7
  omnata_plugin_runtime/plugin_entrypoints.py,sha256=sB_h6OBEMk7lTLIjdNrNo9Sthk8UE9PnK2AUcQJPe9I,32728
8
8
  omnata_plugin_runtime/rate_limiting.py,sha256=eOWVRYWiqPlVeYzmB1exVXfXbrcpmYb7vtTi9B-4zkQ,25868
9
- omnata_plugin_runtime-0.8.3a204.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
10
- omnata_plugin_runtime-0.8.3a204.dist-info/METADATA,sha256=nJD4bsjd9pTQaG1pnZc-Wt_1JVEpYH9pX05uNgY06UI,2158
11
- omnata_plugin_runtime-0.8.3a204.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
12
- omnata_plugin_runtime-0.8.3a204.dist-info/RECORD,,
9
+ omnata_plugin_runtime-0.8.3a207.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
10
+ omnata_plugin_runtime-0.8.3a207.dist-info/METADATA,sha256=aU_EJv5HVn3CXBKKuJaD3JFhBANrOT_o883o2fvIdpA,2158
11
+ omnata_plugin_runtime-0.8.3a207.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
12
+ omnata_plugin_runtime-0.8.3a207.dist-info/RECORD,,