port-ocean 0.20.0__py3-none-any.whl → 0.20.2__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.
- port_ocean/clients/port/mixins/integrations.py +14 -8
- port_ocean/core/defaults/initialize.py +10 -6
- {port_ocean-0.20.0.dist-info → port_ocean-0.20.2.dist-info}/METADATA +1 -1
- {port_ocean-0.20.0.dist-info → port_ocean-0.20.2.dist-info}/RECORD +7 -7
- {port_ocean-0.20.0.dist-info → port_ocean-0.20.2.dist-info}/LICENSE.md +0 -0
- {port_ocean-0.20.0.dist-info → port_ocean-0.20.2.dist-info}/WHEEL +0 -0
- {port_ocean-0.20.0.dist-info → port_ocean-0.20.2.dist-info}/entry_points.txt +0 -0
@@ -13,6 +13,7 @@ if TYPE_CHECKING:
|
|
13
13
|
from port_ocean.core.handlers.port_app_config.models import PortAppConfig
|
14
14
|
|
15
15
|
|
16
|
+
ORG_USE_PROVISIONED_DEFAULTS_FEATURE_FLAG = "USE_PROVISIONED_DEFAULTS"
|
16
17
|
INTEGRATION_POLLING_INTERVAL_INITIAL_SECONDS = 3
|
17
18
|
INTEGRATION_POLLING_INTERVAL_BACKOFF_FACTOR = 1.55
|
18
19
|
INTEGRATION_POLLING_RETRY_LIMIT = 30
|
@@ -68,21 +69,26 @@ class IntegrationClientMixin:
|
|
68
69
|
return response
|
69
70
|
|
70
71
|
async def get_current_integration(
|
71
|
-
self,
|
72
|
+
self,
|
73
|
+
should_raise: bool = True,
|
74
|
+
should_log: bool = True,
|
75
|
+
has_provision_feature_flag: bool = False,
|
72
76
|
) -> dict[str, Any]:
|
73
77
|
response = await self._get_current_integration()
|
74
78
|
handle_status_code(response, should_raise, should_log)
|
75
79
|
integration = response.json().get("integration", {})
|
76
80
|
if integration.get("config", None) or not integration:
|
77
81
|
return integration
|
78
|
-
is_provision_enabled_for_integration =
|
79
|
-
"installationAppType", None
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
82
|
+
is_provision_enabled_for_integration = (
|
83
|
+
integration.get("installationAppType", None)
|
84
|
+
and (
|
85
|
+
await self.is_integration_provision_enabled(
|
86
|
+
integration.get("installationAppType", ""),
|
87
|
+
should_raise,
|
88
|
+
should_log,
|
89
|
+
)
|
85
90
|
)
|
91
|
+
and has_provision_feature_flag
|
86
92
|
)
|
87
93
|
|
88
94
|
if is_provision_enabled_for_integration:
|
@@ -58,11 +58,14 @@ async def _initialize_required_integration_settings(
|
|
58
58
|
port_client: PortClient,
|
59
59
|
integration_config: IntegrationConfiguration,
|
60
60
|
default_mapping: PortAppConfig | None = None,
|
61
|
+
has_provision_feature_flag: bool = False,
|
61
62
|
) -> None:
|
62
63
|
try:
|
63
64
|
logger.info("Initializing integration at port")
|
64
65
|
integration = await port_client.get_current_integration(
|
65
|
-
should_log=False,
|
66
|
+
should_log=False,
|
67
|
+
should_raise=False,
|
68
|
+
has_provision_feature_flag=has_provision_feature_flag,
|
66
69
|
)
|
67
70
|
if not integration:
|
68
71
|
logger.info(
|
@@ -219,6 +222,10 @@ async def _initialize_defaults(
|
|
219
222
|
)
|
220
223
|
)
|
221
224
|
|
225
|
+
has_provision_feature_flag = ORG_USE_PROVISIONED_DEFAULTS_FEATURE_FLAG in (
|
226
|
+
await port_client.get_organization_feature_flags()
|
227
|
+
)
|
228
|
+
|
222
229
|
if (
|
223
230
|
not integration_config.create_port_resources_origin
|
224
231
|
and is_integration_provision_enabled
|
@@ -236,11 +243,7 @@ async def _initialize_defaults(
|
|
236
243
|
logger.info(
|
237
244
|
"Resources origin is set to be Port, verifying integration is supported"
|
238
245
|
)
|
239
|
-
|
240
|
-
if (
|
241
|
-
not is_integration_provision_enabled
|
242
|
-
or ORG_USE_PROVISIONED_DEFAULTS_FEATURE_FLAG not in org_feature_flags
|
243
|
-
):
|
246
|
+
if not is_integration_provision_enabled or not has_provision_feature_flag:
|
244
247
|
logger.info(
|
245
248
|
"Port origin for Integration is not supported, changing resources origin to use Ocean"
|
246
249
|
)
|
@@ -265,6 +268,7 @@ async def _initialize_defaults(
|
|
265
268
|
port_client,
|
266
269
|
integration_config,
|
267
270
|
defaults.port_app_config if defaults else None,
|
271
|
+
has_provision_feature_flag=has_provision_feature_flag,
|
268
272
|
)
|
269
273
|
|
270
274
|
if (
|
@@ -53,7 +53,7 @@ port_ocean/clients/port/client.py,sha256=OaNeN3U7Hw0tK4jYE6ESJEPKbTf9nGp2jcJVq00
|
|
53
53
|
port_ocean/clients/port/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
54
54
|
port_ocean/clients/port/mixins/blueprints.py,sha256=POBl4uDocrgJBw4rvCAzwRcD4jk-uBL6pDAuKMTajdg,4633
|
55
55
|
port_ocean/clients/port/mixins/entities.py,sha256=PJzVZTBW_OheFRGPRCZ6yPbVGEAKsMO9CNDNJUI1l48,10770
|
56
|
-
port_ocean/clients/port/mixins/integrations.py,sha256=
|
56
|
+
port_ocean/clients/port/mixins/integrations.py,sha256=nqz1gvQnR6Nzv62ZfbXEyli7FTKW5DCFpI1x1KoJJ_E,9341
|
57
57
|
port_ocean/clients/port/mixins/migrations.py,sha256=A6896oJF6WbFL2WroyTkMzr12yhVyWqGoq9dtLNSKBY,1457
|
58
58
|
port_ocean/clients/port/mixins/organization.py,sha256=fCo_ZS8UlQXsyIx-odTuWkbnfcYmVnQfIsSyJuPOPjM,1031
|
59
59
|
port_ocean/clients/port/retry_transport.py,sha256=PtIZOAZ6V-ncpVysRUsPOgt8Sf01QLnTKB5YeKBxkJk,1861
|
@@ -73,7 +73,7 @@ port_ocean/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
73
|
port_ocean/core/defaults/__init__.py,sha256=8qCZg8n06WAdMu9s_FiRtDYLGPGHbOuS60vapeUoAks,142
|
74
74
|
port_ocean/core/defaults/clean.py,sha256=_rL-NCl6Q_x3lUxDW5ACOM27IYilTCWl6ISUfRleuL0,2891
|
75
75
|
port_ocean/core/defaults/common.py,sha256=zJsj7jvlqIMLGXhdASUlbKS8GIAf-FDKKB0O7jB6nx0,4166
|
76
|
-
port_ocean/core/defaults/initialize.py,sha256=
|
76
|
+
port_ocean/core/defaults/initialize.py,sha256=8BYtPTRj6UGAwP15VBzdRzhtrJOUi88gumrXBX2aG0k,10948
|
77
77
|
port_ocean/core/event_listener/__init__.py,sha256=T3E52MKs79fNEW381p7zU9F2vOMvIiiTYWlqRUqnsg0,1135
|
78
78
|
port_ocean/core/event_listener/base.py,sha256=VdIdp7RLOSxH3ICyV-wCD3NiJoUzsh2KkJ0a9B29GeI,2847
|
79
79
|
port_ocean/core/event_listener/factory.py,sha256=M4Qi05pI840sjDIbdjUEgYe9Gp5ckoCkX-KgLBxUpZg,4096
|
@@ -184,8 +184,8 @@ port_ocean/utils/repeat.py,sha256=U2OeCkHPWXmRTVoPV-VcJRlQhcYqPWI5NfmPlb1JIbc,32
|
|
184
184
|
port_ocean/utils/signal.py,sha256=mMVq-1Ab5YpNiqN4PkiyTGlV_G0wkUDMMjTZp5z3pb0,1514
|
185
185
|
port_ocean/utils/time.py,sha256=pufAOH5ZQI7gXvOvJoQXZXZJV-Dqktoj9Qp9eiRwmJ4,1939
|
186
186
|
port_ocean/version.py,sha256=UsuJdvdQlazzKGD3Hd5-U7N69STh8Dq9ggJzQFnu9fU,177
|
187
|
-
port_ocean-0.20.
|
188
|
-
port_ocean-0.20.
|
189
|
-
port_ocean-0.20.
|
190
|
-
port_ocean-0.20.
|
191
|
-
port_ocean-0.20.
|
187
|
+
port_ocean-0.20.2.dist-info/LICENSE.md,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
188
|
+
port_ocean-0.20.2.dist-info/METADATA,sha256=XxZ-m-APGcoVMvquiras63hlMmE2A5qoyC5efcBFXc0,6669
|
189
|
+
port_ocean-0.20.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
190
|
+
port_ocean-0.20.2.dist-info/entry_points.txt,sha256=F_DNUmGZU2Kme-8NsWM5LLE8piGMafYZygRYhOVtcjA,54
|
191
|
+
port_ocean-0.20.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|