airbyte-internal-ops 0.4.2__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 (130) hide show
  1. {airbyte_internal_ops-0.4.2.dist-info → airbyte_internal_ops-0.5.1.dist-info}/METADATA +2 -1
  2. {airbyte_internal_ops-0.4.2.dist-info → airbyte_internal_ops-0.5.1.dist-info}/RECORD +21 -129
  3. airbyte_ops_mcp/cli/cloud.py +31 -2
  4. airbyte_ops_mcp/cloud_admin/api_client.py +506 -33
  5. airbyte_ops_mcp/cloud_admin/models.py +56 -0
  6. airbyte_ops_mcp/constants.py +58 -0
  7. airbyte_ops_mcp/{_legacy/airbyte_ci/metadata_service/docker_hub.py → docker_hub.py} +16 -10
  8. airbyte_ops_mcp/mcp/cloud_connector_versions.py +491 -10
  9. airbyte_ops_mcp/mcp/prerelease.py +5 -44
  10. airbyte_ops_mcp/mcp/prod_db_queries.py +128 -4
  11. airbyte_ops_mcp/mcp/regression_tests.py +10 -5
  12. airbyte_ops_mcp/{_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py → metadata_validator.py} +18 -12
  13. airbyte_ops_mcp/prod_db_access/queries.py +51 -0
  14. airbyte_ops_mcp/prod_db_access/sql.py +76 -0
  15. airbyte_ops_mcp/regression_tests/ci_output.py +8 -4
  16. airbyte_ops_mcp/regression_tests/connection_fetcher.py +16 -5
  17. airbyte_ops_mcp/regression_tests/http_metrics.py +21 -2
  18. airbyte_ops_mcp/regression_tests/models.py +7 -1
  19. airbyte_ops_mcp/telemetry.py +162 -0
  20. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/.gitignore +0 -1
  21. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/README.md +0 -420
  22. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/__init__.py +0 -2
  23. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/__init__.py +0 -1
  24. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/__init__.py +0 -8
  25. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/base_backend.py +0 -16
  26. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/duckdb_backend.py +0 -87
  27. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/file_backend.py +0 -165
  28. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connection_objects_retrieval.py +0 -377
  29. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connector_runner.py +0 -247
  30. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/errors.py +0 -7
  31. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/evaluation_modes.py +0 -25
  32. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/hacks.py +0 -23
  33. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/json_schema_helper.py +0 -384
  34. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/mitm_addons.py +0 -37
  35. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/models.py +0 -595
  36. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/proxy.py +0 -207
  37. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/secret_access.py +0 -47
  38. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/segment_tracking.py +0 -45
  39. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/utils.py +0 -214
  40. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/conftest.py.disabled +0 -751
  41. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/consts.py +0 -4
  42. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/poetry.lock +0 -4480
  43. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/pytest.ini +0 -9
  44. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/__init__.py +0 -1
  45. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_check.py +0 -61
  46. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_discover.py +0 -117
  47. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_read.py +0 -627
  48. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_spec.py +0 -43
  49. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/report.py +0 -542
  50. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/stash_keys.py +0 -38
  51. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/__init__.py +0 -0
  52. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/private_details.html.j2 +0 -305
  53. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/report.html.j2 +0 -515
  54. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/utils.py +0 -187
  55. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/__init__.py +0 -0
  56. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_check.py +0 -61
  57. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_discover.py +0 -217
  58. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_read.py +0 -177
  59. airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_spec.py +0 -631
  60. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +0 -91
  61. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +0 -48
  62. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +0 -36
  63. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +0 -54
  64. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +0 -22
  65. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +0 -18
  66. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +0 -65
  67. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +0 -15
  68. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +0 -25
  69. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +0 -897
  70. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +0 -478
  71. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +0 -24
  72. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +0 -12
  73. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +0 -407
  74. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +0 -406
  75. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +0 -407
  76. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +0 -413
  77. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +0 -98
  78. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +0 -58
  79. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +0 -62
  80. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +0 -31
  81. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +0 -23
  82. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +0 -24
  83. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +0 -111
  84. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +0 -15
  85. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +0 -23
  86. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +0 -18
  87. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +0 -29
  88. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +0 -34
  89. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +0 -22
  90. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +0 -16
  91. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +0 -18
  92. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +0 -15
  93. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +0 -14
  94. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +0 -31
  95. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
  96. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +0 -30
  97. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +0 -32
  98. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +0 -13
  99. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +0 -65
  100. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +0 -10
  101. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +0 -29
  102. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +0 -172
  103. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +0 -30
  104. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +0 -9
  105. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +0 -90
  106. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +0 -35
  107. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +0 -92
  108. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +0 -18
  109. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +0 -16
  110. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +0 -28
  111. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +0 -16
  112. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +0 -21
  113. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +0 -14
  114. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +0 -21
  115. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +0 -38
  116. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +0 -11
  117. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +0 -25
  118. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +0 -16
  119. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +0 -29
  120. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +0 -19
  121. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +0 -16
  122. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +0 -17
  123. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +0 -13
  124. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +0 -10
  125. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +0 -17
  126. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +0 -62
  127. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +0 -12
  128. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +0 -71
  129. {airbyte_internal_ops-0.4.2.dist-info → airbyte_internal_ops-0.5.1.dist-info}/WHEEL +0 -0
  130. {airbyte_internal_ops-0.4.2.dist-info → airbyte_internal_ops-0.5.1.dist-info}/entry_points.txt +0 -0
@@ -1,91 +0,0 @@
1
- # Connector Metadata Service Library
2
-
3
- This submodule is responsible for managing all the logic related to validating, uploading, and managing connector metadata.
4
-
5
- ## Installation
6
-
7
- To use this submodule, it is recommended that you use Poetry to manage dependencies.
8
-
9
- ```
10
- poetry install
11
- ```
12
-
13
- ### Node.js Requirement
14
-
15
- The model generation process also requires Node.js to bundle JSON schemas. Install Node.js:
16
-
17
- - On macOS: `brew install node`
18
- - On Ubuntu/Debian: `sudo apt-get install nodejs npm`
19
- - On other systems: https://nodejs.org/
20
-
21
- Node.js dependencies will be automatically installed when running `poetry run poe generate-models`.
22
-
23
- ## Generating Models
24
-
25
- This submodule includes a tool for generating Python models from JSON Schema specifications. To generate the models, we use the library [datamodel-code-generator](https://github.com/koxudaxi/datamodel-code-generator). The generated models are stored in `models/generated`.
26
-
27
- To generate the models, run the following command:
28
-
29
- ```bash
30
- poetry run poe generate-models
31
-
32
- ```
33
-
34
- This will read the JSON Schema specifications in `models/src` and generate Python models in `models/generated`.
35
-
36
- ## Running Tests
37
-
38
- ```bash
39
- poetry run pytest
40
- ```
41
-
42
- ## Changelog
43
-
44
- ### 0.24.1
45
- Update Python version requirement from 3.10 to 3.11.
46
-
47
- ## Validating Metadata Files
48
-
49
- To be considered valid, a connector must have a metadata.yaml file which must conform to the [ConnectorMetadataDefinitionV0](./metadata_service/models/src/ConnectorMetadataDefinitionV0.yaml) schema, and a documentation file.
50
-
51
- The paths to both files must be passed to the validate command.
52
-
53
- ```bash
54
- poetry run metadata_service validate tests/fixtures/metadata_validate/valid/metadata_simple.yaml tests/fixtures/doc.md
55
- ```
56
-
57
- ## Useful Commands
58
-
59
- ### Replicate Production Data in your Development Bucket
60
-
61
- This will replicate all the production data to your development bucket. This is useful for testing the metadata service with real up to date data.
62
-
63
- _💡 Note: A prerequisite is you have [gsutil](https://cloud.google.com/storage/docs/gsutil) installed and have run `gsutil auth login`_
64
-
65
- _⚠️ Warning: Its important to know that this will remove ANY files you have in your destination buckets as it calls `gsutil rsync` with `-d` enabled._
66
-
67
- ```bash
68
- TARGET_BUCKET=<YOUR-DEV_BUCKET> poetry run poe replicate-prod
69
- ```
70
-
71
- ### Copy specific connector version to your Development Bucket
72
-
73
- This will copy the specified connector version to your development bucket. This is useful for testing the metadata service with a specific version of a connector.
74
-
75
- _💡 Note: A prerequisite is you have [gsutil](https://cloud.google.com/storage/docs/gsutil) installed and have run `gsutil auth login`_
76
-
77
- ```bash
78
- TARGET_BUCKET=<YOUR-DEV_BUCKET> CONNECTOR="airbyte/source-stripe" VERSION="3.17.0-preview.ea013c8" poetry run poe copy-connector-from-prod
79
- ```
80
-
81
- ### Promote Connector Version to Latest
82
-
83
- This will promote the specified connector version to the latest version in the registry. This is useful for creating a mocked registry in which a prerelease connector is treated as if it was already published.
84
-
85
- _💡 Note: A prerequisite is you have [gsutil](https://cloud.google.com/storage/docs/gsutil) installed and have run `gsutil auth login`_
86
-
87
- _⚠️ Warning: Its important to know that this will remove ANY existing files in the latest folder that are not in the versioned folder as it calls `gsutil rsync` with `-d` enabled._
88
-
89
- ```bash
90
- TARGET_BUCKET=<YOUR-DEV_BUCKET> CONNECTOR="airbyte/source-stripe" VERSION="3.17.0-preview.ea013c8" poetry run poe promote-connector-to-latest
91
- ```
@@ -1,48 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Bundle JSON schemas using @apidevtools/json-schema-ref-parser
5
- * This script resolves all $ref references in the schema files and creates a single bundled schema.
6
- */
7
-
8
- const $RefParser = require('@apidevtools/json-schema-ref-parser');
9
- const fs = require('fs');
10
- const path = require('path');
11
-
12
- const YAML_DIR = 'metadata_service/models/src';
13
- const OUTPUT_DIR = 'metadata_service/models/generated';
14
- const ENTRY_SCHEMA = path.join(YAML_DIR, 'ConnectorMetadataDefinitionV0.yaml');
15
- const BUNDLE_OUTPUT = path.join(OUTPUT_DIR, 'ConnectorMetadataDefinitionV0.json');
16
-
17
- async function bundleSchemas() {
18
- try {
19
- console.log('📦 Bundling JSON schemas...');
20
- console.log(` Entry schema: ${ENTRY_SCHEMA}`);
21
- console.log(` Output: ${BUNDLE_OUTPUT}`);
22
-
23
- if (!fs.existsSync(YAML_DIR)) {
24
- console.error(`❌ Error: The yaml directory does not exist: ${YAML_DIR}`);
25
- process.exit(1);
26
- }
27
-
28
- if (!fs.existsSync(OUTPUT_DIR)) {
29
- fs.mkdirSync(OUTPUT_DIR, { recursive: true });
30
- }
31
-
32
- const schema = await $RefParser.bundle(ENTRY_SCHEMA, {
33
- dereference: {
34
- circular: 'ignore' // Handle circular references gracefully
35
- }
36
- });
37
-
38
- fs.writeFileSync(BUNDLE_OUTPUT, JSON.stringify(schema, null, 2));
39
-
40
- console.log('✅ Successfully bundled schema to', BUNDLE_OUTPUT);
41
- console.log(' This bundled schema can be used for IDE validation and other tools.');
42
- } catch (error) {
43
- console.error('❌ Error bundling schemas:', error.message);
44
- process.exit(1);
45
- }
46
- }
47
-
48
- bundleSchemas();
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -e
4
-
5
-
6
- YAML_DIR=metadata_service/models/src
7
- OUTPUT_DIR=metadata_service/models/generated
8
-
9
- # Ensure the yaml directory exists
10
- if [ ! -d "$YAML_DIR" ]; then
11
- echo "The yaml directory does not exist: $YAML_DIR"
12
- exit 1
13
- fi
14
-
15
-
16
- rm -rf "$OUTPUT_DIR"/*.py
17
- mkdir -p "$OUTPUT_DIR"
18
-
19
- echo "# generated by generate-metadata-models" > "$OUTPUT_DIR"/__init__.py
20
-
21
- for f in "$YAML_DIR"/*.yaml; do
22
- filename_wo_ext=$(basename "$f" | cut -d . -f 1)
23
- echo "from .$filename_wo_ext import *" >> "$OUTPUT_DIR"/__init__.py
24
-
25
- datamodel-codegen \
26
- --input "$YAML_DIR/$filename_wo_ext.yaml" \
27
- --output "$OUTPUT_DIR/$filename_wo_ext.py" \
28
- --use-title-as-name \
29
- --use-double-quotes \
30
- --enum-field-as-literal all \
31
- --disable-timestamp
32
- done
33
-
34
- echo ""
35
- echo "Generating bundled JSON schema..."
36
- node bin/bundle-schemas.js
@@ -1,54 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: ActorDefinitionResourceRequirements.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 ResourceRequirements(BaseModel):
13
- class Config:
14
- extra = Extra.forbid
15
-
16
- cpu_request: Optional[str] = None
17
- cpu_limit: Optional[str] = None
18
- memory_request: Optional[str] = None
19
- memory_limit: Optional[str] = None
20
-
21
-
22
- class JobType(BaseModel):
23
- __root__: Literal[
24
- "get_spec",
25
- "check_connection",
26
- "discover_schema",
27
- "sync",
28
- "reset_connection",
29
- "connection_updater",
30
- "replicate",
31
- ] = Field(
32
- ...,
33
- description="enum that describes the different types of jobs that the platform runs.",
34
- title="JobType",
35
- )
36
-
37
-
38
- class JobTypeResourceLimit(BaseModel):
39
- class Config:
40
- extra = Extra.forbid
41
-
42
- jobType: JobType
43
- resourceRequirements: ResourceRequirements
44
-
45
-
46
- class ActorDefinitionResourceRequirements(BaseModel):
47
- class Config:
48
- extra = Extra.forbid
49
-
50
- default: Optional[ResourceRequirements] = Field(
51
- None,
52
- description="if set, these are the requirements that should be set for ALL jobs run for this actor definition.",
53
- )
54
- jobSpecific: Optional[List[JobTypeResourceLimit]] = None
@@ -1,22 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: AirbyteInternal.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from typing import Optional
7
-
8
- from pydantic import BaseModel, Extra, Field
9
- from typing_extensions import Literal
10
-
11
-
12
- class AirbyteInternal(BaseModel):
13
- class Config:
14
- extra = Extra.allow
15
-
16
- sl: Optional[Literal[0, 100, 200, 300]] = None
17
- ql: Optional[Literal[0, 100, 200, 300, 400, 500, 600]] = None
18
- isEnterprise: Optional[bool] = False
19
- requireVersionIncrementsInPullRequests: Optional[bool] = Field(
20
- True,
21
- description="When false, version increment checks will be skipped for this connector",
22
- )
@@ -1,18 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: AllowedHosts.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from typing import List, Optional
7
-
8
- from pydantic import BaseModel, Extra, Field
9
-
10
-
11
- class AllowedHosts(BaseModel):
12
- class Config:
13
- extra = Extra.allow
14
-
15
- hosts: Optional[List[str]] = Field(
16
- None,
17
- 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.",
18
- )
@@ -1,65 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: ConnectorBreakingChanges.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, constr
10
- from typing_extensions import Literal
11
-
12
-
13
- class StreamBreakingChangeScope(BaseModel):
14
- class Config:
15
- extra = Extra.forbid
16
-
17
- scopeType: str = Field("stream", const=True)
18
- impactedScopes: List[str] = Field(
19
- ...,
20
- description="List of streams that are impacted by the breaking change.",
21
- min_items=1,
22
- )
23
-
24
-
25
- class BreakingChangeScope(BaseModel):
26
- __root__: StreamBreakingChangeScope = Field(
27
- ...,
28
- description="A scope that can be used to limit the impact of a breaking change.",
29
- )
30
-
31
-
32
- class VersionBreakingChange(BaseModel):
33
- class Config:
34
- extra = Extra.forbid
35
-
36
- upgradeDeadline: date = Field(
37
- ...,
38
- description="The deadline by which to upgrade before the breaking change takes effect.",
39
- )
40
- message: str = Field(
41
- ..., description="Descriptive message detailing the breaking change."
42
- )
43
- deadlineAction: Optional[Literal["auto_upgrade", "disable"]] = Field(
44
- None, description="Action to do when the deadline is reached."
45
- )
46
- migrationDocumentationUrl: Optional[AnyUrl] = Field(
47
- None,
48
- description="URL to documentation on how to migrate to the current version. Defaults to ${documentationUrl}-migrations#${version}",
49
- )
50
- scopedImpact: Optional[List[BreakingChangeScope]] = Field(
51
- None,
52
- 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.",
53
- min_items=1,
54
- )
55
-
56
-
57
- class ConnectorBreakingChanges(BaseModel):
58
- class Config:
59
- extra = Extra.forbid
60
-
61
- __root__: Dict[constr(regex=r"^\d+\.\d+\.\d+$"), VersionBreakingChange] = Field(
62
- ...,
63
- description="Each entry denotes a breaking change in a specific version of a connector that requires user action to upgrade.",
64
- title="ConnectorBreakingChanges",
65
- )
@@ -1,15 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: ConnectorBuildOptions.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from typing import Optional
7
-
8
- from pydantic import BaseModel, Extra
9
-
10
-
11
- class ConnectorBuildOptions(BaseModel):
12
- class Config:
13
- extra = Extra.forbid
14
-
15
- baseImage: Optional[str] = None
@@ -1,25 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: ConnectorIPCOptions.yaml
3
-
4
- from __future__ import annotations
5
-
6
- from typing import List
7
-
8
- from pydantic import BaseModel, Extra
9
- from typing_extensions import Literal
10
-
11
-
12
- class DataChannel(BaseModel):
13
- class Config:
14
- extra = Extra.forbid
15
-
16
- version: str
17
- supportedSerialization: List[Literal["JSONL", "PROTOBUF", "FLATBUFFERS"]]
18
- supportedTransport: List[Literal["STDIO", "SOCKET"]]
19
-
20
-
21
- class ConnectorIPCOptions(BaseModel):
22
- class Config:
23
- extra = Extra.forbid
24
-
25
- dataChannel: DataChannel