airbyte-internal-ops 0.5.0__py3-none-any.whl → 0.5.1__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.
Files changed (85) hide show
  1. {airbyte_internal_ops-0.5.0.dist-info → airbyte_internal_ops-0.5.1.dist-info}/METADATA +2 -1
  2. {airbyte_internal_ops-0.5.0.dist-info → airbyte_internal_ops-0.5.1.dist-info}/RECORD +16 -85
  3. airbyte_ops_mcp/cli/cloud.py +4 -2
  4. airbyte_ops_mcp/cloud_admin/api_client.py +51 -51
  5. airbyte_ops_mcp/constants.py +58 -0
  6. airbyte_ops_mcp/{_legacy/airbyte_ci/metadata_service/docker_hub.py → docker_hub.py} +16 -10
  7. airbyte_ops_mcp/mcp/cloud_connector_versions.py +44 -23
  8. airbyte_ops_mcp/mcp/prod_db_queries.py +128 -4
  9. airbyte_ops_mcp/mcp/regression_tests.py +10 -5
  10. airbyte_ops_mcp/{_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py → metadata_validator.py} +18 -12
  11. airbyte_ops_mcp/prod_db_access/queries.py +51 -0
  12. airbyte_ops_mcp/prod_db_access/sql.py +76 -0
  13. airbyte_ops_mcp/regression_tests/connection_fetcher.py +16 -5
  14. airbyte_ops_mcp/regression_tests/models.py +2 -2
  15. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +0 -91
  16. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +0 -48
  17. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +0 -36
  18. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +0 -54
  19. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +0 -22
  20. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +0 -18
  21. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +0 -65
  22. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +0 -15
  23. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +0 -25
  24. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +0 -897
  25. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +0 -478
  26. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +0 -24
  27. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +0 -12
  28. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +0 -407
  29. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +0 -406
  30. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +0 -407
  31. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +0 -413
  32. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +0 -98
  33. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +0 -58
  34. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +0 -62
  35. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +0 -31
  36. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +0 -23
  37. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +0 -24
  38. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +0 -111
  39. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +0 -15
  40. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +0 -23
  41. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +0 -18
  42. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +0 -29
  43. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +0 -34
  44. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +0 -22
  45. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +0 -16
  46. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +0 -18
  47. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +0 -15
  48. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +0 -14
  49. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +0 -31
  50. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
  51. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +0 -30
  52. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +0 -32
  53. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +0 -13
  54. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +0 -65
  55. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +0 -10
  56. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +0 -29
  57. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +0 -172
  58. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +0 -30
  59. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +0 -9
  60. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +0 -90
  61. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +0 -35
  62. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +0 -92
  63. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +0 -18
  64. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +0 -16
  65. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +0 -28
  66. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +0 -16
  67. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +0 -21
  68. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +0 -14
  69. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +0 -21
  70. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +0 -38
  71. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +0 -11
  72. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +0 -25
  73. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +0 -16
  74. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +0 -29
  75. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +0 -19
  76. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +0 -16
  77. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +0 -17
  78. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +0 -13
  79. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +0 -10
  80. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +0 -17
  81. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +0 -62
  82. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +0 -12
  83. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +0 -71
  84. {airbyte_internal_ops-0.5.0.dist-info → airbyte_internal_ops-0.5.1.dist-info}/WHEEL +0 -0
  85. {airbyte_internal_ops-0.5.0.dist-info → airbyte_internal_ops-0.5.1.dist-info}/entry_points.txt +0 -0
@@ -1,413 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: ConnectorRegistryV0.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from datetime import date, datetime
7
- from typing import Any, Dict, List, Optional, Union
8
- from uuid import UUID
9
-
10
- from pydantic import AnyUrl, BaseModel, Extra, Field, conint, constr
11
- from typing_extensions import Literal
12
-
13
-
14
- class ReleaseStage(BaseModel):
15
- __root__: Literal["alpha", "beta", "generally_available", "custom"] = Field(
16
- ...,
17
- description="enum that describes a connector's release stage",
18
- title="ReleaseStage",
19
- )
20
-
21
-
22
- class SupportLevel(BaseModel):
23
- __root__: Literal["community", "certified", "archived"] = Field(
24
- ...,
25
- description="enum that describes a connector's release stage",
26
- title="SupportLevel",
27
- )
28
-
29
-
30
- class ResourceRequirements(BaseModel):
31
- class Config:
32
- extra = Extra.forbid
33
-
34
- cpu_request: Optional[str] = None
35
- cpu_limit: Optional[str] = None
36
- memory_request: Optional[str] = None
37
- memory_limit: Optional[str] = None
38
-
39
-
40
- class JobType(BaseModel):
41
- __root__: Literal[
42
- "get_spec",
43
- "check_connection",
44
- "discover_schema",
45
- "sync",
46
- "reset_connection",
47
- "connection_updater",
48
- "replicate",
49
- ] = Field(
50
- ...,
51
- description="enum that describes the different types of jobs that the platform runs.",
52
- title="JobType",
53
- )
54
-
55
-
56
- class NormalizationDestinationDefinitionConfig(BaseModel):
57
- class Config:
58
- extra = Extra.allow
59
-
60
- normalizationRepository: str = Field(
61
- ...,
62
- description="a field indicating the name of the repository to be used for normalization. If the value of the flag is NULL - normalization is not used.",
63
- )
64
- normalizationTag: str = Field(
65
- ...,
66
- description="a field indicating the tag of the docker repository to be used for normalization.",
67
- )
68
- normalizationIntegrationType: str = Field(
69
- ...,
70
- description="a field indicating the type of integration dialect to use for normalization.",
71
- )
72
-
73
-
74
- class AllowedHosts(BaseModel):
75
- class Config:
76
- extra = Extra.allow
77
-
78
- hosts: Optional[List[str]] = Field(
79
- None,
80
- description="An array of hosts that this connector can connect to. AllowedHosts not being present for the source or destination means that access to all hosts is allowed. An empty list here means that no network access is granted.",
81
- )
82
-
83
-
84
- class RolloutConfiguration(BaseModel):
85
- class Config:
86
- extra = Extra.forbid
87
-
88
- enableProgressiveRollout: Optional[bool] = Field(
89
- False, description="Whether to enable progressive rollout for the connector."
90
- )
91
- initialPercentage: Optional[conint(ge=0, le=100)] = Field(
92
- 0,
93
- description="The percentage of users that should receive the new version initially.",
94
- )
95
- maxPercentage: Optional[conint(ge=0, le=100)] = Field(
96
- 50,
97
- description="The percentage of users who should receive the release candidate during the test phase before full rollout.",
98
- )
99
- advanceDelayMinutes: Optional[conint(ge=10)] = Field(
100
- 10,
101
- description="The number of minutes to wait before advancing the rollout percentage.",
102
- )
103
-
104
-
105
- class StreamBreakingChangeScope(BaseModel):
106
- class Config:
107
- extra = Extra.forbid
108
-
109
- scopeType: str = Field("stream", const=True)
110
- impactedScopes: List[str] = Field(
111
- ...,
112
- description="List of streams that are impacted by the breaking change.",
113
- min_items=1,
114
- )
115
-
116
-
117
- class SuggestedStreams(BaseModel):
118
- class Config:
119
- extra = Extra.allow
120
-
121
- streams: Optional[List[str]] = Field(
122
- None,
123
- description="An array of streams that this connector suggests the average user will want. SuggestedStreams not being present for the source means that all streams are suggested. An empty list here means that no streams are suggested.",
124
- )
125
-
126
-
127
- class AirbyteInternal(BaseModel):
128
- class Config:
129
- extra = Extra.allow
130
-
131
- sl: Optional[Literal[0, 100, 200, 300]] = None
132
- ql: Optional[Literal[0, 100, 200, 300, 400, 500, 600]] = None
133
- isEnterprise: Optional[bool] = False
134
- requireVersionIncrementsInPullRequests: Optional[bool] = Field(
135
- True,
136
- description="When false, version increment checks will be skipped for this connector",
137
- )
138
-
139
-
140
- class GitInfo(BaseModel):
141
- class Config:
142
- extra = Extra.forbid
143
-
144
- commit_sha: Optional[str] = Field(
145
- None,
146
- description="The git commit sha of the last commit that modified this file.",
147
- )
148
- commit_timestamp: Optional[datetime] = Field(
149
- None,
150
- description="The git commit timestamp of the last commit that modified this file.",
151
- )
152
- commit_author: Optional[str] = Field(
153
- None,
154
- description="The git commit author of the last commit that modified this file.",
155
- )
156
- commit_author_email: Optional[str] = Field(
157
- None,
158
- description="The git commit author email of the last commit that modified this file.",
159
- )
160
-
161
-
162
- class SourceFileInfo(BaseModel):
163
- metadata_etag: Optional[str] = None
164
- metadata_file_path: Optional[str] = None
165
- metadata_bucket_name: Optional[str] = None
166
- metadata_last_modified: Optional[str] = None
167
- registry_entry_generated_at: Optional[str] = None
168
-
169
-
170
- class ConnectorMetrics(BaseModel):
171
- all: Optional[Any] = None
172
- cloud: Optional[Any] = None
173
- oss: Optional[Any] = None
174
-
175
-
176
- class ConnectorMetric(BaseModel):
177
- class Config:
178
- extra = Extra.allow
179
-
180
- usage: Optional[Union[str, Literal["low", "medium", "high"]]] = None
181
- sync_success_rate: Optional[Union[str, Literal["low", "medium", "high"]]] = None
182
- connector_version: Optional[str] = None
183
-
184
-
185
- class ConnectorPackageInfo(BaseModel):
186
- cdk_version: Optional[str] = None
187
-
188
-
189
- class JobTypeResourceLimit(BaseModel):
190
- class Config:
191
- extra = Extra.forbid
192
-
193
- jobType: JobType
194
- resourceRequirements: ResourceRequirements
195
-
196
-
197
- class BreakingChangeScope(BaseModel):
198
- __root__: StreamBreakingChangeScope = Field(
199
- ...,
200
- description="A scope that can be used to limit the impact of a breaking change.",
201
- )
202
-
203
-
204
- class GeneratedFields(BaseModel):
205
- git: Optional[GitInfo] = None
206
- source_file_info: Optional[SourceFileInfo] = None
207
- metrics: Optional[ConnectorMetrics] = None
208
- sbomUrl: Optional[str] = Field(None, description="URL to the SBOM file")
209
-
210
-
211
- class ActorDefinitionResourceRequirements(BaseModel):
212
- class Config:
213
- extra = Extra.forbid
214
-
215
- default: Optional[ResourceRequirements] = Field(
216
- None,
217
- description="if set, these are the requirements that should be set for ALL jobs run for this actor definition.",
218
- )
219
- jobSpecific: Optional[List[JobTypeResourceLimit]] = None
220
-
221
-
222
- class VersionBreakingChange(BaseModel):
223
- class Config:
224
- extra = Extra.forbid
225
-
226
- upgradeDeadline: date = Field(
227
- ...,
228
- description="The deadline by which to upgrade before the breaking change takes effect.",
229
- )
230
- message: str = Field(
231
- ..., description="Descriptive message detailing the breaking change."
232
- )
233
- deadlineAction: Optional[Literal["auto_upgrade", "disable"]] = Field(
234
- None, description="Action to do when the deadline is reached."
235
- )
236
- migrationDocumentationUrl: Optional[AnyUrl] = Field(
237
- None,
238
- description="URL to documentation on how to migrate to the current version. Defaults to ${documentationUrl}-migrations#${version}",
239
- )
240
- scopedImpact: Optional[List[BreakingChangeScope]] = Field(
241
- None,
242
- description="List of scopes that are impacted by the breaking change. If not specified, the breaking change cannot be scoped to reduce impact via the supported scope types.",
243
- min_items=1,
244
- )
245
-
246
-
247
- class ConnectorBreakingChanges(BaseModel):
248
- class Config:
249
- extra = Extra.forbid
250
-
251
- __root__: Dict[constr(regex=r"^\d+\.\d+\.\d+$"), VersionBreakingChange] = Field(
252
- ...,
253
- description="Each entry denotes a breaking change in a specific version of a connector that requires user action to upgrade.",
254
- title="ConnectorBreakingChanges",
255
- )
256
-
257
-
258
- class ConnectorRegistryV0(BaseModel):
259
- destinations: List[ConnectorRegistryDestinationDefinition]
260
- sources: List[ConnectorRegistrySourceDefinition]
261
-
262
-
263
- class ConnectorRegistryDestinationDefinition(BaseModel):
264
- class Config:
265
- extra = Extra.allow
266
-
267
- destinationDefinitionId: UUID
268
- name: str
269
- dockerRepository: str
270
- dockerImageTag: str
271
- documentationUrl: str
272
- icon: Optional[str] = None
273
- iconUrl: Optional[str] = None
274
- spec: Dict[str, Any]
275
- tombstone: Optional[bool] = Field(
276
- False,
277
- description="if false, the configuration is active. if true, then this configuration is permanently off.",
278
- )
279
- public: Optional[bool] = Field(
280
- False,
281
- description="true if this connector definition is available to all workspaces",
282
- )
283
- custom: Optional[bool] = Field(
284
- False, description="whether this is a custom connector definition"
285
- )
286
- releaseStage: Optional[ReleaseStage] = None
287
- supportLevel: Optional[SupportLevel] = None
288
- releaseDate: Optional[date] = Field(
289
- None,
290
- description="The date when this connector was first released, in yyyy-mm-dd format.",
291
- )
292
- tags: Optional[List[str]] = Field(
293
- None,
294
- description="An array of tags that describe the connector. E.g: language:python, keyword:rds, etc.",
295
- )
296
- resourceRequirements: Optional[ActorDefinitionResourceRequirements] = None
297
- protocolVersion: Optional[str] = Field(
298
- None, description="the Airbyte Protocol version supported by the connector"
299
- )
300
- normalizationConfig: Optional[NormalizationDestinationDefinitionConfig] = None
301
- supportsDbt: Optional[bool] = Field(
302
- None,
303
- description="an optional flag indicating whether DBT is used in the normalization. If the flag value is NULL - DBT is not used.",
304
- )
305
- allowedHosts: Optional[AllowedHosts] = None
306
- releases: Optional[ConnectorRegistryReleases] = None
307
- ab_internal: Optional[AirbyteInternal] = None
308
- supportsRefreshes: Optional[bool] = False
309
- supportsFileTransfer: Optional[bool] = False
310
- supportsDataActivation: Optional[bool] = False
311
- generated: Optional[GeneratedFields] = None
312
- packageInfo: Optional[ConnectorPackageInfo] = None
313
- language: Optional[str] = Field(
314
- None, description="The language the connector is written in"
315
- )
316
-
317
-
318
- class ConnectorRegistryReleases(BaseModel):
319
- class Config:
320
- extra = Extra.forbid
321
-
322
- releaseCandidates: Optional[ConnectorReleaseCandidates] = None
323
- rolloutConfiguration: Optional[RolloutConfiguration] = None
324
- breakingChanges: Optional[ConnectorBreakingChanges] = None
325
- migrationDocumentationUrl: Optional[AnyUrl] = Field(
326
- None,
327
- description="URL to documentation on how to migrate from the previous version to the current version. Defaults to ${documentationUrl}-migrations",
328
- )
329
-
330
-
331
- class ConnectorReleaseCandidates(BaseModel):
332
- class Config:
333
- extra = Extra.forbid
334
-
335
- __root__: Dict[
336
- constr(regex=r"^\d+\.\d+\.\d+(-[0-9A-Za-z-.]+)?$"), VersionReleaseCandidate
337
- ] = Field(
338
- ...,
339
- description="Each entry denotes a release candidate version of a connector.",
340
- )
341
-
342
-
343
- class VersionReleaseCandidate(BaseModel):
344
- class Config:
345
- extra = Extra.forbid
346
-
347
- __root__: Union[
348
- ConnectorRegistrySourceDefinition, ConnectorRegistryDestinationDefinition
349
- ] = Field(
350
- ...,
351
- description="Contains information about a release candidate version of a connector.",
352
- )
353
-
354
-
355
- class ConnectorRegistrySourceDefinition(BaseModel):
356
- class Config:
357
- extra = Extra.allow
358
-
359
- sourceDefinitionId: UUID
360
- name: str
361
- dockerRepository: str
362
- dockerImageTag: str
363
- documentationUrl: str
364
- icon: Optional[str] = None
365
- iconUrl: Optional[str] = None
366
- sourceType: Optional[Literal["api", "file", "database", "custom"]] = None
367
- spec: Dict[str, Any]
368
- tombstone: Optional[bool] = Field(
369
- False,
370
- description="if false, the configuration is active. if true, then this configuration is permanently off.",
371
- )
372
- public: Optional[bool] = Field(
373
- False,
374
- description="true if this connector definition is available to all workspaces",
375
- )
376
- custom: Optional[bool] = Field(
377
- False, description="whether this is a custom connector definition"
378
- )
379
- releaseStage: Optional[ReleaseStage] = None
380
- supportLevel: Optional[SupportLevel] = None
381
- releaseDate: Optional[date] = Field(
382
- None,
383
- description="The date when this connector was first released, in yyyy-mm-dd format.",
384
- )
385
- resourceRequirements: Optional[ActorDefinitionResourceRequirements] = None
386
- protocolVersion: Optional[str] = Field(
387
- None, description="the Airbyte Protocol version supported by the connector"
388
- )
389
- allowedHosts: Optional[AllowedHosts] = None
390
- suggestedStreams: Optional[SuggestedStreams] = None
391
- maxSecondsBetweenMessages: Optional[int] = Field(
392
- None,
393
- description="Number of seconds allowed between 2 airbyte protocol messages. The source will timeout if this delay is reach",
394
- )
395
- erdUrl: Optional[str] = Field(
396
- None, description="The URL where you can visualize the ERD"
397
- )
398
- releases: Optional[ConnectorRegistryReleases] = None
399
- ab_internal: Optional[AirbyteInternal] = None
400
- generated: Optional[GeneratedFields] = None
401
- packageInfo: Optional[ConnectorPackageInfo] = None
402
- language: Optional[str] = Field(
403
- None, description="The language the connector is written in"
404
- )
405
- supportsFileTransfer: Optional[bool] = False
406
- supportsDataActivation: Optional[bool] = False
407
-
408
-
409
- ConnectorRegistryV0.update_forward_refs()
410
- ConnectorRegistryDestinationDefinition.update_forward_refs()
411
- ConnectorRegistryReleases.update_forward_refs()
412
- ConnectorReleaseCandidates.update_forward_refs()
413
- VersionReleaseCandidate.update_forward_refs()
@@ -1,98 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: ConnectorReleases.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from datetime import date
7
- from typing import Dict, List, Optional
8
-
9
- from pydantic import AnyUrl, BaseModel, Extra, Field, conint, constr
10
- from typing_extensions import Literal
11
-
12
-
13
- class RolloutConfiguration(BaseModel):
14
- class Config:
15
- extra = Extra.forbid
16
-
17
- enableProgressiveRollout: Optional[bool] = Field(
18
- False, description="Whether to enable progressive rollout for the connector."
19
- )
20
- initialPercentage: Optional[conint(ge=0, le=100)] = Field(
21
- 0,
22
- description="The percentage of users that should receive the new version initially.",
23
- )
24
- maxPercentage: Optional[conint(ge=0, le=100)] = Field(
25
- 50,
26
- description="The percentage of users who should receive the release candidate during the test phase before full rollout.",
27
- )
28
- advanceDelayMinutes: Optional[conint(ge=10)] = Field(
29
- 10,
30
- description="The number of minutes to wait before advancing the rollout percentage.",
31
- )
32
-
33
-
34
- class StreamBreakingChangeScope(BaseModel):
35
- class Config:
36
- extra = Extra.forbid
37
-
38
- scopeType: str = Field("stream", const=True)
39
- impactedScopes: List[str] = Field(
40
- ...,
41
- description="List of streams that are impacted by the breaking change.",
42
- min_items=1,
43
- )
44
-
45
-
46
- class BreakingChangeScope(BaseModel):
47
- __root__: StreamBreakingChangeScope = Field(
48
- ...,
49
- description="A scope that can be used to limit the impact of a breaking change.",
50
- )
51
-
52
-
53
- class VersionBreakingChange(BaseModel):
54
- class Config:
55
- extra = Extra.forbid
56
-
57
- upgradeDeadline: date = Field(
58
- ...,
59
- description="The deadline by which to upgrade before the breaking change takes effect.",
60
- )
61
- message: str = Field(
62
- ..., description="Descriptive message detailing the breaking change."
63
- )
64
- deadlineAction: Optional[Literal["auto_upgrade", "disable"]] = Field(
65
- None, description="Action to do when the deadline is reached."
66
- )
67
- migrationDocumentationUrl: Optional[AnyUrl] = Field(
68
- None,
69
- description="URL to documentation on how to migrate to the current version. Defaults to ${documentationUrl}-migrations#${version}",
70
- )
71
- scopedImpact: Optional[List[BreakingChangeScope]] = Field(
72
- None,
73
- description="List of scopes that are impacted by the breaking change. If not specified, the breaking change cannot be scoped to reduce impact via the supported scope types.",
74
- min_items=1,
75
- )
76
-
77
-
78
- class ConnectorBreakingChanges(BaseModel):
79
- class Config:
80
- extra = Extra.forbid
81
-
82
- __root__: Dict[constr(regex=r"^\d+\.\d+\.\d+$"), VersionBreakingChange] = Field(
83
- ...,
84
- description="Each entry denotes a breaking change in a specific version of a connector that requires user action to upgrade.",
85
- title="ConnectorBreakingChanges",
86
- )
87
-
88
-
89
- class ConnectorReleases(BaseModel):
90
- class Config:
91
- extra = Extra.forbid
92
-
93
- rolloutConfiguration: Optional[RolloutConfiguration] = None
94
- breakingChanges: Optional[ConnectorBreakingChanges] = None
95
- migrationDocumentationUrl: Optional[AnyUrl] = Field(
96
- None,
97
- description="URL to documentation on how to migrate from the previous version to the current version. Defaults to ${documentationUrl}-migrations",
98
- )
@@ -1,58 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: ConnectorTestSuiteOptions.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from typing import List, Optional
7
-
8
- from pydantic import BaseModel, Extra, Field
9
- from typing_extensions import Literal
10
-
11
-
12
- class SecretStore(BaseModel):
13
- class Config:
14
- extra = Extra.forbid
15
-
16
- alias: Optional[str] = Field(
17
- None,
18
- description="The alias of the secret store which can map to its actual secret address",
19
- )
20
- type: Optional[Literal["GSM"]] = Field(
21
- None, description="The type of the secret store"
22
- )
23
-
24
-
25
- class TestConnections(BaseModel):
26
- class Config:
27
- extra = Extra.forbid
28
-
29
- name: str = Field(..., description="The connection name")
30
- id: str = Field(..., description="The connection ID")
31
-
32
-
33
- class Secret(BaseModel):
34
- class Config:
35
- extra = Extra.forbid
36
-
37
- name: str = Field(..., description="The secret name in the secret store")
38
- fileName: Optional[str] = Field(
39
- None,
40
- description="The name of the file to which the secret value would be persisted",
41
- )
42
- secretStore: SecretStore
43
-
44
-
45
- class ConnectorTestSuiteOptions(BaseModel):
46
- class Config:
47
- extra = Extra.forbid
48
-
49
- suite: Literal["unitTests", "integrationTests", "acceptanceTests", "liveTests"] = (
50
- Field(..., description="Name of the configured test suite")
51
- )
52
- testSecrets: Optional[List[Secret]] = Field(
53
- None, description="List of secrets required to run the test suite"
54
- )
55
- testConnections: Optional[List[TestConnections]] = Field(
56
- None,
57
- description="List of sandbox cloud connections that tests can be run against",
58
- )
@@ -1,62 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: GeneratedFields.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from datetime import datetime
7
- from typing import Any, Optional, Union
8
-
9
- from pydantic import BaseModel, Extra, Field
10
- from typing_extensions import Literal
11
-
12
-
13
- class GitInfo(BaseModel):
14
- class Config:
15
- extra = Extra.forbid
16
-
17
- commit_sha: Optional[str] = Field(
18
- None,
19
- description="The git commit sha of the last commit that modified this file.",
20
- )
21
- commit_timestamp: Optional[datetime] = Field(
22
- None,
23
- description="The git commit timestamp of the last commit that modified this file.",
24
- )
25
- commit_author: Optional[str] = Field(
26
- None,
27
- description="The git commit author of the last commit that modified this file.",
28
- )
29
- commit_author_email: Optional[str] = Field(
30
- None,
31
- description="The git commit author email of the last commit that modified this file.",
32
- )
33
-
34
-
35
- class SourceFileInfo(BaseModel):
36
- metadata_etag: Optional[str] = None
37
- metadata_file_path: Optional[str] = None
38
- metadata_bucket_name: Optional[str] = None
39
- metadata_last_modified: Optional[str] = None
40
- registry_entry_generated_at: Optional[str] = None
41
-
42
-
43
- class ConnectorMetrics(BaseModel):
44
- all: Optional[Any] = None
45
- cloud: Optional[Any] = None
46
- oss: Optional[Any] = None
47
-
48
-
49
- class ConnectorMetric(BaseModel):
50
- class Config:
51
- extra = Extra.allow
52
-
53
- usage: Optional[Union[str, Literal["low", "medium", "high"]]] = None
54
- sync_success_rate: Optional[Union[str, Literal["low", "medium", "high"]]] = None
55
- connector_version: Optional[str] = None
56
-
57
-
58
- class GeneratedFields(BaseModel):
59
- git: Optional[GitInfo] = None
60
- source_file_info: Optional[SourceFileInfo] = None
61
- metrics: Optional[ConnectorMetrics] = None
62
- sbomUrl: Optional[str] = Field(None, description="URL to the SBOM file")
@@ -1,31 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: GitInfo.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from datetime import datetime
7
- from typing import Optional
8
-
9
- from pydantic import BaseModel, Extra, Field
10
-
11
-
12
- class GitInfo(BaseModel):
13
- class Config:
14
- extra = Extra.forbid
15
-
16
- commit_sha: Optional[str] = Field(
17
- None,
18
- description="The git commit sha of the last commit that modified this file.",
19
- )
20
- commit_timestamp: Optional[datetime] = Field(
21
- None,
22
- description="The git commit timestamp of the last commit that modified this file.",
23
- )
24
- commit_author: Optional[str] = Field(
25
- None,
26
- description="The git commit author of the last commit that modified this file.",
27
- )
28
- commit_author_email: Optional[str] = Field(
29
- None,
30
- description="The git commit author email of the last commit that modified this file.",
31
- )
@@ -1,23 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: JobType.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from pydantic import BaseModel, Field
7
- from typing_extensions import Literal
8
-
9
-
10
- class JobType(BaseModel):
11
- __root__: Literal[
12
- "get_spec",
13
- "check_connection",
14
- "discover_schema",
15
- "sync",
16
- "reset_connection",
17
- "connection_updater",
18
- "replicate",
19
- ] = Field(
20
- ...,
21
- description="enum that describes the different types of jobs that the platform runs.",
22
- title="JobType",
23
- )