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.
- {airbyte_internal_ops-0.4.2.dist-info → airbyte_internal_ops-0.5.1.dist-info}/METADATA +2 -1
- {airbyte_internal_ops-0.4.2.dist-info → airbyte_internal_ops-0.5.1.dist-info}/RECORD +21 -129
- airbyte_ops_mcp/cli/cloud.py +31 -2
- airbyte_ops_mcp/cloud_admin/api_client.py +506 -33
- airbyte_ops_mcp/cloud_admin/models.py +56 -0
- airbyte_ops_mcp/constants.py +58 -0
- airbyte_ops_mcp/{_legacy/airbyte_ci/metadata_service/docker_hub.py → docker_hub.py} +16 -10
- airbyte_ops_mcp/mcp/cloud_connector_versions.py +491 -10
- airbyte_ops_mcp/mcp/prerelease.py +5 -44
- airbyte_ops_mcp/mcp/prod_db_queries.py +128 -4
- airbyte_ops_mcp/mcp/regression_tests.py +10 -5
- airbyte_ops_mcp/{_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py → metadata_validator.py} +18 -12
- airbyte_ops_mcp/prod_db_access/queries.py +51 -0
- airbyte_ops_mcp/prod_db_access/sql.py +76 -0
- airbyte_ops_mcp/regression_tests/ci_output.py +8 -4
- airbyte_ops_mcp/regression_tests/connection_fetcher.py +16 -5
- airbyte_ops_mcp/regression_tests/http_metrics.py +21 -2
- airbyte_ops_mcp/regression_tests/models.py +7 -1
- airbyte_ops_mcp/telemetry.py +162 -0
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/.gitignore +0 -1
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/README.md +0 -420
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/__init__.py +0 -2
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/__init__.py +0 -1
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/__init__.py +0 -8
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/base_backend.py +0 -16
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/duckdb_backend.py +0 -87
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/file_backend.py +0 -165
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connection_objects_retrieval.py +0 -377
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connector_runner.py +0 -247
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/errors.py +0 -7
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/evaluation_modes.py +0 -25
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/hacks.py +0 -23
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/json_schema_helper.py +0 -384
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/mitm_addons.py +0 -37
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/models.py +0 -595
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/proxy.py +0 -207
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/secret_access.py +0 -47
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/segment_tracking.py +0 -45
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/utils.py +0 -214
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/conftest.py.disabled +0 -751
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/consts.py +0 -4
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/poetry.lock +0 -4480
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/pytest.ini +0 -9
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/__init__.py +0 -1
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_check.py +0 -61
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_discover.py +0 -117
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_read.py +0 -627
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_spec.py +0 -43
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/report.py +0 -542
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/stash_keys.py +0 -38
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/__init__.py +0 -0
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/private_details.html.j2 +0 -305
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/report.html.j2 +0 -515
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/utils.py +0 -187
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/__init__.py +0 -0
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_check.py +0 -61
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_discover.py +0 -217
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_read.py +0 -177
- airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_spec.py +0 -631
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +0 -91
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +0 -48
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +0 -36
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +0 -54
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +0 -22
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +0 -18
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +0 -65
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +0 -15
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +0 -25
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +0 -897
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +0 -478
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +0 -24
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +0 -12
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +0 -407
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +0 -406
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +0 -407
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +0 -413
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +0 -98
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +0 -58
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +0 -62
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +0 -31
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +0 -23
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +0 -24
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +0 -111
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +0 -15
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +0 -23
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +0 -18
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +0 -29
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +0 -34
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +0 -22
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +0 -16
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +0 -18
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +0 -15
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +0 -14
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +0 -31
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +0 -30
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +0 -32
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +0 -13
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +0 -65
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +0 -10
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +0 -29
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +0 -172
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +0 -30
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +0 -9
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +0 -90
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +0 -35
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +0 -92
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +0 -18
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +0 -16
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +0 -28
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +0 -16
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +0 -21
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +0 -14
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +0 -21
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +0 -38
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +0 -11
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +0 -25
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +0 -16
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +0 -29
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +0 -19
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +0 -16
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +0 -17
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +0 -13
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +0 -10
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +0 -17
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +0 -62
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +0 -12
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +0 -71
- {airbyte_internal_ops-0.4.2.dist-info → airbyte_internal_ops-0.5.1.dist-info}/WHEEL +0 -0
- {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
|
airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py
DELETED
|
@@ -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
|